{
  "components": {
    "schemas": {
      "APIKey": {
        "description": "API Key response.",
        "properties": {
          "created_at": {
            "description": "When the API Key was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "expires_at": {
            "description": "When the API Key expires and is no longer valid.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "API Key ID.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "key": {
            "description": "API Key. Only returned on creation.",
            "example": "6r17s0jy_b0_RbSofrrNvawFQcaN-VbGtUM7cKCW7_k",
            "type": "string",
            "x-stainless-sensitive": true
          },
          "managed": {
            "description": "Whether this API key is system-managed.",
            "example": false,
            "type": "boolean"
          },
          "name": {
            "description": "API Key name.",
            "example": "My API Key",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "permissions": {
            "description": "Scoped permissions for this API key.",
            "items": {
              "$ref": "#/components/schemas/APIKeyPermission"
            },
            "type": "array",
            "uniqueItems": false
          },
          "project_ids": {
            "description": "Project IDs this API key is scoped to.",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "source_ip_rule": {
            "$ref": "#/components/schemas/SourceIPRuleResponse"
          },
          "starts_at": {
            "description": "When the API Key starts to be valid.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/APIKeyStatus"
          },
          "tags": {
            "description": "Tags to attach to the API Key.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the API Key was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "expires_at",
          "id",
          "managed",
          "name",
          "permissions",
          "project_ids",
          "source_ip_rule",
          "status",
          "tags",
          "updated_at"
        ],
        "type": "object"
      },
      "APIKeyCreateRequest": {
        "description": "API Key create request.",
        "properties": {
          "expires_at": {
            "description": "When the API Key expires and is no longer valid.",
            "example": "2025-12-31T23:59:59Z",
            "format": "date-time",
            "type": "string"
          },
          "name": {
            "description": "API Key name.",
            "example": "My API Key",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "permissions": {
            "description": "Scoped permissions for this API key. At least one is required.",
            "items": {
              "$ref": "#/components/schemas/APIKeyPermissionRequest"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": false
          },
          "project_ids": {
            "description": "Project IDs this API key is scoped to. At least one is required.",
            "example": [
              "123e4567-e89b-12d3-a456-426614174000",
              "123e4567-e89b-12d3-a456-426614174001"
            ],
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": false
          },
          "source_ip_rule": {
            "$ref": "#/components/schemas/SourceIPRule"
          },
          "starts_at": {
            "description": "When the API Key starts to be valid.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the API Key.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "expires_at",
          "name",
          "permissions",
          "project_ids"
        ],
        "type": "object"
      },
      "APIKeyPermission": {
        "description": "API Key permission.",
        "properties": {
          "permission": {
            "$ref": "#/components/schemas/APIKeyPermissionLevel"
          },
          "resource_type": {
            "$ref": "#/components/schemas/APIKeyPermissionResourceType"
          }
        },
        "required": [
          "permission",
          "resource_type"
        ],
        "type": "object"
      },
      "APIKeyPermissionLevel": {
        "description": "Permission level: \"read\" or \"edit\".",
        "enum": [
          "read",
          "edit"
        ],
        "example": "edit",
        "type": "string",
        "x-enum-varnames": [
          "PermissionLevelRead",
          "PermissionLevelEdit"
        ]
      },
      "APIKeyPermissionRequest": {
        "description": "API Key permission request.",
        "properties": {
          "permission": {
            "$ref": "#/components/schemas/APIKeyPermissionLevel"
          },
          "resource_type": {
            "$ref": "#/components/schemas/APIKeyPermissionResourceType"
          }
        },
        "required": [
          "permission",
          "resource_type"
        ],
        "type": "object"
      },
      "APIKeyPermissionResourceType": {
        "description": "Resource type this permission applies to.",
        "enum": [
          "vm",
          "vpc",
          "volume",
          "connect_connection",
          "rpc_node_dedicated",
          "rpc_node_flex",
          "nks_cluster",
          "nks_node_pool",
          "project",
          "api_key",
          "organization",
          "audit_log",
          "usage"
        ],
        "example": "vm",
        "type": "string",
        "x-enum-varnames": [
          "PermissionResourceTypeVM",
          "PermissionResourceTypeVPC",
          "PermissionResourceTypeVolume",
          "PermissionResourceTypeConnectConnection",
          "PermissionResourceTypeRPCNodeDedicated",
          "PermissionResourceTypeRPCNodeFlex",
          "PermissionResourceTypeNKSCluster",
          "PermissionResourceTypeNKSNodePool",
          "PermissionResourceTypeProject",
          "PermissionResourceTypeAPIKey",
          "PermissionResourceTypeOrganization",
          "PermissionResourceTypeAuditLog",
          "PermissionResourceTypeUsage"
        ]
      },
      "APIKeyStatus": {
        "description": "Status of the API Key.",
        "enum": [
          "active",
          "inactive",
          "expired"
        ],
        "example": "active",
        "type": "string",
        "x-enum-varnames": [
          "StatusActive",
          "StatusInactive",
          "StatusExpired"
        ]
      },
      "APIKeyUpdateRequest": {
        "description": "API Key update request.",
        "properties": {
          "name": {
            "description": "API Key name.",
            "example": "My Updated API Key",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "permissions": {
            "description": "Scoped permissions for this API key. When provided, replaces the entire set. At least one is required.",
            "items": {
              "$ref": "#/components/schemas/APIKeyPermissionRequest"
            },
            "type": "array",
            "uniqueItems": false
          },
          "project_ids": {
            "description": "Project IDs this API key is scoped to. When provided, replaces the entire set. At least one is required.",
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "source_ip_rule": {
            "$ref": "#/components/schemas/SourceIPRule"
          },
          "tags": {
            "description": "Tags to attach to the API Key.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "AuditLog": {
        "description": "Audit log entry.",
        "properties": {
          "action": {
            "description": "The action that was performed.",
            "example": "vm.created",
            "type": "string"
          },
          "actor": {
            "$ref": "#/components/schemas/AuditLogActor"
          },
          "client_ip": {
            "description": "Client IP address.",
            "example": "203.0.113.1",
            "type": "string"
          },
          "created_at": {
            "description": "When the action occurred.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the audit log entry.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "method": {
            "description": "HTTP method of the request.",
            "example": "GET",
            "type": "string"
          },
          "path": {
            "description": "Request path.",
            "example": "/v1/compute/vms",
            "type": "string"
          },
          "status_code": {
            "description": "HTTP status code of the response.",
            "example": 200,
            "type": "integer"
          },
          "target": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AuditLogTarget"
              },
              {
                "type": "null"
              }
            ]
          },
          "user_agent": {
            "description": "User agent string.",
            "example": "Mozilla/5.0",
            "type": "string"
          }
        },
        "required": [
          "action",
          "actor",
          "client_ip",
          "created_at",
          "id",
          "method",
          "path",
          "status_code",
          "user_agent"
        ],
        "type": "object"
      },
      "AuditLogActor": {
        "description": "The entity that performed the action.",
        "properties": {
          "id": {
            "description": "Unique identifier for the actor.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Display name of the actor.",
            "example": "Alice Smith",
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "$ref": "#/components/schemas/AuditLogActorType"
          }
        },
        "required": [
          "id",
          "name",
          "type"
        ],
        "type": "object"
      },
      "AuditLogActorType": {
        "description": "Type of actor.",
        "enum": [
          "user",
          "api_key"
        ],
        "example": "user",
        "type": "string",
        "x-enum-varnames": [
          "ActorTypeUser",
          "ActorTypeAPIKey"
        ]
      },
      "AuditLogTarget": {
        "description": "The target resource of the action.",
        "properties": {
          "id": {
            "description": "Unique identifier for the target resource.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "type": {
            "description": "Type of the target resource.",
            "example": "vm",
            "type": "string"
          }
        },
        "required": [
          "id",
          "type"
        ],
        "type": "object"
      },
      "AutomaticPolicyArgs": {
        "description": "PolicyArgs carries the threshold parameters. Required when policy is\n\"automatic\"; must be omitted when policy is \"manual\".",
        "properties": {
          "fixed": {
            "$ref": "#/components/schemas/Decimal"
          },
          "monthly_cap": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Decimal"
              },
              {
                "type": "null"
              }
            ]
          },
          "runway_days": {
            "$ref": "#/components/schemas/Decimal"
          }
        },
        "required": [
          "fixed",
          "runway_days"
        ],
        "type": "object"
      },
      "BillingHistoryEntry": {
        "description": "A single billing history line item: a prepaid credit or a manual adjustment.",
        "properties": {
          "amount": {
            "$ref": "#/components/schemas/Decimal"
          },
          "created_at": {
            "description": "When the entry was recorded.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "description": "ISO 4217 currency code.",
            "example": "USD",
            "type": "string"
          },
          "description": {
            "description": "Human-readable note describing the entry, when available.",
            "example": "Refund adjustment",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Unique identifier for the entry.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "purpose": {
            "description": "Why this entry exists: for a grant, the funding flow (\"first_charge\",\n\"auto_recharge\", \"manual_top_up\", \"manual_recharge\") or \"bonus_grant\" for\ncredit issued with no payment behind it; for an adjustment, the reason the\nbalance was reduced (\"refund\", \"dispute\", \"bonus_void\" for issued credit\nwithdrawn, \"bonus_expiry\" for credit that lapsed unspent). Null for\nadjustments with no recorded reason.",
            "enum": [
              "first_charge",
              "auto_recharge",
              "manual_top_up",
              "manual_recharge",
              "bonus_grant",
              "bonus_void",
              "bonus_expiry",
              "refund",
              "dispute",
              null
            ],
            "example": "auto_recharge",
            "type": [
              "string",
              "null"
            ]
          },
          "receipt_url": {
            "description": "Link to the hosted receipt for the payment behind this entry, when one is\navailable. Present for prepaid credits funded by a card charge; absent for\nmanual adjustments and while a payment's receipt is still being finalized.",
            "example": "https://pay.stripe.com/receipts/...",
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "$ref": "#/components/schemas/BillingHistoryEntryType"
          }
        },
        "required": [
          "amount",
          "created_at",
          "currency",
          "id",
          "type"
        ],
        "type": "object"
      },
      "BillingHistoryEntryType": {
        "description": "Kind of entry.",
        "enum": [
          "grant",
          "adjustment"
        ],
        "example": "grant",
        "type": "string",
        "x-enum-varnames": [
          "BillingHistoryEntryTypeGrant",
          "BillingHistoryEntryTypeAdjustment"
        ]
      },
      "BootVolumeCreateRequest": {
        "description": "Boot volume for the VM.",
        "properties": {
          "size": {
            "description": "Size of the Volume in GB.",
            "example": 100,
            "type": "integer"
          },
          "tags": {
            "description": "Tags to attach to the Volume.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType"
          }
        },
        "required": [
          "size",
          "type"
        ],
        "type": "object"
      },
      "CPUConfig": {
        "description": "CPU configuration for the VM.",
        "properties": {
          "vcpu": {
            "description": "Number of virtual CPUs.",
            "example": 2,
            "maximum": 192,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "vcpu"
        ],
        "type": "object"
      },
      "ConnectBandwidthMbps": {
        "description": "Connect Connection speed in Mbps",
        "enum": [
          50,
          200,
          500,
          1000,
          2000
        ],
        "example": 50,
        "type": "integer",
        "x-enum-varnames": [
          "BandwidthMbps50",
          "BandwidthMbps200",
          "BandwidthMbps500",
          "BandwidthMbps1000",
          "BandwidthMbps2000"
        ]
      },
      "ConnectConnection": {
        "description": "Connect Connection details.",
        "properties": {
          "asn": {
            "description": "ASN",
            "example": 64512,
            "type": [
              "integer",
              "null"
            ]
          },
          "aws": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/ConnectConnectionAWSConfig"
              },
              {
                "type": "null"
              }
            ]
          },
          "bandwidth_mbps": {
            "$ref": "#/components/schemas/ConnectBandwidthMbps"
          },
          "cidrs": {
            "description": "CIDRs for the Connect Connection",
            "example": [
              "10.0.0.0/16"
            ],
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": false
          },
          "created_at": {
            "description": "When the Connect Connection was created",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the Connect Connection",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Name of the Connect Connection",
            "example": "my-connect-connection",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID the Connect Connection belongs to",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "provider_asn": {
            "description": "Provider ASN",
            "example": 64513,
            "type": [
              "integer",
              "null"
            ]
          },
          "provider_cidrs": {
            "description": "Provider CIDRs for the Connect Connection",
            "example": [
              "172.16.0.0/16"
            ],
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": false
          },
          "provider_router_ip": {
            "description": "Provider Router IP for the Connect Connection",
            "example": "169.254.1.43",
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "router_ip": {
            "description": "Router IP",
            "example": "169.254.1.42",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "tags": {
            "description": "Tags to attach to the Connect Connection",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the Connect Connection was updated",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "asn",
          "aws",
          "bandwidth_mbps",
          "cidrs",
          "created_at",
          "id",
          "name",
          "project_id",
          "provider_asn",
          "provider_cidrs",
          "provider_router_ip",
          "region",
          "router_ip",
          "status",
          "tags",
          "updated_at"
        ],
        "type": "object"
      },
      "ConnectConnectionAWSConfig": {
        "description": "AWS provider configuration",
        "properties": {
          "region": {
            "description": "AWS region where the connection is established",
            "example": "us-east-1",
            "type": "string"
          }
        },
        "required": [
          "region"
        ],
        "type": "object"
      },
      "ConnectConnectionAWSConfigRequest": {
        "description": "AWS provider configuration",
        "properties": {
          "account_id": {
            "description": "AWS account id",
            "example": "523816707215",
            "maxLength": 12,
            "minLength": 12,
            "type": "string"
          },
          "region": {
            "description": "AWS region where the connection will be established",
            "example": "us-east-1",
            "type": "string"
          }
        },
        "required": [
          "account_id",
          "region"
        ],
        "type": "object"
      },
      "ConnectConnectionCreateRequest": {
        "description": "Connect Connection create request.",
        "properties": {
          "aws": {
            "$ref": "#/components/schemas/ConnectConnectionAWSConfigRequest"
          },
          "bandwidth_mbps": {
            "$ref": "#/components/schemas/ConnectBandwidthMbps"
          },
          "cidrs": {
            "description": "CIDRs for the Connect Connection. Must be in network-aligned/canonical form.",
            "example": [
              "10.0.0.0/16"
            ],
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": false
          },
          "name": {
            "description": "Name of the Connect Connection",
            "example": "my-connect-connection",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID the Connect Connection belongs to",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "provider_cidrs": {
            "description": "Provider CIDRs. Must be in network-aligned/canonical form.",
            "example": [
              "172.16.0.0/16"
            ],
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array",
            "uniqueItems": false
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "tags": {
            "description": "Tags to attach to the Connect Connection",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "bandwidth_mbps",
          "cidrs",
          "name",
          "project_id",
          "provider_cidrs",
          "region"
        ],
        "type": "object"
      },
      "ConnectConnectionUpdateRequest": {
        "description": "Connect Connection update request.",
        "properties": {
          "name": {
            "description": "Name of the Connect Connection.",
            "example": "my-connect-connection",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the Connect Connection",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "ConnectRoute": {
        "description": "Routes supported for Connect.",
        "properties": {
          "nirvana_region": {
            "$ref": "#/components/schemas/Region"
          },
          "provider": {
            "description": "Provider name.",
            "example": "aws",
            "type": "string"
          },
          "provider_region": {
            "description": "Provider region name.",
            "example": "us-east-1",
            "type": "string"
          }
        },
        "required": [
          "nirvana_region",
          "provider",
          "provider_region"
        ],
        "type": "object"
      },
      "CostQuoteBody": {
        "description": "Quote for the proposed (post-update) resource state.",
        "properties": {
          "monthly_total": {
            "$ref": "#/components/schemas/Decimal"
          },
          "usage_dimensions": {
            "description": "Priced rows, one per usage dimension emitted by the resource.",
            "items": {
              "$ref": "#/components/schemas/CostUsageDimension"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "monthly_total",
          "usage_dimensions"
        ],
        "type": "object"
      },
      "CostQuoteDiff": {
        "description": "Per-dimension and total deltas: after minus before.",
        "properties": {
          "monthly_total_delta": {
            "$ref": "#/components/schemas/Decimal"
          },
          "usage_dimensions": {
            "description": "Per-dimension diff entries. Includes every dimension touched by the update.",
            "items": {
              "$ref": "#/components/schemas/CostUsageDimensionDiff"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "monthly_total_delta",
          "usage_dimensions"
        ],
        "type": "object"
      },
      "CostQuoteResponse": {
        "description": "Cost quote returned by POST /cost. current_summary and updated_summary hold the org billing summary now and with this resource; omitted when the caller cannot view billing.",
        "properties": {
          "currency": {
            "description": "Currency the quote is denominated in. Always \"USD\" in v1.",
            "example": "USD",
            "type": "string"
          },
          "current_summary": {
            "$ref": "#/components/schemas/OrganizationBillingSummaryResponse"
          },
          "monthly_total": {
            "$ref": "#/components/schemas/Decimal"
          },
          "priced_at": {
            "description": "Timestamp the quote was priced at.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "updated_summary": {
            "$ref": "#/components/schemas/OrganizationBillingSummaryResponse"
          },
          "usage_dimensions": {
            "description": "Priced rows, one per usage dimension emitted by the resource.",
            "items": {
              "$ref": "#/components/schemas/CostUsageDimension"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "currency",
          "monthly_total",
          "priced_at",
          "usage_dimensions"
        ],
        "type": "object"
      },
      "CostQuoteUpdateResponse": {
        "description": "Cost quote returned by PATCH /:id/cost: current-state quote, post-update quote, and signed diff. current_summary and updated_summary omitted when the caller cannot view billing.",
        "properties": {
          "after": {
            "$ref": "#/components/schemas/CostQuoteBody"
          },
          "before": {
            "$ref": "#/components/schemas/CostQuoteBody"
          },
          "currency": {
            "description": "Currency the quote is denominated in. Always \"USD\" in v1.",
            "example": "USD",
            "type": "string"
          },
          "current_summary": {
            "$ref": "#/components/schemas/OrganizationBillingSummaryResponse"
          },
          "diff": {
            "$ref": "#/components/schemas/CostQuoteDiff"
          },
          "priced_at": {
            "description": "Timestamp the quote was priced at.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "updated_summary": {
            "$ref": "#/components/schemas/OrganizationBillingSummaryResponse"
          }
        },
        "required": [
          "after",
          "before",
          "currency",
          "diff",
          "priced_at"
        ],
        "type": "object"
      },
      "CostUsageDimension": {
        "description": "Priced row for a single usage dimension emitted by a resource.",
        "properties": {
          "dimension": {
            "description": "Usage dimension being priced (e.g. compute_vcpu, storage_abs_gb).",
            "example": "compute_vcpu",
            "type": "string"
          },
          "dimension_display_name": {
            "description": "User-facing label for the dimension (e.g. \"vCPU (hours)\").",
            "example": "vCPU (hours)",
            "type": "string"
          },
          "monthly_amount": {
            "$ref": "#/components/schemas/Decimal"
          },
          "quantity": {
            "description": "Quantity of the dimension being priced.",
            "example": 4,
            "type": "integer"
          },
          "unit_price": {
            "$ref": "#/components/schemas/Decimal"
          }
        },
        "required": [
          "dimension",
          "dimension_display_name",
          "monthly_amount",
          "quantity",
          "unit_price"
        ],
        "type": "object"
      },
      "CostUsageDimensionBody": {
        "description": "Priced row after the update. Always present.",
        "properties": {
          "monthly_amount": {
            "$ref": "#/components/schemas/Decimal"
          },
          "quantity": {
            "example": 4,
            "type": "integer"
          },
          "unit_price": {
            "$ref": "#/components/schemas/Decimal"
          }
        },
        "required": [
          "monthly_amount",
          "quantity",
          "unit_price"
        ],
        "type": "object"
      },
      "CostUsageDimensionDiff": {
        "description": "Per-dimension diff entry. Both before and after are always present.",
        "properties": {
          "after": {
            "$ref": "#/components/schemas/CostUsageDimensionBody"
          },
          "before": {
            "$ref": "#/components/schemas/CostUsageDimensionBody"
          },
          "dimension": {
            "description": "Usage dimension being priced (e.g. compute_vcpu, storage_abs_gb).",
            "example": "compute_vcpu",
            "type": "string"
          },
          "dimension_display_name": {
            "description": "User-facing label for the dimension (e.g. \"vCPU (hours)\").",
            "example": "vCPU (hours)",
            "type": "string"
          },
          "monthly_amount_delta": {
            "$ref": "#/components/schemas/Decimal"
          }
        },
        "required": [
          "after",
          "before",
          "dimension",
          "dimension_display_name",
          "monthly_amount_delta"
        ],
        "type": "object"
      },
      "DailyCostPoint": {
        "description": "Total usage cost for a single UTC day.",
        "properties": {
          "cost": {
            "$ref": "#/components/schemas/Decimal"
          },
          "date": {
            "description": "UTC calendar day (YYYY-MM-DD).",
            "example": "2026-07-07",
            "type": "string"
          }
        },
        "required": [
          "cost",
          "date"
        ],
        "type": "object"
      },
      "Decimal": {
        "description": "Arbitrary-precision decimal serialized as a string (e.g. \"58.40\").",
        "format": "decimal",
        "pattern": "^-?[0-9]+(\\.[0-9]+)?$",
        "type": "string"
      },
      "ErrorContext": {
        "properties": {
          "parameters": {
            "additionalProperties": {},
            "type": "object"
          }
        },
        "type": "object"
      },
      "FirewallRule": {
        "description": "Firewall rule details.",
        "properties": {
          "created_at": {
            "description": "When the Firewall Rule was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "destination_address": {
            "description": "Destination address of the Firewall Rule. Either VPC CIDR or VM in VPC.",
            "example": "10.0.0.0/25",
            "type": "string"
          },
          "destination_ports": {
            "description": "Destination ports of the Firewall Rule.",
            "example": [
              "22",
              "80",
              "443"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "id": {
            "description": "Unique identifier for the Firewall Rule.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Name of the Firewall Rule.",
            "example": "my-firewall-rule",
            "type": "string"
          },
          "protocol": {
            "$ref": "#/components/schemas/Protocol"
          },
          "source_address": {
            "description": "Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0.",
            "example": "0.0.0.0/0",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "tags": {
            "description": "Tags to attach to the Firewall Rule.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the Firewall Rule was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "vpc_id": {
            "description": "ID of the VPC the Firewall Rule belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "destination_address",
          "destination_ports",
          "id",
          "name",
          "protocol",
          "source_address",
          "status",
          "tags",
          "updated_at",
          "vpc_id"
        ],
        "type": "object"
      },
      "FirewallRuleCreateRequest": {
        "description": "Firewall Rule create request.",
        "properties": {
          "destination_address": {
            "description": "Destination address of the Firewall Rule. Either VPC CIDR or VM in VPC. Must be in network-aligned/canonical form.",
            "example": "10.0.0.0/25",
            "type": "string"
          },
          "destination_ports": {
            "description": "Destination ports of the Firewall Rule.",
            "example": [
              "22",
              "80",
              "443"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "name": {
            "description": "Name of the Firewall Rule.",
            "example": "my-firewall-rule",
            "type": "string"
          },
          "protocol": {
            "$ref": "#/components/schemas/Protocol"
          },
          "source_address": {
            "description": "Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0. Must be in network-aligned/canonical form.",
            "example": "0.0.0.0/0",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the Firewall Rule.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "destination_address",
          "destination_ports",
          "name",
          "protocol",
          "source_address"
        ],
        "type": "object"
      },
      "FirewallRuleUpdateRequest": {
        "description": "Firewall Rule update request.",
        "properties": {
          "destination_address": {
            "description": "Destination address of the Firewall Rule. Either VPC CIDR or VM in VPC. Must be in network-aligned/canonical form.",
            "example": "10.0.0.0/25",
            "type": "string"
          },
          "destination_ports": {
            "description": "Destination ports of the Firewall Rule.",
            "example": [
              "22",
              "80",
              "443"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "name": {
            "description": "Name of the Firewall Rule.",
            "example": "my-firewall-rule",
            "type": "string"
          },
          "protocol": {
            "$ref": "#/components/schemas/Protocol"
          },
          "source_address": {
            "description": "Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0. Must be in network-aligned/canonical form.",
            "example": "0.0.0.0/0",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the Firewall Rule.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "HTTPError": {
        "properties": {
          "context": {
            "$ref": "#/components/schemas/ErrorContext"
          },
          "message": {
            "example": "invalid id format",
            "type": "string"
          },
          "request_id": {
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "timestamp": {
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "type": {
            "example": "VALIDATION_ERROR",
            "type": "string"
          }
        },
        "required": [
          "context",
          "message",
          "request_id",
          "timestamp",
          "type"
        ],
        "type": "object"
      },
      "InstanceType": {
        "description": "Instance type.",
        "properties": {
          "chipset": {
            "example": "amd-epyc-9354p",
            "type": "string"
          },
          "created_at": {
            "description": "When the Instance Type was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "family": {
            "example": "standard",
            "type": "string"
          },
          "memory_gb": {
            "example": 32,
            "type": "integer"
          },
          "name": {
            "example": "n1-standard-8",
            "type": "string"
          },
          "network_bandwidth_gbps": {
            "description": "Network bandwidth in Gbps.",
            "example": 1,
            "type": "number"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "series": {
            "example": "n1",
            "type": "string"
          },
          "updated_at": {
            "description": "When the Instance Type was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "vcpu": {
            "example": 8,
            "type": "integer"
          }
        },
        "required": [
          "chipset",
          "created_at",
          "family",
          "memory_gb",
          "name",
          "network_bandwidth_gbps",
          "region",
          "series",
          "updated_at",
          "vcpu"
        ],
        "type": "object"
      },
      "List-APIKey": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/APIKey"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-AuditLog": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AuditLog"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-BillingHistoryEntry": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/BillingHistoryEntry"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-ConnectConnection": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ConnectConnection"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-ConnectRoute": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/ConnectRoute"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-FirewallRule": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/FirewallRule"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-InstanceType": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/InstanceType"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-NKSCluster": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NKSCluster"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-NKSController": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NKSController"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-NKSControllerVolume": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NKSControllerVolume"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-NKSKubernetesVersion": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NKSKubernetesVersion"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-NKSLoadBalancer": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NKSLoadBalancer"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-NKSNode": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NKSNode"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-NKSNodePool": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NKSNodePool"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-NKSNodeVolume": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NKSNodeVolume"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-NKSPersistentVolumeClaim": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/NKSPersistentVolumeClaim"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-OSImage": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/OSImage"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-Operation": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Operation"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-Organization": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Organization"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-OrganizationMembership": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/OrganizationMembership"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-Project": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Project"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-QuotaResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/QuotaResponse"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-RPCNodeDedicated": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RPCNodeDedicated"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-RPCNodeDedicatedBlockchain": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RPCNodeDedicatedBlockchain"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-RPCNodeFlex": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RPCNodeFlex"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-RPCNodeFlexBlockchain": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RPCNodeFlexBlockchain"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-RegionResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RegionResponse"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-UsageResponse": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/UsageResponse"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-VM": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/VM"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-VMMetricDescriptor": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/VMMetricDescriptor"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-VPC": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/VPC"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "List-Volume": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Volume"
            },
            "type": "array",
            "uniqueItems": false
          },
          "pagination": {
            "$ref": "#/components/schemas/Pagination"
          }
        },
        "required": [
          "items",
          "pagination"
        ],
        "type": "object"
      },
      "MemoryConfig": {
        "description": "Memory configuration for the VM.",
        "properties": {
          "size": {
            "description": "Size of the memory in GB.",
            "example": 2,
            "maximum": 768,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "size"
        ],
        "type": "object"
      },
      "NKSCluster": {
        "description": "NKS Cluster details.",
        "properties": {
          "autoscaling": {
            "description": "Whether autoscaling is enabled for the Cluster.",
            "example": true,
            "type": "boolean"
          },
          "created_at": {
            "description": "When the Cluster was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the Cluster.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "kubernetes_version": {
            "description": "Kubernetes version of the Cluster.",
            "example": "v1.34.4",
            "type": "string"
          },
          "name": {
            "description": "Name of the Cluster.",
            "example": "my-cluster",
            "type": "string"
          },
          "pool_ids": {
            "description": "IDs of pools belonging to this Cluster.",
            "example": [
              "123e4567-e89b-12d3-a456-426614174000"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "private_ip": {
            "description": "Private IP (VIP) of the Cluster.",
            "example": "10.0.0.254",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID the Cluster belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "public_ip": {
            "description": "Public IP of the Cluster.",
            "example": "198.51.100.1",
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "tags": {
            "description": "Tags attached to the Cluster.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the Cluster was last updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "vpc_id": {
            "description": "ID of the VPC the Cluster is in.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          }
        },
        "required": [
          "autoscaling",
          "created_at",
          "id",
          "kubernetes_version",
          "name",
          "pool_ids",
          "private_ip",
          "project_id",
          "public_ip",
          "region",
          "status",
          "tags",
          "updated_at",
          "vpc_id"
        ],
        "type": "object"
      },
      "NKSClusterCreateRequest": {
        "description": "NKS Cluster create request.",
        "properties": {
          "autoscaling": {
            "description": "Whether to enable autoscaling for the Cluster.",
            "example": true,
            "type": "boolean"
          },
          "kubernetes_version": {
            "description": "Kubernetes version for the Cluster.",
            "example": "v1.34.4",
            "type": "string"
          },
          "name": {
            "description": "Name of the Cluster.",
            "example": "my-cluster",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID to create the Cluster in.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "tags": {
            "description": "Tags to attach to the Cluster.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          },
          "vpc_id": {
            "description": "ID of the VPC to use for the Cluster.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          }
        },
        "required": [
          "autoscaling",
          "kubernetes_version",
          "name",
          "project_id",
          "region",
          "vpc_id"
        ],
        "type": "object"
      },
      "NKSClusterUpdateRequest": {
        "description": "NKS Cluster update request.",
        "properties": {
          "autoscaling": {
            "description": "Whether to enable autoscaling for the Cluster.",
            "example": true,
            "type": "boolean"
          },
          "name": {
            "description": "Name of the Cluster.",
            "example": "my-cluster",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the Cluster.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "NKSController": {
        "description": "NKS controller details.",
        "properties": {
          "created_at": {
            "description": "When the controller was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the controller.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "instance_type": {
            "description": "Instance type name.",
            "example": "n1-standard-8",
            "type": "string"
          },
          "name": {
            "description": "Name of the controller.",
            "example": "my-controller-0",
            "type": "string"
          },
          "private_ip": {
            "description": "Private IP address of the controller.",
            "example": "10.0.0.10",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "updated_at": {
            "description": "When the controller was last updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "id",
          "instance_type",
          "name",
          "private_ip",
          "status",
          "updated_at"
        ],
        "type": "object"
      },
      "NKSControllerVolume": {
        "description": "NKS controller volume details.",
        "properties": {
          "created_at": {
            "description": "When the volume was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the volume.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/VolumeKind"
          },
          "name": {
            "description": "Name of the volume.",
            "example": "my-volume",
            "type": "string"
          },
          "size": {
            "description": "Size of the volume in GB.",
            "example": 100,
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType"
          },
          "updated_at": {
            "description": "When the volume was last updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "id",
          "kind",
          "name",
          "size",
          "status",
          "type",
          "updated_at"
        ],
        "type": "object"
      },
      "NKSKubeconfig": {
        "description": "Kubeconfig for an NKS Cluster.",
        "properties": {
          "kubeconfig": {
            "description": "Kubeconfig content for the Cluster.",
            "type": "string",
            "x-stainless-sensitive": true
          }
        },
        "required": [
          "kubeconfig"
        ],
        "type": "object"
      },
      "NKSKubernetesVersion": {
        "description": "NKS Kubernetes version details.",
        "properties": {
          "created_at": {
            "description": "When the Kubernetes version was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "display_name": {
            "description": "Display name of the Kubernetes version.",
            "example": "Kubernetes v1.34.4",
            "type": "string"
          },
          "name": {
            "description": "Name of the Kubernetes version.",
            "example": "v1.34.4",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "display_name",
          "name"
        ],
        "type": "object"
      },
      "NKSLoadBalancer": {
        "description": "NKS load balancer details.",
        "properties": {
          "cluster_id": {
            "description": "Cluster this load balancer belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "created_at": {
            "description": "When the load balancer was first discovered.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the load balancer.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "namespace": {
            "description": "Kubernetes namespace of the load balancer.",
            "example": "default",
            "type": "string"
          },
          "private_ip": {
            "description": "Private IP address of the load balancer.",
            "example": "10.0.0.50",
            "type": [
              "string",
              "null"
            ]
          },
          "public_ip": {
            "description": "Public IP address assigned to this load balancer.",
            "example": "198.51.100.10",
            "type": [
              "string",
              "null"
            ]
          },
          "public_ip_enabled": {
            "description": "Whether a public IP is enabled for this load balancer.",
            "example": false,
            "type": "boolean"
          },
          "service_name": {
            "description": "Kubernetes service name of the load balancer.",
            "example": "my-service",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "updated_at": {
            "description": "When the load balancer was last updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "cluster_id",
          "created_at",
          "id",
          "namespace",
          "private_ip",
          "public_ip",
          "public_ip_enabled",
          "service_name",
          "status",
          "updated_at"
        ],
        "type": "object"
      },
      "NKSLoadBalancerUpdateRequest": {
        "description": "NKS load balancer update request.",
        "properties": {
          "public_ip_enabled": {
            "description": "Whether to enable a public IP for this load balancer.",
            "example": true,
            "type": "boolean"
          }
        },
        "required": [
          "public_ip_enabled"
        ],
        "type": "object"
      },
      "NKSNode": {
        "description": "NKS node details.",
        "properties": {
          "created_at": {
            "description": "When the node was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the node.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Name of the node.",
            "example": "my-node-0",
            "type": "string"
          },
          "private_ip": {
            "description": "Private IP address of the node.",
            "example": "10.0.0.10",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "updated_at": {
            "description": "When the node was last updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "id",
          "name",
          "private_ip",
          "status",
          "updated_at"
        ],
        "type": "object"
      },
      "NKSNodePool": {
        "description": "NKS node pool details.",
        "properties": {
          "cluster_id": {
            "description": "ID of the Cluster this node pool belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "created_at": {
            "description": "When the node pool was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the node pool.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Name of the node pool.",
            "example": "my-node-pool",
            "type": "string"
          },
          "node_config": {
            "$ref": "#/components/schemas/NKSNodePoolNodeConfigResponse"
          },
          "node_count": {
            "description": "Number of nodes.",
            "example": 3,
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "tags": {
            "description": "Tags attached to the node pool.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the node pool was last updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "cluster_id",
          "created_at",
          "id",
          "name",
          "node_config",
          "node_count",
          "status",
          "tags",
          "updated_at"
        ],
        "type": "object"
      },
      "NKSNodePoolBootVolume": {
        "description": "Boot volume configuration.",
        "properties": {
          "size": {
            "description": "Size of the boot volume in GB.",
            "example": 100,
            "maximum": 512,
            "minimum": 64,
            "type": "integer"
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType"
          }
        },
        "required": [
          "size",
          "type"
        ],
        "type": "object"
      },
      "NKSNodePoolBootVolumeResponse": {
        "description": "Boot volume configuration.",
        "properties": {
          "size": {
            "description": "Size of the boot volume in GB.",
            "example": 100,
            "maximum": 512,
            "minimum": 64,
            "type": "integer"
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType"
          }
        },
        "required": [
          "size",
          "type"
        ],
        "type": "object"
      },
      "NKSNodePoolCreateRequest": {
        "description": "NKS node pool create request.",
        "properties": {
          "name": {
            "description": "Name of the node pool.",
            "example": "my-node-pool",
            "type": "string"
          },
          "node_config": {
            "$ref": "#/components/schemas/NKSNodePoolNodeConfig"
          },
          "node_count": {
            "description": "Number of nodes. Must be between 0 and 100.",
            "example": 3,
            "maximum": 100,
            "minimum": 0,
            "type": "integer"
          },
          "tags": {
            "description": "Tags to attach to the node pool.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "name",
          "node_config"
        ],
        "type": "object"
      },
      "NKSNodePoolNodeConfig": {
        "description": "Node configuration.",
        "properties": {
          "boot_volume": {
            "$ref": "#/components/schemas/NKSNodePoolBootVolume"
          },
          "instance_type": {
            "description": "Instance type name used for worker nodes. Immutable after pool creation.",
            "example": "n1-standard-8",
            "type": "string"
          },
          "labels": {
            "description": "Kubernetes labels to apply to each node in the pool. Each entry is \"key=value\".\nKeys under kubernetes.io, k8s.io, and nirvanalabs.io prefixes are reserved.\nImmutable after pool creation.",
            "example": [
              "env=prod",
              "team=platform"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          },
          "taints": {
            "description": "Kubernetes taints to apply to each node in the pool at creation time.\nEach entry is \"key=value:Effect\" where Effect is NoSchedule, PreferNoSchedule, or NoExecute.\nImmutable after pool creation.",
            "example": [
              "dedicated=gpu:NoSchedule"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "boot_volume",
          "instance_type"
        ],
        "type": "object"
      },
      "NKSNodePoolNodeConfigResponse": {
        "description": "Node configuration.",
        "properties": {
          "boot_volume": {
            "$ref": "#/components/schemas/NKSNodePoolBootVolumeResponse"
          },
          "instance_type": {
            "description": "Instance type name.",
            "example": "n1-standard-8",
            "type": "string"
          },
          "labels": {
            "description": "Kubernetes labels applied to each node in the pool. Each entry is \"key=value\".",
            "example": [
              "env=prod",
              "team=platform"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "taints": {
            "description": "Kubernetes taints applied to each node in the pool. Each entry is \"key=value:Effect\".",
            "example": [
              "dedicated=gpu:NoSchedule"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "boot_volume",
          "instance_type",
          "labels",
          "taints"
        ],
        "type": "object"
      },
      "NKSNodePoolUpdateRequest": {
        "description": "NKS node pool update request. Instance type, labels, and taints are immutable after pool creation and cannot be updated.",
        "properties": {
          "name": {
            "description": "Name of the node pool.",
            "example": "my-node-pool",
            "type": "string"
          },
          "node_count": {
            "description": "Number of nodes.",
            "example": 5,
            "maximum": 100,
            "minimum": 0,
            "type": "integer"
          },
          "tags": {
            "description": "Tags to attach to the node pool.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "NKSNodeVolume": {
        "description": "NKS node volume details.",
        "properties": {
          "created_at": {
            "description": "When the volume was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the volume.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/VolumeKind"
          },
          "name": {
            "description": "Name of the volume.",
            "example": "my-volume",
            "type": "string"
          },
          "node_id": {
            "description": "Unique identifier of the node the volume is attached to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "size": {
            "description": "Size of the volume in GB.",
            "example": 100,
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType"
          },
          "updated_at": {
            "description": "When the volume was last updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "id",
          "kind",
          "name",
          "node_id",
          "size",
          "status",
          "type",
          "updated_at"
        ],
        "type": "object"
      },
      "NKSPersistentVolumeClaim": {
        "description": "NKS persistent volume claim details.",
        "properties": {
          "cluster_id": {
            "description": "Cluster this persistent volume claim belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "created_at": {
            "description": "When the persistent volume claim was first discovered.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the persistent volume claim.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Name of the persistent volume claim.",
            "example": "my-volume",
            "type": "string"
          },
          "size": {
            "description": "Size of the persistent volume claim in GB.",
            "example": 100,
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType"
          },
          "updated_at": {
            "description": "When the persistent volume claim was last updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "cluster_id",
          "created_at",
          "id",
          "name",
          "size",
          "status",
          "type",
          "updated_at"
        ],
        "type": "object"
      },
      "OSImage": {
        "description": "OS Image details.",
        "properties": {
          "created_at": {
            "description": "When the OS Image was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "display_name": {
            "description": "Display name of the OS Image.",
            "example": "Ubuntu 24.04 (Noble)",
            "type": "string"
          },
          "name": {
            "description": "Name of the OS Image.",
            "example": "ubuntu-noble-2026-05-18",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "display_name",
          "name"
        ],
        "type": "object"
      },
      "Operation": {
        "description": "Operation details.",
        "properties": {
          "created_at": {
            "description": "When the Operation was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string",
            "x-stainless-skip": [
              "terraform"
            ]
          },
          "details": {
            "description": "Structured details about what this Operation is changing.",
            "oneOf": [
              {
                "$ref": "#/components/schemas/OperationDetails"
              },
              {
                "type": "null"
              }
            ],
            "x-stainless-skip": [
              "terraform"
            ]
          },
          "id": {
            "description": "Unique identifier for the Operation.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/OperationKind"
          },
          "project_id": {
            "description": "Project ID the Operation belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "resource_id": {
            "description": "ID of the resource that the Operation is acting on.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string",
            "x-stainless-skip": [
              "terraform"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/OperationStatus"
          },
          "type": {
            "$ref": "#/components/schemas/OperationType"
          },
          "updated_at": {
            "description": "When the Operation was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string",
            "x-stainless-skip": [
              "terraform"
            ]
          }
        },
        "required": [
          "created_at",
          "details",
          "id",
          "kind",
          "project_id",
          "resource_id",
          "status",
          "type",
          "updated_at"
        ],
        "type": "object"
      },
      "OperationChanges": {
        "additionalProperties": {
          "$ref": "#/components/schemas/OperationFieldDiff"
        },
        "description": "Map of changed field names to their from/to diffs. Keys depend on the parent operation's kind+type.",
        "type": "object"
      },
      "OperationDetails": {
        "description": "Structured details about what an operation is changing.",
        "properties": {
          "changes": {
            "$ref": "#/components/schemas/OperationChanges"
          }
        },
        "required": [
          "changes"
        ],
        "type": "object"
      },
      "OperationFieldDiff": {
        "description": "A single field's before/after pair on an operation. Values are scalars (string, number, boolean) or string arrays.",
        "properties": {
          "from": {
            "description": "Previous value.",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          },
          "to": {
            "description": "New value.",
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "number"
              },
              {
                "type": "boolean"
              },
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            ]
          }
        },
        "required": [
          "from",
          "to"
        ],
        "type": "object"
      },
      "OperationKind": {
        "description": "Kind of Operation.",
        "enum": [
          "vm",
          "volume",
          "vpc",
          "firewall_rule",
          "nks_cluster",
          "nks_node_pool"
        ],
        "example": "vm",
        "type": "string",
        "x-stainless-skip": [
          "terraform"
        ]
      },
      "OperationStatus": {
        "description": "Status of the Operation.",
        "enum": [
          "pending",
          "running",
          "done",
          "failed",
          "unknown"
        ],
        "example": "pending",
        "type": "string",
        "x-stainless-skip": [
          "terraform"
        ]
      },
      "OperationType": {
        "description": "Type of Operation.",
        "enum": [
          "create",
          "update",
          "delete",
          "restart"
        ],
        "example": "create",
        "type": "string",
        "x-stainless-skip": [
          "terraform"
        ]
      },
      "Organization": {
        "description": "Organization response.",
        "properties": {
          "auth_id": {
            "description": "Authentication provider organization ID.",
            "example": "org_01H8GQBX3Z",
            "type": "string"
          },
          "billing_email": {
            "description": "Billing email. Null when no custom billing email is set (reverts to the oldest owner's email).",
            "example": "billing@example.com",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_state": {
            "$ref": "#/components/schemas/OrganizationBillingState"
          },
          "billing_state_since": {
            "description": "When the organization entered its current billing state.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "charging_model": {
            "$ref": "#/components/schemas/OrganizationChargingModel"
          },
          "created_at": {
            "description": "When the Organization was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "domains": {
            "description": "Domains associated with the organization.",
            "items": {
              "$ref": "#/components/schemas/OrganizationDomain"
            },
            "type": "array",
            "uniqueItems": false
          },
          "id": {
            "description": "Organization ID.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Organization name.",
            "example": "My Organization",
            "type": "string"
          },
          "personal": {
            "description": "Whether the organization is a personal Organization.",
            "example": false,
            "type": "boolean"
          },
          "services": {
            "$ref": "#/components/schemas/OrganizationServices"
          },
          "stripe_customer_id": {
            "description": "Stripe customer ID.",
            "example": "cus_1234567890",
            "type": [
              "string",
              "null"
            ]
          },
          "type": {
            "$ref": "#/components/schemas/OrganizationType"
          },
          "updated_at": {
            "description": "When the Organization was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "billing_email",
          "billing_state",
          "billing_state_since",
          "charging_model",
          "created_at",
          "domains",
          "id",
          "name",
          "personal",
          "services",
          "stripe_customer_id",
          "type",
          "updated_at"
        ],
        "type": "object"
      },
      "OrganizationAddress": {
        "description": "Organization address details.",
        "properties": {
          "city": {
            "description": "City or locality.",
            "example": "San Francisco",
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO 3166-1 alpha-2 country code.",
            "example": "US",
            "type": "string"
          },
          "created_at": {
            "description": "When the address was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Address ID.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "line1": {
            "description": "First line of the street address.",
            "example": "123 Main St",
            "type": "string"
          },
          "line2": {
            "description": "Second line of the street address. Null when not provided.",
            "example": "Suite 400",
            "type": [
              "string",
              "null"
            ]
          },
          "organization_id": {
            "description": "Organization ID the address belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "postal_code": {
            "description": "Postal or ZIP code.",
            "example": "94105",
            "type": "string"
          },
          "state": {
            "description": "State, province, or region. Null when not provided.",
            "example": "CA",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_id": {
            "description": "Tax identification number. Null when not provided.",
            "example": "EU372000000",
            "type": [
              "string",
              "null"
            ]
          },
          "tax_id_type": {
            "description": "Type of the tax identification number. Null when not provided.",
            "example": "eu_vat",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "description": "When the address was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "city",
          "country",
          "created_at",
          "id",
          "line1",
          "line2",
          "organization_id",
          "postal_code",
          "state",
          "tax_id",
          "tax_id_type",
          "updated_at"
        ],
        "type": "object"
      },
      "OrganizationAddressCreateRequest": {
        "description": "Organization address create request.",
        "properties": {
          "city": {
            "description": "City or locality.",
            "example": "San Francisco",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO 3166-1 alpha-2 country code.",
            "example": "US",
            "type": "string"
          },
          "line1": {
            "description": "First line of the street address.",
            "example": "123 Main St",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "line2": {
            "description": "Second line of the street address (suite, unit, building).",
            "example": "Suite 400",
            "maxLength": 255,
            "type": "string"
          },
          "postal_code": {
            "description": "Postal or ZIP code.",
            "example": "94105",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "state": {
            "description": "State, province, or region. Required by some tax jurisdictions (e.g. US, CA).",
            "example": "CA",
            "maxLength": 255,
            "type": "string"
          },
          "tax_id": {
            "description": "Tax identification number (e.g. VAT, EIN, ABN). Optional.",
            "example": "EU372000000",
            "maxLength": 255,
            "type": "string"
          },
          "tax_id_type": {
            "description": "Type of the tax identification number (e.g. eu_vat, us_ein, gb_vat, au_abn). Optional.",
            "example": "eu_vat",
            "maxLength": 255,
            "type": "string"
          }
        },
        "required": [
          "city",
          "country",
          "line1",
          "postal_code"
        ],
        "type": "object"
      },
      "OrganizationAddressUpdateRequest": {
        "description": "Organization address update request. Omitted fields are left unchanged. Optional fields accept an explicit null to clear them.",
        "properties": {
          "city": {
            "description": "City or locality.",
            "example": "San Francisco",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "country": {
            "description": "Two-letter ISO 3166-1 alpha-2 country code.",
            "example": "US",
            "type": "string"
          },
          "line1": {
            "description": "First line of the street address.",
            "example": "123 Main St",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "line2": {
            "description": "Second line of the street address (suite, unit, building). Omit to leave\nunchanged, send null to clear, or send a value to set it.",
            "example": "Suite 400",
            "maxLength": 255,
            "type": [
              "string",
              "null"
            ]
          },
          "postal_code": {
            "description": "Postal or ZIP code.",
            "example": "94105",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "state": {
            "description": "State, province, or region. Omit to leave unchanged, send null to clear,\nor send a value to set it.",
            "example": "CA",
            "maxLength": 255,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_id": {
            "description": "Tax identification number (e.g. VAT, EIN, ABN). Omit to leave unchanged,\nsend null to clear, or send a value to set it.",
            "example": "EU372000000",
            "maxLength": 255,
            "type": [
              "string",
              "null"
            ]
          },
          "tax_id_type": {
            "description": "Type of the tax identification number (e.g. eu_vat, us_ein, gb_vat, au_abn).\nOmit to leave unchanged, send null to clear, or send a value to set it.",
            "example": "eu_vat",
            "maxLength": 255,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "OrganizationBillingState": {
        "description": "Organization billing lifecycle state.",
        "enum": [
          "unfunded",
          "active",
          "requires_action",
          "suspended",
          "closed"
        ],
        "example": "active",
        "type": "string",
        "x-enum-varnames": [
          "BillingStateUnfunded",
          "BillingStateActive",
          "BillingStateRequiresAction",
          "BillingStateSuspended",
          "BillingStateClosed"
        ]
      },
      "OrganizationBillingSummaryResponse": {
        "description": "Forward-looking billing summary for an organization. All costs are run-rate projections from the organization's current active usage (\"≈ $X/mo at current usage\").",
        "properties": {
          "daily_cost": {
            "$ref": "#/components/schemas/Decimal"
          },
          "effective_balance": {
            "$ref": "#/components/schemas/Decimal"
          },
          "estimated_next_charge_at": {
            "description": "Projected date the balance reaches the recharge threshold at the current run-rate. Null when there is no active usage (never charges).",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "monthly_cost": {
            "$ref": "#/components/schemas/Decimal"
          },
          "recharge_threshold_days": {
            "$ref": "#/components/schemas/Decimal"
          },
          "runway_months": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Decimal"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "daily_cost",
          "effective_balance",
          "monthly_cost",
          "recharge_threshold_days"
        ],
        "type": "object"
      },
      "OrganizationBillingTopUpRequest": {
        "description": "Customer-initiated prepaid top-up. The organization's card on file is charged for the amount and the prepaid balance is credited on success.",
        "properties": {
          "amount": {
            "description": "Amount to charge and credit, in USD. Must be greater than 0, at most two decimal places, and at most 10000.",
            "example": "50.00",
            "format": "decimal",
            "pattern": "^0*(10000(\\.0+)?|[1-9][0-9]{0,3}(\\.[0-9]{1,2}0*)?|\\.(0[1-9]|[1-9][0-9]?)0*)$",
            "type": "string"
          }
        },
        "required": [
          "amount"
        ],
        "type": "object"
      },
      "OrganizationChargingModel": {
        "description": "How the organization is charged for resource usage.",
        "enum": [
          "manual",
          "prepaid"
        ],
        "example": "prepaid",
        "type": "string",
        "x-enum-varnames": [
          "ChargingModelManual",
          "ChargingModelPrepaid"
        ]
      },
      "OrganizationCreateRequest": {
        "description": "Organization create request.",
        "properties": {
          "billing_email": {
            "description": "Optional billing email. When omitted, the oldest owner's email is used.",
            "example": "billing@example.com",
            "type": "string"
          },
          "name": {
            "description": "Organization name.",
            "example": "My Organization",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "OrganizationDailyCost": {
        "description": "Daily usage cost over a date range: one entry per UTC day (zero on idle days), summing open and closed resources. Suitable for a daily cost bar chart.",
        "properties": {
          "currency": {
            "description": "ISO 4217 currency code.",
            "example": "USD",
            "type": "string"
          },
          "days": {
            "description": "One entry per UTC day in the range, oldest first.",
            "items": {
              "$ref": "#/components/schemas/DailyCostPoint"
            },
            "type": "array",
            "uniqueItems": false
          },
          "from": {
            "description": "Inclusive start of the range, as a UTC calendar day (YYYY-MM-DD).",
            "example": "2026-06-08",
            "type": "string"
          },
          "to": {
            "description": "Inclusive end of the range, as a UTC calendar day (YYYY-MM-DD).",
            "example": "2026-07-08",
            "type": "string"
          }
        },
        "required": [
          "currency",
          "days",
          "from",
          "to"
        ],
        "type": "object"
      },
      "OrganizationDomain": {
        "description": "Organization domain details.",
        "properties": {
          "domain": {
            "description": "Domain name.",
            "example": "example.com",
            "type": "string"
          },
          "id": {
            "description": "Domain ID.",
            "example": "456e7890-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "verified": {
            "description": "Whether the domain has been verified.",
            "example": true,
            "type": "boolean"
          }
        },
        "required": [
          "domain",
          "id",
          "verified"
        ],
        "type": "object"
      },
      "OrganizationMembership": {
        "description": "Organization membership details.",
        "properties": {
          "created_at": {
            "description": "When the membership was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Membership ID.",
            "example": "987e6543-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "organization_id": {
            "description": "Organization ID.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "role": {
            "$ref": "#/components/schemas/OrganizationMembershipRole"
          },
          "updated_at": {
            "description": "When the membership was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "user_id": {
            "description": "User ID.",
            "example": "user_01H8GQBX3Z",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "id",
          "organization_id",
          "role",
          "updated_at",
          "user_id"
        ],
        "type": "object"
      },
      "OrganizationMembershipRole": {
        "description": "Role of the user in the organization.",
        "enum": [
          "owner",
          "member"
        ],
        "example": "owner",
        "type": "string",
        "x-enum-varnames": [
          "MembershipRoleOwner",
          "MembershipRoleMember"
        ]
      },
      "OrganizationRechargePolicyRequest": {
        "description": "Update a prepaid organization's recharge policy. Set policy to \"manual\" for self-serve top-ups, or \"automatic\" (with policy_args) to charge the card on file at the threshold.",
        "properties": {
          "policy": {
            "$ref": "#/components/schemas/RechargePolicyMode"
          },
          "policy_args": {
            "$ref": "#/components/schemas/AutomaticPolicyArgs"
          }
        },
        "required": [
          "policy"
        ],
        "type": "object"
      },
      "OrganizationRechargePolicyResponse": {
        "description": "An organization's current recharge policy. policy_args is null for a manual policy.",
        "properties": {
          "policy": {
            "$ref": "#/components/schemas/RechargePolicyMode"
          },
          "policy_args": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/AutomaticPolicyArgs"
              },
              {
                "type": "null"
              }
            ]
          },
          "policy_since": {
            "description": "PolicySince is when the policy currently in force took effect. Any change\nmoves it, including an edit to the threshold parameters of an automatic policy.",
            "example": "2026-07-30T12:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "policy",
          "policy_args",
          "policy_since"
        ],
        "type": "object"
      },
      "OrganizationServices": {
        "description": "Services that the Organization has access to.",
        "properties": {
          "cloud": {
            "description": "Whether cloud services are enabled for the organization.",
            "example": true,
            "type": "boolean"
          },
          "jit_provisioning": {
            "description": "Whether just-in-time provisioning is enabled for the organization.",
            "example": true,
            "type": "boolean"
          },
          "scim": {
            "description": "Whether SCIM provisioning is enabled for the organization.",
            "example": false,
            "type": "boolean"
          },
          "siem": {
            "description": "Whether SIEM integration is enabled for the organization.",
            "example": false,
            "type": "boolean"
          },
          "sso": {
            "description": "Whether single sign-on is enabled for the organization.",
            "example": false,
            "type": "boolean"
          }
        },
        "required": [
          "cloud",
          "jit_provisioning",
          "scim",
          "siem",
          "sso"
        ],
        "type": "object"
      },
      "OrganizationType": {
        "description": "Organization type.",
        "enum": [
          "personal",
          "company"
        ],
        "example": "company",
        "type": "string",
        "x-enum-varnames": [
          "TypePersonal",
          "TypeCompany"
        ]
      },
      "OrganizationUpdateRequest": {
        "description": "Organization update request.",
        "properties": {
          "billing_email": {
            "description": "Billing email. Omit to leave unchanged, send null to clear (reverts to the\noldest owner's email), or send a value to set it.",
            "example": "billing@example.com",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "Organization name.",
            "example": "My Updated Organization",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          }
        },
        "type": "object"
      },
      "OrganizationUsageStatement": {
        "description": "Itemized usage statement for a billing month: consumption grouped by project, resource type, and dimension. Costs are recorded at consumption time, not re-priced.",
        "properties": {
          "currency": {
            "description": "ISO 4217 currency code.",
            "example": "USD",
            "type": "string"
          },
          "month": {
            "description": "Billing month the statement covers, as YYYY-MM (UTC).",
            "example": "2026-07",
            "type": "string"
          },
          "projects": {
            "description": "One entry per project with consumption in the month, ordered by name.",
            "items": {
              "$ref": "#/components/schemas/StatementProject"
            },
            "type": "array",
            "uniqueItems": false
          },
          "total": {
            "$ref": "#/components/schemas/Decimal"
          }
        },
        "required": [
          "currency",
          "month",
          "projects",
          "total"
        ],
        "type": "object"
      },
      "Pagination": {
        "description": "Pagination response details.",
        "properties": {
          "next_cursor": {
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "type": [
              "string",
              "null"
            ]
          },
          "previous_cursor": {
            "example": "ARhwnmi1hA7wEbHbMjdYQlOB_ZusP4fYvw",
            "type": [
              "string",
              "null"
            ]
          },
          "total_count": {
            "example": 125,
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "next_cursor",
          "previous_cursor",
          "total_count"
        ],
        "type": "object"
      },
      "Project": {
        "description": "Project response.",
        "properties": {
          "created_at": {
            "description": "When the Project was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Project ID.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Project name.",
            "example": "My Project",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "resources": {
            "$ref": "#/components/schemas/ProjectResources"
          },
          "tags": {
            "description": "Tags attached to the Project.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the Project was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "id",
          "name",
          "resources",
          "tags",
          "updated_at"
        ],
        "type": "object"
      },
      "ProjectBlockchainResources": {
        "description": "Blockchain resources.",
        "properties": {
          "rpc_nodes_dedicated": {
            "description": "Number of dedicated RPC nodes in the project.",
            "example": 1,
            "type": "integer"
          },
          "rpc_nodes_flex": {
            "description": "Number of flex RPC nodes in the project.",
            "example": 3,
            "type": "integer"
          }
        },
        "required": [
          "rpc_nodes_dedicated",
          "rpc_nodes_flex"
        ],
        "type": "object"
      },
      "ProjectCloudResources": {
        "description": "Cloud infrastructure resources.",
        "properties": {
          "connect_connections": {
            "description": "Number of Connect connections in the project.",
            "example": 1,
            "type": "integer"
          },
          "nks_clusters": {
            "description": "Number of NKS clusters in the project.",
            "example": 2,
            "type": "integer"
          },
          "nks_node_pools": {
            "description": "Number of NKS node pools in the project.",
            "example": 4,
            "type": "integer"
          },
          "vms": {
            "description": "Number of VMs in the project.",
            "example": 5,
            "type": "integer"
          },
          "volumes": {
            "description": "Number of volumes in the project.",
            "example": 10,
            "type": "integer"
          },
          "vpcs": {
            "description": "Number of VPCs in the project.",
            "example": 2,
            "type": "integer"
          }
        },
        "required": [
          "connect_connections",
          "nks_clusters",
          "nks_node_pools",
          "vms",
          "volumes",
          "vpcs"
        ],
        "type": "object"
      },
      "ProjectCreateRequest": {
        "description": "Project create request.",
        "properties": {
          "name": {
            "description": "Project name.",
            "example": "My Project",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the Project.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ProjectResources": {
        "description": "Resource counts for the project.",
        "properties": {
          "blockchain": {
            "$ref": "#/components/schemas/ProjectBlockchainResources"
          },
          "cloud": {
            "$ref": "#/components/schemas/ProjectCloudResources"
          }
        },
        "required": [
          "blockchain",
          "cloud"
        ],
        "type": "object",
        "x-stainless-skip": [
          "terraform"
        ]
      },
      "ProjectUpdateRequest": {
        "description": "Project update request.",
        "properties": {
          "name": {
            "description": "Project name.",
            "example": "My Updated Project",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the Project.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "Protocol": {
        "description": "Protocol of the Firewall Rule.",
        "enum": [
          "tcp",
          "udp"
        ],
        "example": "tcp",
        "type": "string",
        "x-enum-varnames": [
          "ProtocolTCP",
          "ProtocolUDP"
        ]
      },
      "QuotaCompute": {
        "description": "Compute quota.",
        "properties": {
          "memory_gb": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          },
          "vcpu": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          }
        },
        "required": [
          "memory_gb",
          "vcpu"
        ],
        "type": "object"
      },
      "QuotaDimensionDetail": {
        "description": "Quota dimension detail.",
        "properties": {
          "limit": {
            "example": 32,
            "type": "integer"
          },
          "remaining": {
            "example": 24,
            "type": "integer"
          },
          "used": {
            "example": 8,
            "type": "integer"
          }
        },
        "required": [
          "limit",
          "remaining",
          "used"
        ],
        "type": "object"
      },
      "QuotaNKS": {
        "description": "NKS quota.",
        "properties": {
          "clusters": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          },
          "node_pool_memory_gb": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          },
          "node_pool_vcpu": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          },
          "public_ips": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          }
        },
        "required": [
          "clusters",
          "node_pool_memory_gb",
          "node_pool_vcpu",
          "public_ips"
        ],
        "type": "object"
      },
      "QuotaNetworking": {
        "description": "Networking quota.",
        "properties": {
          "connect_connections": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          },
          "public_ips": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          },
          "vpcs": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          }
        },
        "required": [
          "connect_connections",
          "public_ips",
          "vpcs"
        ],
        "type": "object"
      },
      "QuotaResponse": {
        "description": "Quota response.",
        "properties": {
          "compute": {
            "$ref": "#/components/schemas/QuotaCompute"
          },
          "networking": {
            "$ref": "#/components/schemas/QuotaNetworking"
          },
          "nks": {
            "$ref": "#/components/schemas/QuotaNKS"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "storage": {
            "$ref": "#/components/schemas/QuotaStorage"
          }
        },
        "required": [
          "compute",
          "networking",
          "nks",
          "region",
          "storage"
        ],
        "type": "object"
      },
      "QuotaStorage": {
        "description": "Storage quota.",
        "properties": {
          "abs": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          },
          "local_nvme": {
            "$ref": "#/components/schemas/QuotaDimensionDetail"
          }
        },
        "required": [
          "abs",
          "local_nvme"
        ],
        "type": "object"
      },
      "RPCNodeDedicated": {
        "description": "RPC Node Dedicated details.",
        "properties": {
          "blockchain": {
            "description": "Blockchain type.",
            "example": "ethereum",
            "type": "string"
          },
          "created_at": {
            "description": "When the RPC Node Dedicated was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "endpoint": {
            "description": "RPC endpoint URL.",
            "example": "https://ethereum-mainnet.nirvanalabs.xyz/?apikey=apiKey",
            "type": "string",
            "x-stainless-sensitive": true
          },
          "id": {
            "description": "Unique identifier for the RPC Node Dedicated.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Name of the RPC Node Dedicated.",
            "example": "my-ethereum-node",
            "type": "string"
          },
          "network": {
            "description": "Network type (e.g., mainnet, testnet).",
            "example": "mainnet",
            "type": "string"
          },
          "project_id": {
            "description": "Project identifier associated with the RPC Node Dedicated.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": [
              "string",
              "null"
            ]
          },
          "tags": {
            "description": "Tags to attach to the RPC Node Dedicated.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the RPC Node Dedicated was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "blockchain",
          "created_at",
          "endpoint",
          "id",
          "name",
          "network",
          "project_id",
          "tags",
          "updated_at"
        ],
        "type": "object"
      },
      "RPCNodeDedicatedBlockchain": {
        "description": "Blockchain supported by the RPC Node Dedicated.",
        "properties": {
          "blockchain": {
            "description": "Blockchain type.",
            "example": "ethereum",
            "type": "string"
          },
          "network": {
            "description": "Network type (e.g., mainnet, testnet).",
            "example": "mainnet",
            "type": "string"
          }
        },
        "required": [
          "blockchain",
          "network"
        ],
        "type": "object"
      },
      "RPCNodeFlex": {
        "description": "RPC Node Flex details.",
        "properties": {
          "blockchain": {
            "description": "Blockchain type.",
            "example": "ethereum",
            "type": "string"
          },
          "created_at": {
            "description": "When the RPC Node Flex was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "endpoint": {
            "description": "RPC endpoint URL.",
            "example": "https://ethereum-mainnet.nirvanalabs.xyz/my-ethereum-node-abc12?apikey=apiKey",
            "type": "string",
            "x-stainless-sensitive": true
          },
          "id": {
            "description": "Unique identifier for the RPC Node Flex.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Name of the RPC Node Flex.",
            "example": "my-ethereum-node",
            "type": "string"
          },
          "network": {
            "description": "Network type (e.g., mainnet, testnet).",
            "example": "mainnet",
            "type": "string"
          },
          "project_id": {
            "description": "Project identifier associated with the RPC Node Flex.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the RPC Node Flex.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the RPC Node Flex was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "blockchain",
          "created_at",
          "endpoint",
          "id",
          "name",
          "network",
          "project_id",
          "tags",
          "updated_at"
        ],
        "type": "object"
      },
      "RPCNodeFlexBlockchain": {
        "description": "Blockchain supported by the RPC Node Flex.",
        "properties": {
          "blockchain": {
            "description": "Blockchain type.",
            "example": "ethereum",
            "type": "string"
          },
          "network": {
            "description": "Network type (e.g., mainnet, testnet).",
            "example": "mainnet",
            "type": "string"
          }
        },
        "required": [
          "blockchain",
          "network"
        ],
        "type": "object"
      },
      "RPCNodeFlexCreateRequest": {
        "description": "RPC Node Flex creation request.",
        "properties": {
          "blockchain": {
            "description": "Blockchain.",
            "example": "ethereum",
            "type": "string"
          },
          "name": {
            "description": "Name of the RPC Node Flex.",
            "example": "my-ethereum-node",
            "type": "string"
          },
          "network": {
            "description": "Network type (e.g., mainnet, testnet).",
            "example": "mainnet",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID to associate with the RPC Node Flex.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the RPC Node Flex (optional, max 50).",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "blockchain",
          "name",
          "network",
          "project_id"
        ],
        "type": "object"
      },
      "RPCNodeFlexUpdateRequest": {
        "description": "RPC Node Flex update request.",
        "properties": {
          "name": {
            "description": "Name of the RPC Node Flex.",
            "example": "my-ethereum-node",
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the RPC Node Flex (optional, max 50).",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "RechargePolicyMode": {
        "description": "Policy is the top-up mode.",
        "enum": [
          "manual",
          "automatic"
        ],
        "example": "automatic",
        "type": "string",
        "x-enum-varnames": [
          "PolicyModeManual",
          "PolicyModeAutomatic"
        ]
      },
      "Region": {
        "description": "Region the resource is in.",
        "enum": [
          "us-sva-2"
        ],
        "example": "us-sva-2",
        "type": "string",
        "x-enum-varnames": [
          "RegionUSSiliconValley2"
        ]
      },
      "RegionAvailability": {
        "description": "Availability status of the region.",
        "enum": [
          "live",
          "preview",
          "maintenance",
          "sunset"
        ],
        "example": "live",
        "type": "string",
        "x-enum-varnames": [
          "AvailabilityLive",
          "AvailabilityPreview",
          "AvailabilityMaintenance",
          "AvailabilitySunset"
        ]
      },
      "RegionResponse": {
        "description": "Region response with product availability.",
        "properties": {
          "availability": {
            "$ref": "#/components/schemas/RegionAvailability"
          },
          "compute": {
            "description": "Compute products available in this region.",
            "properties": {
              "vms": {
                "description": "VMs indicates if Virtual Machines are available.",
                "example": true,
                "type": "boolean"
              }
            },
            "required": [
              "vms"
            ],
            "type": "object"
          },
          "name": {
            "description": "Name of the region.",
            "example": "us-sva-2",
            "type": "string"
          },
          "networking": {
            "description": "Networking products available in this region.",
            "properties": {
              "connect": {
                "description": "Connect indicates if Nirvana Connect is available.",
                "example": true,
                "type": "boolean"
              },
              "vpcs": {
                "description": "VPCs indicates if Virtual Private Clouds are available.",
                "example": true,
                "type": "boolean"
              }
            },
            "required": [
              "connect",
              "vpcs"
            ],
            "type": "object"
          },
          "nks": {
            "description": "NKS products available in this region.",
            "properties": {
              "autoscaling": {
                "description": "Autoscaling indicates if NKS node pool autoscaling is available.",
                "example": false,
                "type": "boolean"
              },
              "clusters": {
                "description": "Clusters indicates if NKS managed Kubernetes clusters are available.",
                "example": false,
                "type": "boolean"
              }
            },
            "required": [
              "autoscaling",
              "clusters"
            ],
            "type": "object"
          },
          "storage": {
            "description": "Storage products available in this region.",
            "properties": {
              "abs": {
                "description": "ABS indicates if Accelerated Block Storage is available.",
                "example": false,
                "type": "boolean"
              },
              "local_nvme": {
                "description": "LocalNVMe indicates if locally-attached NVMe storage is available.",
                "example": true,
                "type": "boolean"
              }
            },
            "required": [
              "abs",
              "local_nvme"
            ],
            "type": "object"
          }
        },
        "required": [
          "availability",
          "compute",
          "name",
          "networking",
          "nks",
          "storage"
        ],
        "type": "object"
      },
      "ResourceStatus": {
        "description": "Status of the resource.",
        "enum": [
          "pending",
          "creating",
          "updating",
          "ready",
          "deleting",
          "deleted",
          "error"
        ],
        "example": "ready",
        "type": "string",
        "x-enum-varnames": [
          "StatusPending",
          "StatusCreating",
          "StatusUpdating",
          "StatusReady",
          "StatusDeleting",
          "StatusDeleted",
          "StatusError"
        ]
      },
      "SSHKeyRequest": {
        "description": "Public SSH key configuration for the VM.",
        "properties": {
          "public_key": {
            "description": "Public key to and use to access the VM.",
            "example": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDBIASkmwNiLcdlW6927Zjt1Hf7Kw/PpEZ4Zm+wU9wn2",
            "type": "string"
          }
        },
        "required": [
          "public_key"
        ],
        "type": "object"
      },
      "SourceIPRule": {
        "description": "IP filter rules.",
        "properties": {
          "allowed": {
            "description": "List of IPv4 CIDR addresses to allow.",
            "example": [
              "192.168.1.0/24",
              "10.0.0.0/8"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "blocked": {
            "description": "List of IPv4 CIDR addresses to deny.",
            "example": [
              "192.168.1.100/32"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "SourceIPRuleResponse": {
        "description": "IP filter rules.",
        "properties": {
          "allowed": {
            "description": "List of IPv4 CIDR addresses to allow.",
            "example": [
              "192.168.1.0/24",
              "10.0.0.0/8"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false,
            "x-stainless-terraform-configurability": "computed_optional"
          },
          "blocked": {
            "description": "List of IPv4 CIDR addresses to deny.",
            "example": [
              "192.168.1.100/32"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false,
            "x-stainless-terraform-configurability": "computed_optional"
          }
        },
        "required": [
          "allowed",
          "blocked"
        ],
        "type": "object",
        "x-stainless-terraform-configurability": "computed_optional"
      },
      "StatementLineItem": {
        "description": "A top-level metered dimension. Heads nest components as children (cost is the subtotal, unit_price null); standalone dimensions carry a unit price and an empty children array.",
        "properties": {
          "children": {
            "description": "Component dimensions nested under this one (e.g. vCPU and memory under an instance type). Empty for a leaf.",
            "items": {
              "$ref": "#/components/schemas/StatementLineItemLeaf"
            },
            "type": "array",
            "uniqueItems": false
          },
          "cost": {
            "$ref": "#/components/schemas/Decimal"
          },
          "dimension": {
            "description": "Metered dimension identifier (e.g. \"compute_n1_standard_8\", \"storage_abs_gb\").",
            "example": "compute_n1_standard_8",
            "type": "string"
          },
          "display_name": {
            "description": "Human-readable label for the dimension.",
            "example": "VM (n1-standard-8)",
            "type": "string"
          },
          "quantity_hours": {
            "$ref": "#/components/schemas/Decimal"
          },
          "unit_price": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/Decimal"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "children",
          "cost",
          "dimension",
          "display_name",
          "quantity_hours"
        ],
        "type": "object"
      },
      "StatementLineItemLeaf": {
        "description": "A priced dimension line: a component nested under a head, or one rate segment of a dimension whose price changed mid-period.",
        "properties": {
          "cost": {
            "$ref": "#/components/schemas/Decimal"
          },
          "dimension": {
            "description": "Metered dimension identifier (e.g. \"compute_vcpu\", \"compute_memory_gb\").",
            "example": "compute_vcpu",
            "type": "string"
          },
          "display_name": {
            "description": "Human-readable label for the dimension.",
            "example": "vCPU (hours)",
            "type": "string"
          },
          "quantity_hours": {
            "$ref": "#/components/schemas/Decimal"
          },
          "unit_price": {
            "$ref": "#/components/schemas/Decimal"
          }
        },
        "required": [
          "cost",
          "dimension",
          "display_name",
          "quantity_hours",
          "unit_price"
        ],
        "type": "object"
      },
      "StatementProject": {
        "description": "A single project's consumption within a usage statement.",
        "properties": {
          "project_id": {
            "description": "Project identifier.",
            "example": "018f8c1a-1b2c-7d3e-9f4a-5b6c7d8e9f01",
            "type": "string"
          },
          "project_name": {
            "description": "Human-readable project name.",
            "example": "production",
            "type": "string"
          },
          "resource_types": {
            "description": "Consumption grouped by resource type.",
            "items": {
              "$ref": "#/components/schemas/StatementResourceType"
            },
            "type": "array",
            "uniqueItems": false
          },
          "subtotal": {
            "$ref": "#/components/schemas/Decimal"
          }
        },
        "required": [
          "project_id",
          "project_name",
          "resource_types",
          "subtotal"
        ],
        "type": "object"
      },
      "StatementResourceType": {
        "description": "Consumption for one resource type within a project (e.g. every VM, every volume).",
        "properties": {
          "items": {
            "description": "Top-level metered dimensions; a dimension expanded into components carries them in children.",
            "items": {
              "$ref": "#/components/schemas/StatementLineItem"
            },
            "type": "array",
            "uniqueItems": false
          },
          "resource_type": {
            "description": "Resource type the line items belong to (e.g. \"vm\", \"volume\", \"nks_node_pool\").",
            "example": "vm",
            "type": "string"
          },
          "subtotal": {
            "$ref": "#/components/schemas/Decimal"
          }
        },
        "required": [
          "items",
          "resource_type",
          "subtotal"
        ],
        "type": "object"
      },
      "Subnet": {
        "description": "Subnet of the VPC.",
        "properties": {
          "cidr": {
            "description": "CIDR block for the Subnet.",
            "example": "10.128.35.128/25",
            "type": "string"
          },
          "created_at": {
            "description": "When the Subnet was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the Subnet.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Name of the Subnet.",
            "example": "my-subnet",
            "type": "string"
          },
          "updated_at": {
            "description": "When the Subnet was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "cidr",
          "created_at",
          "id",
          "name",
          "updated_at"
        ],
        "type": "object"
      },
      "UsageDimensionLeafResponse": {
        "description": "One ledger segment for a (resource, dimension) pair.",
        "properties": {
          "dimension": {
            "example": "compute_vcpu",
            "type": "string"
          },
          "ended_at": {
            "example": "2026-02-01T00:00:00Z",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "quantity": {
            "example": 2,
            "type": "integer"
          },
          "started_at": {
            "example": "2026-01-01T00:00:00Z",
            "type": "string"
          }
        },
        "required": [
          "dimension",
          "ended_at",
          "id",
          "quantity",
          "started_at"
        ],
        "type": "object"
      },
      "UsageDimensionResponse": {
        "description": "Top-level dimension entry; bundle heads expand via children.",
        "properties": {
          "children": {
            "items": {
              "$ref": "#/components/schemas/UsageDimensionLeafResponse"
            },
            "type": "array",
            "uniqueItems": false
          },
          "dimension": {
            "example": "compute_n1_standard_8",
            "type": "string"
          },
          "ended_at": {
            "example": "2026-02-01T00:00:00Z",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "quantity": {
            "example": 1,
            "type": "integer"
          },
          "started_at": {
            "example": "2026-01-01T00:00:00Z",
            "type": "string"
          }
        },
        "required": [
          "dimension",
          "ended_at",
          "id",
          "quantity",
          "started_at"
        ],
        "type": "object"
      },
      "UsageResourceType": {
        "description": "Kind of metered resource a ledger row belongs to.",
        "enum": [
          "vm",
          "volume",
          "vpc",
          "connect_connection",
          "nks_cluster",
          "nks_node_pool",
          "nks_load_balancer"
        ],
        "example": "vm",
        "type": "string",
        "x-enum-varnames": [
          "ResourceTypeVM",
          "ResourceTypeVolume",
          "ResourceTypeVPC",
          "ResourceTypeConnectConnection",
          "ResourceTypeNKSCluster",
          "ResourceTypeNKSNodePool",
          "ResourceTypeNKSLoadBalancer"
        ]
      },
      "UsageResponse": {
        "description": "Usage record for a single metered resource.",
        "properties": {
          "dimensions": {
            "items": {
              "$ref": "#/components/schemas/UsageDimensionResponse"
            },
            "type": "array",
            "uniqueItems": false
          },
          "ended_at": {
            "example": "2026-02-01T00:00:00Z",
            "type": [
              "string",
              "null"
            ]
          },
          "project_id": {
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "resource_id": {
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "resource_type": {
            "$ref": "#/components/schemas/UsageResourceType"
          },
          "started_at": {
            "example": "2026-01-01T00:00:00Z",
            "type": "string"
          }
        },
        "required": [
          "dimensions",
          "ended_at",
          "project_id",
          "region",
          "resource_id",
          "resource_type",
          "started_at"
        ],
        "type": "object"
      },
      "User": {
        "description": "User details.",
        "properties": {
          "email": {
            "description": "Email address of the user.",
            "example": "satoshi@nirvanalabs.io",
            "type": "string"
          },
          "first_name": {
            "description": "First name of the user.",
            "example": "Satoshi",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Unique identifier for the User.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "last_name": {
            "description": "Last name of the user.",
            "example": "Nakamoto",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "email",
          "first_name",
          "id",
          "last_name"
        ],
        "type": "object"
      },
      "UserSecurity": {
        "description": "User security settings response.",
        "properties": {
          "created_at": {
            "description": "When the user security settings were created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "source_ip_rule": {
            "$ref": "#/components/schemas/SourceIPRuleResponse"
          },
          "updated_at": {
            "description": "When the user security settings were updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "source_ip_rule"
        ],
        "type": "object"
      },
      "UserSecurityUpdateRequest": {
        "description": "User security update request.",
        "properties": {
          "source_ip_rule": {
            "$ref": "#/components/schemas/SourceIPRule"
          }
        },
        "type": "object"
      },
      "VM": {
        "description": "VM details.",
        "properties": {
          "boot_volume_id": {
            "description": "ID of the boot volume attached to the VM.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "cpu_config": {
            "$ref": "#/components/schemas/CPUConfig"
          },
          "created_at": {
            "description": "When the VM was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "data_volume_ids": {
            "description": "IDs of the data volumes attached to the VM.",
            "example": [
              "123e4567-e89b-12d3-a456-426614174001",
              "123e4567-e89b-12d3-a456-426614174002"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "id": {
            "description": "Unique identifier for the VM.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "instance_type": {
            "description": "Instance type name.",
            "example": "n1-standard-8",
            "type": [
              "string",
              "null"
            ]
          },
          "memory_config": {
            "$ref": "#/components/schemas/MemoryConfig"
          },
          "name": {
            "description": "Name of the VM.",
            "example": "my-vm",
            "type": "string"
          },
          "private_ip": {
            "description": "Private IP of the VM.",
            "example": "10.0.0.1",
            "type": [
              "string",
              "null"
            ]
          },
          "project_id": {
            "description": "Project ID the VM belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "public_ip": {
            "description": "Public IP of the VM.",
            "example": "123.123.123.123",
            "type": [
              "string",
              "null"
            ]
          },
          "public_ip_enabled": {
            "description": "Whether the public IP is enabled for the VM.",
            "example": true,
            "type": "boolean"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "subnet_id": {
            "description": "ID of the subnet the VM is in.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the VM.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the VM was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "vpc_id": {
            "description": "ID of the VPC the VM is in.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "vpc_name": {
            "description": "Name of the VPC the VM is in.",
            "example": "my-vpc",
            "type": "string"
          }
        },
        "required": [
          "boot_volume_id",
          "cpu_config",
          "created_at",
          "data_volume_ids",
          "id",
          "memory_config",
          "name",
          "private_ip",
          "project_id",
          "public_ip",
          "public_ip_enabled",
          "region",
          "status",
          "subnet_id",
          "tags",
          "updated_at",
          "vpc_id",
          "vpc_name"
        ],
        "type": "object"
      },
      "VMCreateRequest": {
        "description": "VM create request.",
        "properties": {
          "boot_volume": {
            "$ref": "#/components/schemas/BootVolumeCreateRequest"
          },
          "data_volumes": {
            "description": "Data volumes for the VM.",
            "items": {
              "$ref": "#/components/schemas/VMDataVolumeCreateRequest"
            },
            "type": "array",
            "uniqueItems": false
          },
          "instance_type": {
            "description": "Instance type name.",
            "example": "n1-standard-8",
            "type": "string"
          },
          "name": {
            "description": "Name of the VM.",
            "example": "my-vm",
            "type": "string"
          },
          "os_image_name": {
            "description": "Name of the OS Image to use for the VM.",
            "example": "ubuntu-noble-2026-05-18",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID to create the VM in.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "public_ip_enabled": {
            "description": "Whether to enable public IP for the VM.",
            "example": true,
            "type": "boolean"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "ssh_key": {
            "$ref": "#/components/schemas/SSHKeyRequest"
          },
          "subnet_id": {
            "description": "ID of the subnet to use for the VM.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the VM.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "boot_volume",
          "instance_type",
          "name",
          "os_image_name",
          "project_id",
          "public_ip_enabled",
          "region",
          "ssh_key",
          "subnet_id"
        ],
        "type": "object"
      },
      "VMDataVolumeCreateRequest": {
        "description": "VM data volume create request.",
        "properties": {
          "name": {
            "description": "Name of the Volume.",
            "example": "my-data-volume",
            "type": "string"
          },
          "size": {
            "description": "Size of the Volume in GB.",
            "example": 100,
            "type": "integer"
          },
          "tags": {
            "description": "Tags to attach to the Volume.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType"
          }
        },
        "required": [
          "name",
          "size",
          "type"
        ],
        "type": "object"
      },
      "VMMetricDescriptor": {
        "description": "Describes one metric a VM reports: how to name it, what its values mean, and the range they fall in.",
        "properties": {
          "description": {
            "description": "What the metric measures.",
            "example": "Consumed CPU over the vCPU allocated to the VM.",
            "type": "string"
          },
          "max_value": {
            "description": "Highest value the metric reports, or null when it has no ceiling of its own.",
            "example": 1,
            "type": [
              "number",
              "null"
            ]
          },
          "metric": {
            "description": "Fully-qualified name of the metric, and the only spelling the metric query parameter accepts.",
            "example": "compute.nirvanalabs.io/vm/cpu/utilization",
            "type": "string"
          },
          "min_value": {
            "description": "Lowest value the metric reports.",
            "example": 0,
            "type": "number"
          },
          "nullable": {
            "description": "Whether a point's value can be null. A null means the VM reported no observation for that period, which is what a stopped VM looks like.",
            "example": true,
            "type": "boolean"
          },
          "unit": {
            "$ref": "#/components/schemas/VMMetricUnit"
          }
        },
        "required": [
          "description",
          "max_value",
          "metric",
          "min_value",
          "nullable",
          "unit"
        ],
        "type": "object"
      },
      "VMMetricPoint": {
        "description": "One period's value.",
        "properties": {
          "timestamp": {
            "description": "End of the period the value covers, so a point timestamped 00:05 over five-minute periods describes 00:00 through 00:05.",
            "example": "2026-01-01T00:05:00Z",
            "format": "date-time",
            "type": "string"
          },
          "value": {
            "description": "Value over the period, in the series' unit. Null means the VM reported no observation for this period, which is what a stopped VM looks like.",
            "example": 0.42,
            "type": [
              "number",
              "null"
            ]
          }
        },
        "required": [
          "timestamp",
          "value"
        ],
        "type": "object"
      },
      "VMMetricSeries": {
        "description": "One metric's values over the interval served.",
        "properties": {
          "metric": {
            "description": "Fully-qualified name of the metric.",
            "example": "compute.nirvanalabs.io/vm/cpu/utilization",
            "type": "string"
          },
          "points": {
            "description": "Values over the interval, oldest first. Every series in a response covers the same periods, so they line up index for index.",
            "items": {
              "$ref": "#/components/schemas/VMMetricPoint"
            },
            "type": "array",
            "uniqueItems": false
          },
          "unit": {
            "$ref": "#/components/schemas/VMMetricUnit"
          }
        },
        "required": [
          "metric",
          "points",
          "unit"
        ],
        "type": "object"
      },
      "VMMetricUnit": {
        "description": "Unit the values are expressed in.",
        "enum": [
          "ratio",
          "bytes",
          "cores",
          "bytes_per_second",
          "operations_per_second"
        ],
        "example": "ratio",
        "type": "string",
        "x-enum-varnames": [
          "MetricUnitRatio",
          "MetricUnitBytes",
          "MetricUnitCores",
          "MetricUnitBytesPerSecond",
          "MetricUnitOperationsPerSecond"
        ]
      },
      "VMMetrics": {
        "description": "A VM's metrics over an interval: one series per metric, on a shared grid of periods.",
        "properties": {
          "aggregation": {
            "description": "How the samples inside one period were folded into a single value.",
            "enum": [
              "mean",
              "max",
              "min"
            ],
            "example": "mean",
            "type": "string"
          },
          "end_time": {
            "description": "End of the interval served, exclusive.",
            "example": "2026-01-01T01:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "metrics": {
            "description": "One series per requested metric, in the order they were requested.",
            "items": {
              "$ref": "#/components/schemas/VMMetricSeries"
            },
            "type": "array",
            "uniqueItems": false
          },
          "period": {
            "description": "Width of one period, and so the spacing between consecutive points.",
            "enum": [
              "5m",
              "15m",
              "1h",
              "6h",
              "24h"
            ],
            "example": "5m",
            "type": "string"
          },
          "start_time": {
            "description": "Start of the interval served, inclusive. It can be later than the requested start when the request asked for more than the available history.",
            "example": "2026-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "vm_id": {
            "description": "ID of the VM the series belong to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          }
        },
        "required": [
          "aggregation",
          "end_time",
          "metrics",
          "period",
          "start_time",
          "vm_id"
        ],
        "type": "object"
      },
      "VMUpdateRequest": {
        "description": "VM update request.",
        "properties": {
          "instance_type": {
            "description": "Instance type name.",
            "example": "n1-standard-8",
            "type": "string"
          },
          "name": {
            "description": "Name of the VM.",
            "example": "my-vm",
            "type": "string"
          },
          "public_ip_enabled": {
            "description": "Whether to enable public IP for the VM.",
            "example": true,
            "type": "boolean"
          },
          "tags": {
            "description": "Tags to attach to the VM.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "VPC": {
        "description": "VPC details.",
        "properties": {
          "created_at": {
            "description": "When the VPC was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "firewall_rule_ids": {
            "description": "IDs of the Firewall Rules associated with the VPC.",
            "example": [
              "123e4567-e89b-12d3-a456-426614174001",
              "123e4567-e89b-12d3-a456-426614174002"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "id": {
            "description": "Unique identifier for the VPC.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Name of the VPC.",
            "example": "my-vpc",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID the VPC belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "subnet": {
            "$ref": "#/components/schemas/Subnet"
          },
          "tags": {
            "description": "Tags to attach to the VPC.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "updated_at": {
            "description": "When the VPC was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "created_at",
          "firewall_rule_ids",
          "id",
          "name",
          "project_id",
          "region",
          "status",
          "subnet",
          "tags",
          "updated_at"
        ],
        "type": "object"
      },
      "VPCCreateRequest": {
        "description": "VPC create request.",
        "properties": {
          "name": {
            "description": "Name of the VPC.",
            "example": "my-vpc",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID the VPC belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "subnet_name": {
            "description": "Name of the subnet to create.",
            "example": "my-subnet",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the VPC.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "required": [
          "name",
          "project_id",
          "region",
          "subnet_name"
        ],
        "type": "object"
      },
      "VPCUpdateRequest": {
        "description": "VPC update request.",
        "properties": {
          "name": {
            "description": "Name of the VPC.",
            "example": "my-vpc",
            "type": "string"
          },
          "subnet_name": {
            "description": "Name of the subnet to create.",
            "example": "my-subnet",
            "type": "string"
          },
          "tags": {
            "description": "Tags to attach to the VPC.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      },
      "Volume": {
        "description": "Volume details.",
        "properties": {
          "created_at": {
            "description": "When the Volume was created.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Unique identifier for the Volume.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/VolumeKind"
          },
          "name": {
            "description": "Name of the Volume.",
            "example": "my-volume",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID the Volume belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "size": {
            "description": "Size of the Volume in GB.",
            "example": 100,
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/ResourceStatus"
          },
          "tags": {
            "description": "Tags to attach to the Volume.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "type": "array",
            "uniqueItems": false
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType"
          },
          "updated_at": {
            "description": "When the Volume was updated.",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "vm_id": {
            "description": "ID of the VM the Volume is attached to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": [
              "string",
              "null"
            ]
          },
          "vm_name": {
            "description": "Name of the VM the Volume is attached to.",
            "example": "my-vm",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "created_at",
          "id",
          "kind",
          "name",
          "project_id",
          "region",
          "size",
          "status",
          "tags",
          "type",
          "updated_at",
          "vm_id",
          "vm_name"
        ],
        "type": "object"
      },
      "VolumeAttachRequest": {
        "description": "Volume attach request.",
        "properties": {
          "vm_id": {
            "description": "ID of the VM to attach the Volume to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          }
        },
        "required": [
          "vm_id"
        ],
        "type": "object"
      },
      "VolumeDataVolumeCreateRequest": {
        "description": "Volume data volume create request.",
        "properties": {
          "name": {
            "description": "Name of the Volume.",
            "example": "my-data-volume",
            "type": "string"
          },
          "project_id": {
            "description": "Project ID the Volume belongs to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "size": {
            "description": "Size of the Volume in GB.",
            "example": 100,
            "type": "integer"
          },
          "tags": {
            "description": "Tags to attach to the Volume.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType"
          },
          "vm_id": {
            "description": "ID of the VM the Volume is attached to.",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          }
        },
        "required": [
          "name",
          "project_id",
          "region",
          "size",
          "type"
        ],
        "type": "object"
      },
      "VolumeKind": {
        "description": "Volume kind.",
        "enum": [
          "boot",
          "data"
        ],
        "example": "boot",
        "type": "string",
        "x-enum-varnames": [
          "KindBoot",
          "KindData"
        ]
      },
      "VolumeType": {
        "description": "Type of the Volume.",
        "enum": [
          "nvme",
          "abs"
        ],
        "example": "abs",
        "type": "string",
        "x-enum-varnames": [
          "VolumeTypeNVMe",
          "VolumeTypeABS"
        ]
      },
      "VolumeUpdateRequest": {
        "description": "Volume update request.",
        "properties": {
          "name": {
            "description": "Name of the Volume.",
            "example": "my-data-volume",
            "type": "string"
          },
          "size": {
            "description": "Size of the Volume in GB.",
            "example": 100,
            "type": "integer"
          },
          "tags": {
            "description": "Tags to attach to the Volume.",
            "example": [
              "production",
              "ethereum"
            ],
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "minItems": 0,
            "type": "array",
            "uniqueItems": false
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerauth": {
        "bearerFormat": "JWT",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "externalDocs": {
    "description": "Nirvana Labs API",
    "url": "https://docs.nirvanalabs.io/resources/"
  },
  "info": {
    "contact": {
      "email": "support@nirvanalabs.io",
      "name": "Nirvana Labs Support",
      "url": "https://nirvanalabs.io/support"
    },
    "description": "Nirvana Labs API",
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "title": "Nirvana Labs API",
    "version": "v1"
  },
  "openapi": "3.1.0",
  "paths": {
    "/v1/api_keys": {
      "get": {
        "description": "List all API keys",
        "operationId": "list_api_keys",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by API key status, read against the current instant",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "active",
                "inactive",
                "expired"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; an API key must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the API key name",
            "example": "ci",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name, expires_at",
            "example": "expires_at:asc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-APIKey"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List API Keys",
        "tags": [
          "API Keys"
        ]
      },
      "post": {
        "description": "Create a new API key",
        "operationId": "create_api_key",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/APIKeyCreateRequest"
              }
            }
          },
          "description": "API Key Create Request",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIKey"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create API Key",
        "tags": [
          "API Keys"
        ]
      }
    },
    "/v1/api_keys/{api_key_id}": {
      "delete": {
        "description": "Delete an API key",
        "operationId": "delete_api_key",
        "parameters": [
          {
            "description": "API Key ID",
            "in": "path",
            "name": "api_key_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete API Key",
        "tags": [
          "API Keys"
        ]
      },
      "get": {
        "description": "Get details about an API key",
        "operationId": "get_api_key",
        "parameters": [
          {
            "description": "API Key ID",
            "in": "path",
            "name": "api_key_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIKey"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get API Key Details",
        "tags": [
          "API Keys"
        ]
      },
      "patch": {
        "description": "Update an existing API key",
        "operationId": "update_api_key",
        "parameters": [
          {
            "description": "API Key ID",
            "in": "path",
            "name": "api_key_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/APIKeyUpdateRequest"
              }
            }
          },
          "description": "API Key Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/APIKey"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update API Key",
        "tags": [
          "API Keys"
        ]
      }
    },
    "/v1/audit_logs": {
      "get": {
        "description": "List Audit Log entries for an organization",
        "operationId": "list_audit_logs",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the kind of actor that acted",
            "in": "query",
            "name": "actor_type",
            "schema": {
              "enum": [
                "user",
                "api_key"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by the acting user or API key",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "actor_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by recorded action",
            "example": "vm.created",
            "in": "query",
            "name": "action",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the kind of resource acted on",
            "example": "vm",
            "in": "query",
            "name": "target_type",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the resource acted on",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "target_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by HTTP method",
            "example": "POST",
            "in": "query",
            "name": "method",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by a case-insensitive substring of the request path",
            "example": "/v1/compute/vms",
            "in": "query",
            "name": "path",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by client IP address, matched exactly",
            "example": "203.0.113.7",
            "in": "query",
            "name": "client_ip",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only entries with a status code at or above this, e.g. 400 for failures only",
            "example": 400,
            "in": "query",
            "name": "status_code_min",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Only entries with a status code at or below this",
            "example": 499,
            "in": "query",
            "name": "status_code_max",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Only entries at or after this RFC 3339 instant",
            "example": "2026-01-01T00:00:00Z",
            "in": "query",
            "name": "created_at_min",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Only entries at or before this RFC 3339 instant",
            "example": "2026-01-31T23:59:59Z",
            "in": "query",
            "name": "created_at_max",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, status_code",
            "example": "status_code:desc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-AuditLog"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Audit Logs",
        "tags": [
          "Audit Logs"
        ]
      }
    },
    "/v1/audit_logs/{audit_log_id}": {
      "get": {
        "description": "Get an Audit Log entry",
        "operationId": "get_audit_log",
        "parameters": [
          {
            "description": "Audit Log ID",
            "in": "path",
            "name": "audit_log_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLog"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Audit Log",
        "tags": [
          "Audit Logs"
        ]
      }
    },
    "/v1/compute/metric_descriptors": {
      "get": {
        "description": "Describe every metric a VM reports: its name, unit, the range its values fall in, and whether a value can be null. Read this instead of holding a list of metric names, so a metric published later is picked up without a client change.",
        "operationId": "list_metric_descriptors",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-VMMetricDescriptor"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List VM Metric Descriptors",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms": {
      "get": {
        "description": "List all VMs",
        "operationId": "list_vms",
        "parameters": [
          {
            "description": "Project ID of resources to request",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by VM status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "pending",
                "creating",
                "updating",
                "ready",
                "deleting",
                "error"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by region",
            "example": "us-sva-2",
            "in": "query",
            "name": "region",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; a VM must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the VM name",
            "example": "web",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by whether a public IP is enabled",
            "in": "query",
            "name": "public_ip_enabled",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Filter by the VPC the VM is attached to",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "vpc_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the subnet the VM is attached to",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "subnet_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name, status, vcpu, memory",
            "example": "status:asc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-VM"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List VMs",
        "tags": [
          "VMs"
        ]
      },
      "post": {
        "description": "Create a VM",
        "operationId": "create_vm",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VMCreateRequest"
              }
            }
          },
          "description": "VM Create Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create VM",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms/availability": {
      "post": {
        "description": "Check VM Create Availability",
        "operationId": "create_vm_availability",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VMCreateRequest"
              }
            }
          },
          "description": "VM Create Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check VM Create Availability",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms/cost": {
      "post": {
        "description": "Return a priced cost quote for the proposed VM.",
        "operationId": "create_vm_cost",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VMCreateRequest"
              }
            }
          },
          "description": "VM Create Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate VM Create Cost",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms/os_images": {
      "get": {
        "description": "List all OS Images",
        "operationId": "list_os_images",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by a case-insensitive substring of the OS Image name",
            "example": "ubuntu",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by a case-insensitive substring of the OS Image display name",
            "example": "Ubuntu",
            "in": "query",
            "name": "display_name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, name, display_name, position. An image name embeds its version, so name:asc is lexicographic rather than newest-first; position is the catalog's intended display order.",
            "example": "position:asc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-OSImage"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List OS Images",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms/{vm_id}": {
      "delete": {
        "description": "Delete a VM",
        "operationId": "delete_vm",
        "parameters": [
          {
            "description": "VM ID",
            "in": "path",
            "name": "vm_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete VM",
        "tags": [
          "VMs"
        ]
      },
      "get": {
        "description": "Get details about a VM",
        "operationId": "get_vm",
        "parameters": [
          {
            "description": "VM ID",
            "in": "path",
            "name": "vm_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VM"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get VM Details",
        "tags": [
          "VMs"
        ]
      },
      "patch": {
        "description": "Update a VM",
        "operationId": "update_vm",
        "parameters": [
          {
            "description": "VM ID",
            "in": "path",
            "name": "vm_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VMUpdateRequest"
              }
            }
          },
          "description": "VM Update Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update VM",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms/{vm_id}/availability": {
      "patch": {
        "description": "Check VM Update Availability",
        "operationId": "update_vm_availability",
        "parameters": [
          {
            "description": "VM ID",
            "in": "path",
            "name": "vm_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VMUpdateRequest"
              }
            }
          },
          "description": "VM Update Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check VM Update Availability",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms/{vm_id}/cost": {
      "patch": {
        "description": "Return a priced cost quote for the proposed VM update plus a diff against the current state.",
        "operationId": "update_vm_cost",
        "parameters": [
          {
            "description": "VM ID",
            "in": "path",
            "name": "vm_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VMUpdateRequest"
              }
            }
          },
          "description": "VM Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteUpdateResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate VM Update Cost",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms/{vm_id}/metrics": {
      "get": {
        "description": "Read a VM's resource metrics over an interval. Every series covers the same periods, so they line up index for index, and a period the VM reported no observation for carries a null value.",
        "operationId": "list_vm_metrics",
        "parameters": [
          {
            "description": "VM ID",
            "in": "path",
            "name": "vm_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Metric to return. Repeat the parameter for several; every metric is returned when it is left out.",
            "in": "query",
            "name": "metric",
            "schema": {
              "items": {
                "enum": [
                  "compute.nirvanalabs.io/vm/cpu/used_cores",
                  "compute.nirvanalabs.io/vm/cpu/utilization",
                  "compute.nirvanalabs.io/vm/memory/used_bytes",
                  "compute.nirvanalabs.io/vm/memory/utilization",
                  "compute.nirvanalabs.io/vm/disk/read_bytes",
                  "compute.nirvanalabs.io/vm/disk/write_bytes",
                  "compute.nirvanalabs.io/vm/disk/read_ops",
                  "compute.nirvanalabs.io/vm/disk/write_ops",
                  "compute.nirvanalabs.io/vm/network/rx_bytes",
                  "compute.nirvanalabs.io/vm/network/tx_bytes"
                ],
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Start of the interval, inclusive, as an RFC 3339 timestamp. Defaults to an hour before end_time. A start older than the 30 days of history kept is served from where that history begins.",
            "example": "2026-01-01T00:00:00Z",
            "in": "query",
            "name": "start_time",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "End of the interval, exclusive, as an RFC 3339 timestamp. Defaults to now.",
            "example": "2026-01-01T01:00:00Z",
            "in": "query",
            "name": "end_time",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Width of one period, and so the spacing between points. An interval holding more than 1440 periods is rejected; the error names a period that fits.",
            "in": "query",
            "name": "period",
            "schema": {
              "default": "5m",
              "enum": [
                "5m",
                "15m",
                "1h",
                "6h",
                "24h"
              ],
              "type": "string"
            }
          },
          {
            "description": "How the samples inside one period are folded into a single value.",
            "in": "query",
            "name": "aggregation",
            "schema": {
              "default": "mean",
              "enum": [
                "mean",
                "max",
                "min"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VMMetrics"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List VM's Metrics",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms/{vm_id}/restart": {
      "post": {
        "description": "Restart a VM",
        "operationId": "restart_vm",
        "parameters": [
          {
            "description": "VM ID",
            "in": "path",
            "name": "vm_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Restart VM",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/vms/{vm_id}/volumes": {
      "get": {
        "description": "List VM's Volumes",
        "operationId": "list_vm_volumes",
        "parameters": [
          {
            "description": "VM ID",
            "in": "path",
            "name": "vm_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same VM, filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by Volume status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "pending",
                "creating",
                "updating",
                "ready",
                "deleting",
                "error"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by Volume kind",
            "in": "query",
            "name": "kind",
            "schema": {
              "enum": [
                "boot",
                "data"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by storage type",
            "in": "query",
            "name": "type",
            "schema": {
              "enum": [
                "nvme",
                "abs"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; a Volume must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the Volume name",
            "example": "data",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name, status, size",
            "example": "size:desc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-Volume"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List VM's Volumes",
        "tags": [
          "VMs"
        ]
      }
    },
    "/v1/compute/volumes": {
      "get": {
        "description": "List all volumes",
        "operationId": "list_volumes",
        "parameters": [
          {
            "description": "Project ID of resources to request",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by Volume status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "pending",
                "creating",
                "updating",
                "ready",
                "deleting",
                "error"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by region",
            "example": "us-sva-2",
            "in": "query",
            "name": "region",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by Volume kind",
            "in": "query",
            "name": "kind",
            "schema": {
              "enum": [
                "boot",
                "data"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by storage type",
            "in": "query",
            "name": "type",
            "schema": {
              "enum": [
                "nvme",
                "abs"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; a Volume must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the Volume name",
            "example": "data",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the VM the Volume is attached to",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "vm_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by whether the Volume is attached to a VM. Combine with vm_id and both must hold.",
            "in": "query",
            "name": "attached",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name, status, size",
            "example": "size:desc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-Volume"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Volumes",
        "tags": [
          "Volumes"
        ]
      },
      "post": {
        "description": "Create a Volume. Only data volumes can be created.",
        "operationId": "create_volume",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumeDataVolumeCreateRequest"
              }
            }
          },
          "description": "Data Volume Create Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create Volume",
        "tags": [
          "Volumes"
        ]
      }
    },
    "/v1/compute/volumes/availability": {
      "post": {
        "description": "Check Volume Create Availability",
        "operationId": "create_volume_availability",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumeDataVolumeCreateRequest"
              }
            }
          },
          "description": "Volume Create Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check Volume Create Availability",
        "tags": [
          "Volumes"
        ]
      }
    },
    "/v1/compute/volumes/cost": {
      "post": {
        "description": "Return a priced cost quote for the proposed Volume.",
        "operationId": "create_volume_cost",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumeDataVolumeCreateRequest"
              }
            }
          },
          "description": "Volume Create Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate Volume Create Cost",
        "tags": [
          "Volumes"
        ]
      }
    },
    "/v1/compute/volumes/{volume_id}": {
      "delete": {
        "description": "Delete a Volume. Boot or data volumes can be deleted.",
        "operationId": "delete_volume",
        "parameters": [
          {
            "description": "Volume ID",
            "in": "path",
            "name": "volume_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete Volume",
        "tags": [
          "Volumes"
        ]
      },
      "get": {
        "description": "Get a Volume.",
        "operationId": "get_volume",
        "parameters": [
          {
            "description": "Volume ID",
            "in": "path",
            "name": "volume_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Volume",
        "tags": [
          "Volumes"
        ]
      },
      "patch": {
        "description": "Update a Volume. Boot or data volumes can be updated.",
        "operationId": "update_volume",
        "parameters": [
          {
            "description": "Volume ID",
            "in": "path",
            "name": "volume_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumeUpdateRequest"
              }
            }
          },
          "description": "Volume Update Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update Volume",
        "tags": [
          "Volumes"
        ]
      }
    },
    "/v1/compute/volumes/{volume_id}/attach": {
      "post": {
        "description": "Attach a volume to a VM",
        "operationId": "attach_volume",
        "parameters": [
          {
            "description": "Volume ID",
            "in": "path",
            "name": "volume_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumeAttachRequest"
              }
            }
          },
          "description": "Volume Attach Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Attach Volume",
        "tags": [
          "Volumes"
        ]
      }
    },
    "/v1/compute/volumes/{volume_id}/availability": {
      "patch": {
        "description": "Check Volume Update Availability",
        "operationId": "update_volume_availability",
        "parameters": [
          {
            "description": "Volume ID",
            "in": "path",
            "name": "volume_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumeUpdateRequest"
              }
            }
          },
          "description": "Volume Update Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check Volume Update Availability",
        "tags": [
          "Volumes"
        ]
      }
    },
    "/v1/compute/volumes/{volume_id}/cost": {
      "patch": {
        "description": "Return a priced cost quote for the proposed Volume update plus a diff against the current state.",
        "operationId": "update_volume_cost",
        "parameters": [
          {
            "description": "Volume ID",
            "in": "path",
            "name": "volume_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumeUpdateRequest"
              }
            }
          },
          "description": "Volume Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteUpdateResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate Volume Update Cost",
        "tags": [
          "Volumes"
        ]
      }
    },
    "/v1/compute/volumes/{volume_id}/detach": {
      "post": {
        "description": "Detach a volume from a VM",
        "operationId": "detach_volume",
        "parameters": [
          {
            "description": "Volume ID",
            "in": "path",
            "name": "volume_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Detach Volume",
        "tags": [
          "Volumes"
        ]
      }
    },
    "/v1/instance_types": {
      "get": {
        "description": "List instance types",
        "operationId": "list_instance_types",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by region",
            "example": "us-sva-2",
            "in": "query",
            "name": "region",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by series",
            "example": "n1",
            "in": "query",
            "name": "series",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by family",
            "example": "standard",
            "in": "query",
            "name": "family",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by chipset",
            "example": "amd-epyc-9354p",
            "in": "query",
            "name": "chipset",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by a case-insensitive substring of the Instance Type name",
            "example": "standard",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only Instance Types with at least this many vCPUs",
            "example": 8,
            "in": "query",
            "name": "vcpu_min",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Only Instance Types with at most this many vCPUs",
            "example": 32,
            "in": "query",
            "name": "vcpu_max",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Only Instance Types with at least this much memory, in GB",
            "example": 16,
            "in": "query",
            "name": "memory_gb_min",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Only Instance Types with at most this much memory, in GB",
            "example": 128,
            "in": "query",
            "name": "memory_gb_max",
            "schema": {
              "type": "integer"
            }
          },
          {
            "description": "Only Instance Types with at least this much network bandwidth, in Gbps",
            "example": 1,
            "in": "query",
            "name": "network_bandwidth_gbps_min",
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Only Instance Types with at most this much network bandwidth, in Gbps",
            "example": 10,
            "in": "query",
            "name": "network_bandwidth_gbps_max",
            "schema": {
              "type": "number"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: series, family, name, vcpu, memory_gb, network_bandwidth_gbps",
            "example": "vcpu:desc,memory_gb:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "series:asc,family:asc,vcpu:asc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-InstanceType"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Instance Types",
        "tags": [
          "Instance Types"
        ]
      }
    },
    "/v1/instance_types/{region}/{name}": {
      "get": {
        "description": "Get an instance type by region and name",
        "operationId": "get_instance_type",
        "parameters": [
          {
            "description": "Region name",
            "example": "us-sva-2",
            "in": "path",
            "name": "region",
            "required": true,
            "schema": {
              "enum": [
                "us-sva-2"
              ],
              "type": "string"
            }
          },
          {
            "description": "Instance type name",
            "example": "n1-standard-8",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InstanceType"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Instance Type",
        "tags": [
          "Instance Types"
        ]
      }
    },
    "/v1/networking/connect/connections": {
      "get": {
        "description": "List all Connect Connections",
        "operationId": "list_connect_connections",
        "parameters": [
          {
            "description": "Project ID of resources to request",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by Connect Connection status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "pending",
                "creating",
                "updating",
                "ready",
                "deleting",
                "error"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by Nirvana region",
            "example": "us-sva-2",
            "in": "query",
            "name": "region",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by provider",
            "example": "aws",
            "in": "query",
            "name": "provider",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the provider's own region",
            "example": "us-east-1",
            "in": "query",
            "name": "provider_region",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; a Connect Connection must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the Connect Connection name",
            "example": "prod",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by provisioned bandwidth in Mbps",
            "example": 500,
            "in": "query",
            "name": "bandwidth_mbps",
            "schema": {
              "enum": [
                50,
                200,
                500,
                1000,
                2000
              ],
              "type": "integer"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name, status, bandwidth_mbps",
            "example": "bandwidth_mbps:desc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-ConnectConnection"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Connect Connection",
        "tags": [
          "Connect"
        ]
      },
      "post": {
        "description": "Create a Connect Connection",
        "operationId": "create_connect_connection",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectConnectionCreateRequest"
              }
            }
          },
          "description": "Connect Connection Create Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create Connect Connection",
        "tags": [
          "Connect"
        ]
      }
    },
    "/v1/networking/connect/connections/cost": {
      "post": {
        "description": "Return a priced cost quote for the proposed Connect Connection.",
        "operationId": "create_connect_connection_cost",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectConnectionCreateRequest"
              }
            }
          },
          "description": "Connect Connection Create Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate Connect Connection Create Cost",
        "tags": [
          "Connect"
        ]
      }
    },
    "/v1/networking/connect/connections/{connection_id}": {
      "delete": {
        "description": "Delete Connect Connection",
        "operationId": "delete_connect_connection",
        "parameters": [
          {
            "description": "Connect Connection ID",
            "in": "path",
            "name": "connection_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete Connect Connection",
        "tags": [
          "Connect"
        ]
      },
      "get": {
        "description": "Get Connect Connection details",
        "operationId": "get_connect_connection",
        "parameters": [
          {
            "description": "Connect Connection ID",
            "in": "path",
            "name": "connection_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConnectConnection"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Connect Connection",
        "tags": [
          "Connect"
        ]
      },
      "patch": {
        "description": "Update Connect Connection details",
        "operationId": "update_connect_connection",
        "parameters": [
          {
            "description": "Connect Connection ID",
            "in": "path",
            "name": "connection_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectConnectionUpdateRequest"
              }
            }
          },
          "description": "Connect Connection Update Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update Connect Connection",
        "tags": [
          "Connect"
        ]
      }
    },
    "/v1/networking/connect/connections/{connection_id}/cost": {
      "patch": {
        "description": "Return a priced cost quote for the proposed Connect Connection update plus a diff against the current state.",
        "operationId": "update_connect_connection_cost",
        "parameters": [
          {
            "description": "Connect Connection ID",
            "in": "path",
            "name": "connection_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ConnectConnectionUpdateRequest"
              }
            }
          },
          "description": "Connect Connection Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteUpdateResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate Connect Connection Update Cost",
        "tags": [
          "Connect"
        ]
      }
    },
    "/v1/networking/connect/routes": {
      "get": {
        "description": "List all supported routes with regions for Connect.",
        "operationId": "list_connect_routes",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by provider",
            "example": "aws",
            "in": "query",
            "name": "provider",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the provider's own region",
            "example": "us-east-1",
            "in": "query",
            "name": "provider_region",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the Nirvana region the route reaches",
            "example": "us-sva-2",
            "in": "query",
            "name": "region",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, provider_region, region",
            "example": "region:asc,provider_region:asc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-ConnectRoute"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Connect Supported Routes",
        "tags": [
          "Connect"
        ]
      }
    },
    "/v1/networking/vpcs": {
      "get": {
        "description": "List all VPCs",
        "operationId": "list_vpcs",
        "parameters": [
          {
            "description": "Project ID of resources to request",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by VPC status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "pending",
                "creating",
                "updating",
                "ready",
                "deleting",
                "error"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by region",
            "example": "us-sva-2",
            "in": "query",
            "name": "region",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; a VPC must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the VPC name",
            "example": "prod",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name, status",
            "example": "status:asc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-VPC"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List VPCs",
        "tags": [
          "VPCs"
        ]
      },
      "post": {
        "description": "Create a VPC",
        "operationId": "create_vpc",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VPCCreateRequest"
              }
            }
          },
          "description": "VPC Create Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create VPC",
        "tags": [
          "VPCs"
        ]
      }
    },
    "/v1/networking/vpcs/availability": {
      "post": {
        "description": "Check if a VPC can be created",
        "operationId": "check_create_vpc_availability",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VPCCreateRequest"
              }
            }
          },
          "description": "VPC Create Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check Create VPC Availability",
        "tags": [
          "VPCs"
        ]
      }
    },
    "/v1/networking/vpcs/cost": {
      "post": {
        "description": "Return a priced cost quote for the proposed VPC.",
        "operationId": "create_vpc_cost",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VPCCreateRequest"
              }
            }
          },
          "description": "VPC Create Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate VPC Create Cost",
        "tags": [
          "VPCs"
        ]
      }
    },
    "/v1/networking/vpcs/{vpc_id}": {
      "delete": {
        "description": "Delete a VPC",
        "operationId": "delete_vpc",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete VPC",
        "tags": [
          "VPCs"
        ]
      },
      "get": {
        "description": "Get details about a VPC",
        "operationId": "get_vpc",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VPC"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get VPC Details",
        "tags": [
          "VPCs"
        ]
      },
      "patch": {
        "description": "Update a VPC",
        "operationId": "update_vpc",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VPCUpdateRequest"
              }
            }
          },
          "description": "VPC Update Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update VPC",
        "tags": [
          "VPCs"
        ]
      }
    },
    "/v1/networking/vpcs/{vpc_id}/availability": {
      "patch": {
        "description": "Check if a VPC can be updated",
        "operationId": "check_update_vpc_availability",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VPCUpdateRequest"
              }
            }
          },
          "description": "VPC Update Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check Update VPC Availability",
        "tags": [
          "VPCs"
        ]
      }
    },
    "/v1/networking/vpcs/{vpc_id}/cost": {
      "patch": {
        "description": "Return a priced cost quote for the proposed VPC update plus a diff against the current state.",
        "operationId": "update_vpc_cost",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VPCUpdateRequest"
              }
            }
          },
          "description": "VPC Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteUpdateResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate VPC Update Cost",
        "tags": [
          "VPCs"
        ]
      }
    },
    "/v1/networking/vpcs/{vpc_id}/firewall_rules": {
      "get": {
        "description": "List all firewall rules",
        "operationId": "list_firewall_rules",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same VPC, filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by Firewall Rule status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "pending",
                "creating",
                "updating",
                "ready",
                "deleting",
                "error"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by protocol",
            "in": "query",
            "name": "protocol",
            "schema": {
              "enum": [
                "tcp",
                "udp"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; a Firewall Rule must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the Firewall Rule name",
            "example": "ssh",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name, status, protocol",
            "example": "protocol:asc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-FirewallRule"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Firewall Rules",
        "tags": [
          "Firewall Rules"
        ]
      },
      "post": {
        "description": "Create a firewall rule",
        "operationId": "create_firewall_rule",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FirewallRuleCreateRequest"
              }
            }
          },
          "description": "Firewall Rule Create Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create Firewall Rule",
        "tags": [
          "Firewall Rules"
        ]
      }
    },
    "/v1/networking/vpcs/{vpc_id}/firewall_rules/{firewall_rule_id}": {
      "delete": {
        "description": "Delete a firewall rule",
        "operationId": "delete_firewall_rule",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Firewall Rule ID",
            "in": "path",
            "name": "firewall_rule_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete Firewall Rule",
        "tags": [
          "Firewall Rules"
        ]
      },
      "get": {
        "description": "Get details about a firewall rule",
        "operationId": "get_firewall_rule",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Firewall Rule ID",
            "in": "path",
            "name": "firewall_rule_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FirewallRule"
                }
              }
            },
            "description": "OK"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Firewall Rule Details",
        "tags": [
          "Firewall Rules"
        ]
      },
      "patch": {
        "description": "Update a firewall rule",
        "operationId": "update_firewall_rule",
        "parameters": [
          {
            "description": "VPC ID",
            "in": "path",
            "name": "vpc_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Firewall Rule ID",
            "in": "path",
            "name": "firewall_rule_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FirewallRuleUpdateRequest"
              }
            }
          },
          "description": "Firewall Rule Update Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update Firewall Rule",
        "tags": [
          "Firewall Rules"
        ]
      }
    },
    "/v1/nks/clusters": {
      "get": {
        "description": "List all NKS clusters",
        "operationId": "list_nks_clusters",
        "parameters": [
          {
            "description": "Project ID of resources to request",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSCluster"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Clusters",
        "tags": [
          "NKS Clusters"
        ]
      },
      "post": {
        "description": "Create an NKS Cluster",
        "operationId": "create_nks_cluster",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSClusterCreateRequest"
              }
            }
          },
          "description": "NKS Cluster Create Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create NKS Cluster",
        "tags": [
          "NKS Clusters"
        ]
      }
    },
    "/v1/nks/clusters/availability": {
      "post": {
        "description": "Check if an NKS cluster can be created",
        "operationId": "create_nks_cluster_availability",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSClusterCreateRequest"
              }
            }
          },
          "description": "NKS Cluster Create Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check Create NKS Cluster Availability",
        "tags": [
          "NKS Clusters"
        ]
      }
    },
    "/v1/nks/clusters/cost": {
      "post": {
        "description": "Return a priced cost quote for the proposed NKS cluster.",
        "operationId": "create_nks_cluster_cost",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSClusterCreateRequest"
              }
            }
          },
          "description": "NKS Cluster Create Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate NKS Cluster Create Cost",
        "tags": [
          "NKS Clusters"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}": {
      "delete": {
        "description": "Delete an NKS cluster",
        "operationId": "delete_nks_cluster",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete NKS Cluster",
        "tags": [
          "NKS Clusters"
        ]
      },
      "get": {
        "description": "Get details about an NKS cluster",
        "operationId": "get_nks_cluster",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NKSCluster"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get NKS Cluster Details",
        "tags": [
          "NKS Clusters"
        ]
      },
      "patch": {
        "description": "Update an NKS cluster",
        "operationId": "update_nks_cluster",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSClusterUpdateRequest"
              }
            }
          },
          "description": "NKS Cluster Update Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update NKS Cluster",
        "tags": [
          "NKS Clusters"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/availability": {
      "patch": {
        "description": "Check if an NKS cluster can be updated",
        "operationId": "update_nks_cluster_availability",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSClusterUpdateRequest"
              }
            }
          },
          "description": "NKS Cluster Update Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check Update NKS Cluster Availability",
        "tags": [
          "NKS Clusters"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/controllers": {
      "get": {
        "description": "List all controllers in an NKS cluster",
        "operationId": "list_nks_controllers",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSController"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Controllers",
        "tags": [
          "NKS Controllers"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/controllers/{controller_id}": {
      "get": {
        "description": "Get details about an NKS controller",
        "operationId": "get_nks_controller",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Controller ID",
            "in": "path",
            "name": "controller_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NKSController"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get NKS Controller Details",
        "tags": [
          "NKS Controllers"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/controllers/{controller_id}/volumes": {
      "get": {
        "description": "List all volumes attached to an NKS controller",
        "operationId": "list_nks_controller_volumes",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Controller ID",
            "in": "path",
            "name": "controller_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSControllerVolume"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Controller Volumes",
        "tags": [
          "NKS Controllers"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/controllers/{controller_id}/volumes/{volume_id}": {
      "get": {
        "description": "Get details about a volume attached to an NKS controller",
        "operationId": "get_nks_controller_volume",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Controller ID",
            "in": "path",
            "name": "controller_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Volume ID",
            "in": "path",
            "name": "volume_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NKSControllerVolume"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get NKS Controller Volume Details",
        "tags": [
          "NKS Controllers"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/cost": {
      "patch": {
        "description": "Return a priced cost quote for the proposed NKS cluster update plus a diff against the current state.",
        "operationId": "update_nks_cluster_cost",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSClusterUpdateRequest"
              }
            }
          },
          "description": "NKS Cluster Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteUpdateResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate NKS Cluster Update Cost",
        "tags": [
          "NKS Clusters"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/kubeconfig": {
      "get": {
        "description": "Get the kubeconfig for an NKS cluster",
        "operationId": "get_nks_cluster_kubeconfig",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NKSKubeconfig"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get NKS Cluster Kubeconfig",
        "tags": [
          "NKS Clusters"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/load_balancers": {
      "get": {
        "description": "List all load balancers in an NKS cluster",
        "operationId": "list_nks_load_balancers",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSLoadBalancer"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Load Balancers",
        "tags": [
          "NKS Load Balancers"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/load_balancers/{load_balancer_id}": {
      "get": {
        "description": "Get details about an NKS load balancer",
        "operationId": "get_nks_load_balancer",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Load Balancer ID",
            "in": "path",
            "name": "load_balancer_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NKSLoadBalancer"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get NKS Load Balancer Details",
        "tags": [
          "NKS Load Balancers"
        ]
      },
      "patch": {
        "description": "Update an NKS load balancer",
        "operationId": "update_nks_load_balancer",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Load Balancer ID",
            "in": "path",
            "name": "load_balancer_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSLoadBalancerUpdateRequest"
              }
            }
          },
          "description": "Load Balancer Update Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update NKS Load Balancer",
        "tags": [
          "NKS Load Balancers"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/persistent_volume_claims": {
      "get": {
        "description": "List all persistent volume claims in an NKS cluster",
        "operationId": "list_nks_persistent_volume_claims",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSPersistentVolumeClaim"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Persistent Volume Claims",
        "tags": [
          "NKS Persistent Volume Claims"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/persistent_volume_claims/{persistent_volume_claim_id}": {
      "get": {
        "description": "Get details about an NKS persistent volume claim",
        "operationId": "get_nks_persistent_volume_claim",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Persistent Volume Claim ID",
            "in": "path",
            "name": "persistent_volume_claim_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NKSPersistentVolumeClaim"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get NKS Persistent Volume Claim Details",
        "tags": [
          "NKS Persistent Volume Claims"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools": {
      "get": {
        "description": "List all node pools in an NKS cluster",
        "operationId": "list_nks_node_pools",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSNodePool"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Node Pools",
        "tags": [
          "NKS Node Pools"
        ]
      },
      "post": {
        "description": "Create a node pool in an NKS cluster",
        "operationId": "create_nks_node_pool",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSNodePoolCreateRequest"
              }
            }
          },
          "description": "NKS Node Pool Create Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create NKS Node Pool",
        "tags": [
          "NKS Node Pools"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/availability": {
      "post": {
        "description": "Check if a node pool can be created in an NKS cluster",
        "operationId": "create_nks_node_pool_availability",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSNodePoolCreateRequest"
              }
            }
          },
          "description": "NKS Node Pool Create Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check Create NKS Node Pool Availability",
        "tags": [
          "NKS Node Pools"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/cost": {
      "post": {
        "description": "Return a priced cost quote for the proposed NKS node pool.",
        "operationId": "create_nks_node_pool_cost",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSNodePoolCreateRequest"
              }
            }
          },
          "description": "NKS Node Pool Create Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate NKS Node Pool Create Cost",
        "tags": [
          "NKS Node Pools"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/{pool_id}": {
      "delete": {
        "description": "Delete an NKS node pool",
        "operationId": "delete_nks_node_pool",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete NKS Node Pool",
        "tags": [
          "NKS Node Pools"
        ]
      },
      "get": {
        "description": "Get details about an NKS node pool",
        "operationId": "get_nks_node_pool",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NKSNodePool"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get NKS Node Pool Details",
        "tags": [
          "NKS Node Pools"
        ]
      },
      "patch": {
        "description": "Update an NKS node pool",
        "operationId": "update_nks_node_pool",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSNodePoolUpdateRequest"
              }
            }
          },
          "description": "NKS Node Pool Update Request",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update NKS Node Pool",
        "tags": [
          "NKS Node Pools"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/{pool_id}/availability": {
      "patch": {
        "description": "Check if an NKS node pool can be updated",
        "operationId": "update_nks_node_pool_availability",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSNodePoolUpdateRequest"
              }
            }
          },
          "description": "NKS Node Pool Update Request",
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Check Update NKS Node Pool Availability",
        "tags": [
          "NKS Node Pools"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/{pool_id}/cost": {
      "patch": {
        "description": "Return a priced cost quote for the proposed NKS node pool update plus a diff against the current state.",
        "operationId": "update_nks_node_pool_cost",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NKSNodePoolUpdateRequest"
              }
            }
          },
          "description": "NKS Node Pool Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CostQuoteUpdateResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Service Unavailable"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Estimate NKS Node Pool Update Cost",
        "tags": [
          "NKS Node Pools"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/{pool_id}/nodes": {
      "get": {
        "description": "List all nodes in an NKS node pool",
        "operationId": "list_nks_nodes",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSNode"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Nodes",
        "tags": [
          "NKS Nodes"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/{pool_id}/nodes/{node_id}": {
      "delete": {
        "description": "Delete a single node from an NKS node pool",
        "operationId": "delete_nks_node",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node ID",
            "in": "path",
            "name": "node_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "Accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete NKS Node",
        "tags": [
          "NKS Node Pools"
        ]
      },
      "get": {
        "description": "Get details about an NKS node",
        "operationId": "get_nks_node",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node ID",
            "in": "path",
            "name": "node_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NKSNode"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get NKS Node Details",
        "tags": [
          "NKS Nodes"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/{pool_id}/nodes/{node_id}/volumes": {
      "get": {
        "description": "List all volumes attached to an NKS node",
        "operationId": "list_nks_node_volumes",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node ID",
            "in": "path",
            "name": "node_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSNodeVolume"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Node Volumes",
        "tags": [
          "NKS Nodes"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/{pool_id}/nodes/{node_id}/volumes/{volume_id}": {
      "get": {
        "description": "Get details about a volume attached to an NKS node",
        "operationId": "get_nks_node_volume",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node ID",
            "in": "path",
            "name": "node_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Volume ID",
            "in": "path",
            "name": "volume_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NKSNodeVolume"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get NKS Node Volume Details",
        "tags": [
          "NKS Nodes"
        ]
      }
    },
    "/v1/nks/clusters/{cluster_id}/pools/{pool_id}/volumes": {
      "get": {
        "description": "List all volumes attached to the nodes of an NKS node pool",
        "operationId": "list_nks_node_pool_volumes",
        "parameters": [
          {
            "description": "Cluster ID",
            "in": "path",
            "name": "cluster_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Node Pool ID",
            "in": "path",
            "name": "pool_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSNodeVolume"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Node Pool Volumes",
        "tags": [
          "NKS Node Pools"
        ]
      }
    },
    "/v1/nks/kubernetes_versions": {
      "get": {
        "description": "List all supported Kubernetes versions for NKS clusters",
        "operationId": "list_nks_kubernetes_versions",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-NKSKubernetesVersion"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List NKS Kubernetes Versions",
        "tags": [
          "NKS Clusters"
        ]
      }
    },
    "/v1/operations": {
      "get": {
        "description": "List all operations",
        "operationId": "list_operations",
        "parameters": [
          {
            "description": "Project ID of resources to request",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the kind of resource the operation acts on",
            "in": "query",
            "name": "kind",
            "schema": {
              "enum": [
                "vm",
                "volume",
                "vpc",
                "firewall_rule",
                "connect_connection",
                "nks_cluster",
                "nks_node_pool",
                "nks_load_balancer",
                "nks_node"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by operation status",
            "in": "query",
            "name": "status",
            "schema": {
              "enum": [
                "pending",
                "running",
                "done",
                "failed",
                "unknown"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by operation type",
            "in": "query",
            "name": "type",
            "schema": {
              "enum": [
                "create",
                "update",
                "delete",
                "restart"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by the resource the operation acts on",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "resource_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only operations started at or after this RFC 3339 instant",
            "example": "2026-01-01T00:00:00Z",
            "in": "query",
            "name": "created_at_min",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Only operations started at or before this RFC 3339 instant",
            "example": "2026-01-31T23:59:59Z",
            "in": "query",
            "name": "created_at_max",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at",
            "example": "updated_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-Operation"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Operations",
        "tags": [
          "Operations"
        ]
      }
    },
    "/v1/operations/{operation_id}": {
      "get": {
        "description": "Get details about a specific operation",
        "operationId": "get_operation",
        "parameters": [
          {
            "description": "Operation ID",
            "in": "path",
            "name": "operation_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Operation"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Operation Details",
        "tags": [
          "Operations"
        ]
      }
    },
    "/v1/organizations": {
      "get": {
        "description": "List organizations",
        "operationId": "list_organizations",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by organization type",
            "in": "query",
            "name": "type",
            "schema": {
              "enum": [
                "personal",
                "company"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by a case-insensitive substring of the organization name",
            "example": "acme",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name",
            "example": "name:asc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-Organization"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Organizations",
        "tags": [
          "Organizations"
        ]
      },
      "post": {
        "description": "Create a new organization",
        "operationId": "create_organization",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationCreateRequest"
              }
            }
          },
          "description": "Organization Create Request",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create Organization",
        "tags": [
          "Organizations"
        ]
      }
    },
    "/v1/organizations/{organization_id}": {
      "get": {
        "description": "Get details about an Organization",
        "operationId": "get_organization",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Organization Details",
        "tags": [
          "Organizations"
        ]
      },
      "patch": {
        "description": "Update an existing organization",
        "operationId": "update_organization",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationUpdateRequest"
              }
            }
          },
          "description": "Organization Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update Organization",
        "tags": [
          "Organizations"
        ]
      }
    },
    "/v1/organizations/{organization_id}/address": {
      "get": {
        "description": "Get the address for an organization",
        "operationId": "get_organization_address",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationAddress"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Organization Address",
        "tags": [
          "Organization Addresses"
        ]
      },
      "patch": {
        "description": "Update the address for an organization",
        "operationId": "update_organization_address",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationAddressUpdateRequest"
              }
            }
          },
          "description": "Organization Address Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationAddress"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update Organization Address",
        "tags": [
          "Organization Addresses"
        ]
      },
      "post": {
        "description": "Create the address for an organization",
        "operationId": "create_organization_address",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationAddressCreateRequest"
              }
            }
          },
          "description": "Organization Address Create Request",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationAddress"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create Organization Address",
        "tags": [
          "Organization Addresses"
        ]
      }
    },
    "/v1/organizations/{organization_id}/billing/cost": {
      "get": {
        "description": "Get the organization's total usage cost per UTC day over a date range (max 90 days), summing open and closed resources. One entry per day, oldest first. Defaults to the last 30 days.",
        "operationId": "get_organization_billing_cost",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Inclusive start day, YYYY-MM-DD (UTC). Defaults to 30 days before to.",
            "example": "2026-06-08",
            "in": "query",
            "name": "from",
            "schema": {
              "format": "date",
              "type": "string"
            }
          },
          {
            "description": "Inclusive end day, YYYY-MM-DD (UTC). Defaults to today.",
            "example": "2026-07-08",
            "in": "query",
            "name": "to",
            "schema": {
              "format": "date",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDailyCost"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Organization Daily Cost",
        "tags": [
          "Billing"
        ]
      }
    },
    "/v1/organizations/{organization_id}/billing/history": {
      "get": {
        "description": "List the organization's billing history: prepaid credits, top-ups, and manual adjustments, newest first. Paginated with an opaque cursor.",
        "operationId": "list_organization_billing_history",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by entry type",
            "example": "grant",
            "in": "query",
            "name": "type",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the funding flow a credit came from",
            "example": "auto_recharge",
            "in": "query",
            "name": "purpose",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by currency, as an ISO 4217 code. Case-insensitive.",
            "example": "USD",
            "in": "query",
            "name": "currency",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only entries at or after this RFC 3339 instant",
            "example": "2026-01-01T00:00:00Z",
            "in": "query",
            "name": "created_at_min",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Only entries at or before this RFC 3339 instant",
            "example": "2026-01-31T23:59:59Z",
            "in": "query",
            "name": "created_at_max",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, amount",
            "example": "amount:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-BillingHistoryEntry"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Organization Billing History",
        "tags": [
          "Billing"
        ]
      }
    },
    "/v1/organizations/{organization_id}/billing/recharge": {
      "post": {
        "description": "Charge the card on file up to the recharge target now instead of waiting for the scheduled retry. Automatic-policy prepaid organizations only. Idempotency-Key header required.",
        "operationId": "recharge_organization_billing",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Idempotency key scoping one charge attempt; reuse to retry it, but use a fresh key for a new attempt (e.g. after updating a declined card)",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationBillingSummaryResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Re-trigger Organization Prepaid Recharge",
        "tags": [
          "Billing"
        ]
      }
    },
    "/v1/organizations/{organization_id}/billing/recharge_policy": {
      "get": {
        "description": "Get the organization's recharge configuration: the top-up mode, the fixed and proportional threshold components, and when the current mode took effect.",
        "operationId": "get_organization_recharge_policy",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationRechargePolicyResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Organization Recharge Policy",
        "tags": [
          "Billing"
        ]
      },
      "patch": {
        "description": "Update the organization's recharge mode: manual for self-serve top-ups, or automatic to charge the card on file at the recharge threshold (fixed and proportional required).",
        "operationId": "update_organization_recharge_policy",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationRechargePolicyRequest"
              }
            }
          },
          "description": "Recharge policy",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationRechargePolicyResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update Organization Recharge Policy",
        "tags": [
          "Billing"
        ]
      }
    },
    "/v1/organizations/{organization_id}/billing/statements": {
      "get": {
        "description": "Get the itemized monthly usage statement: consumption grouped by project, resource type, and dimension, priced from recorded usage. Defaults to the current month.",
        "operationId": "get_organization_billing_statement",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Billing month, YYYY-MM (UTC). Defaults to the current month.",
            "example": "2026-07",
            "in": "query",
            "name": "month",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationUsageStatement"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Organization Usage Statement",
        "tags": [
          "Billing"
        ]
      }
    },
    "/v1/organizations/{organization_id}/billing/summary": {
      "get": {
        "description": "Get the organization's billing summary: effective balance, monthly and daily run-rate cost, runway, and the projected next-recharge date. Costs are run-rate projections.",
        "operationId": "get_organization_billing_summary",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationBillingSummaryResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Organization Billing Summary",
        "tags": [
          "Billing"
        ]
      }
    },
    "/v1/organizations/{organization_id}/billing/topup": {
      "post": {
        "description": "Charge the card on file and credit the prepaid balance. A unique Idempotency-Key header is required; reuse it across retries so a timed-out top-up is not charged twice.",
        "operationId": "top_up_organization_billing",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Unique idempotency key scoping the charge; reuse the same value across retries so a timed-out top-up is not charged twice",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationBillingTopUpRequest"
              }
            }
          },
          "description": "Top-up request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationBillingSummaryResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Payment Required"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Top Up Organization Prepaid Balance",
        "tags": [
          "Billing"
        ]
      }
    },
    "/v1/organizations/{organization_id}/leave": {
      "post": {
        "description": "Leave an Organization",
        "operationId": "leave_organization",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Leave Organization",
        "tags": [
          "Organizations"
        ]
      }
    },
    "/v1/organizations/{organization_id}/memberships": {
      "get": {
        "description": "List all memberships for an organization",
        "operationId": "list_organization_memberships",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by membership role",
            "in": "query",
            "name": "role",
            "schema": {
              "enum": [
                "owner",
                "member"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by the member's user ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "user_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, role",
            "example": "role:asc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-OrganizationMembership"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Organization Memberships",
        "tags": [
          "Organization Memberships"
        ]
      }
    },
    "/v1/organizations/{organization_id}/memberships/{membership_id}": {
      "get": {
        "description": "Get details about an organization membership",
        "operationId": "get_organization_membership",
        "parameters": [
          {
            "description": "Organization ID",
            "in": "path",
            "name": "organization_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Membership ID",
            "in": "path",
            "name": "membership_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMembership"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Organization Membership",
        "tags": [
          "Organization Memberships"
        ]
      }
    },
    "/v1/projects": {
      "get": {
        "description": "List all projects",
        "operationId": "list_projects",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; a Project must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the Project name",
            "example": "prod",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, updated_at, name",
            "example": "name:asc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-Project"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Projects",
        "tags": [
          "Projects"
        ]
      },
      "post": {
        "description": "Create a new project",
        "operationId": "create_project",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectCreateRequest"
              }
            }
          },
          "description": "Project Create Request",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create Project",
        "tags": [
          "Projects"
        ]
      }
    },
    "/v1/projects/{project_id}": {
      "delete": {
        "description": "Delete a project",
        "operationId": "delete_project",
        "parameters": [
          {
            "description": "Project ID",
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete Project",
        "tags": [
          "Projects"
        ]
      },
      "get": {
        "description": "Get details about a project",
        "operationId": "get_project",
        "parameters": [
          {
            "description": "Project ID",
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Project Details",
        "tags": [
          "Projects"
        ]
      },
      "patch": {
        "description": "Update an existing project",
        "operationId": "update_project",
        "parameters": [
          {
            "description": "Project ID",
            "in": "path",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectUpdateRequest"
              }
            }
          },
          "description": "Project Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update Project",
        "tags": [
          "Projects"
        ]
      }
    },
    "/v1/quotas": {
      "get": {
        "description": "List quota usage and limits for the current organization across all regions",
        "operationId": "list_quotas",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-QuotaResponse"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Quotas",
        "tags": [
          "Quotas"
        ]
      }
    },
    "/v1/quotas/{region}": {
      "get": {
        "description": "Get quota usage and limits for the current organization in a single region",
        "operationId": "get_quota",
        "parameters": [
          {
            "description": "Region name",
            "example": "us-sva-2",
            "in": "path",
            "name": "region",
            "required": true,
            "schema": {
              "enum": [
                "us-sva-2"
              ],
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/QuotaResponse"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Region Quota",
        "tags": [
          "Quotas"
        ]
      }
    },
    "/v1/regions": {
      "get": {
        "description": "List all regions",
        "operationId": "list_regions",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-RegionResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Regions",
        "tags": [
          "Regions"
        ]
      }
    },
    "/v1/regions/{name}": {
      "get": {
        "description": "Get a region by name",
        "operationId": "get_region",
        "parameters": [
          {
            "description": "Region name",
            "example": "us-sva-2",
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegionResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Region",
        "tags": [
          "Regions"
        ]
      }
    },
    "/v1/rpc_nodes/dedicated": {
      "get": {
        "description": "List all RPC Node Dedicated you created",
        "operationId": "list_rpc_nodes_dedicated",
        "parameters": [
          {
            "description": "Project ID of resources to request",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by blockchain",
            "example": "ethereum",
            "in": "query",
            "name": "blockchain",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by network",
            "example": "mainnet",
            "in": "query",
            "name": "network",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; an RPC Node Dedicated must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the RPC Node Dedicated name",
            "example": "eth",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, name, blockchain, network",
            "example": "blockchain:asc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-RPCNodeDedicated"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List RPC Node Dedicated",
        "tags": [
          "RPC Node Dedicated"
        ]
      }
    },
    "/v1/rpc_nodes/dedicated/blockchains": {
      "get": {
        "description": "List all Dedicated Blockchains",
        "operationId": "list_rpc_nodes_dedicated_blockchains",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by blockchain",
            "example": "ethereum",
            "in": "query",
            "name": "blockchain",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by network",
            "example": "mainnet",
            "in": "query",
            "name": "network",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, blockchain, network",
            "example": "blockchain:asc,network:asc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-RPCNodeDedicatedBlockchain"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Dedicated Blockchains",
        "tags": [
          "RPC Node Dedicated"
        ]
      }
    },
    "/v1/rpc_nodes/dedicated/{node_id}": {
      "get": {
        "description": "Get details about an RPC Node Dedicated",
        "operationId": "get_rpc_nodes_dedicated",
        "parameters": [
          {
            "description": "Node ID",
            "in": "path",
            "name": "node_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RPCNodeDedicated"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get RPC Node Dedicated Details",
        "tags": [
          "RPC Node Dedicated"
        ]
      }
    },
    "/v1/rpc_nodes/flex": {
      "get": {
        "description": "List all RPC Node Flex you created",
        "operationId": "list_rpc_nodes_flex",
        "parameters": [
          {
            "description": "Project ID of resources to request",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "project_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by blockchain",
            "example": "ethereum",
            "in": "query",
            "name": "blockchain",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by network",
            "example": "mainnet",
            "in": "query",
            "name": "network",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by tags. Repeat the parameter to require several tags; an RPC Node Flex must carry all of them.",
            "in": "query",
            "name": "tags",
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Filter by a case-insensitive substring of the RPC Node Flex name",
            "example": "eth",
            "in": "query",
            "name": "name",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, name, blockchain, network",
            "example": "blockchain:asc,created_at:desc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-RPCNodeFlex"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List RPC Node Flex",
        "tags": [
          "RPC Node Flex"
        ]
      },
      "post": {
        "description": "Create a new RPC Node Flex",
        "operationId": "create_rpc_nodes_flex",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RPCNodeFlexCreateRequest"
              }
            }
          },
          "description": "RPC Node Flex creation request",
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RPCNodeFlex"
                }
              }
            },
            "description": "Created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Create RPC Node Flex",
        "tags": [
          "RPC Node Flex"
        ]
      }
    },
    "/v1/rpc_nodes/flex/blockchains": {
      "get": {
        "description": "List all Flex Blockchains",
        "operationId": "list_rpc_nodes_flex_blockchains",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by blockchain",
            "example": "ethereum",
            "in": "query",
            "name": "blockchain",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by network",
            "example": "mainnet",
            "in": "query",
            "name": "network",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated sort terms in precedence order, each field:asc or field:desc. Fields: created_at, blockchain, network",
            "example": "blockchain:asc,network:asc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-RPCNodeFlexBlockchain"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Flex Blockchains",
        "tags": [
          "RPC Node Flex"
        ]
      }
    },
    "/v1/rpc_nodes/flex/{node_id}": {
      "delete": {
        "description": "Delete an RPC Node Flex",
        "operationId": "delete_rpc_nodes_flex",
        "parameters": [
          {
            "description": "Node ID",
            "in": "path",
            "name": "node_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Delete RPC Node Flex",
        "tags": [
          "RPC Node Flex"
        ]
      },
      "get": {
        "description": "Get details about an RPC Node Flex",
        "operationId": "get_rpc_nodes_flex",
        "parameters": [
          {
            "description": "Node ID",
            "in": "path",
            "name": "node_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RPCNodeFlex"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get RPC Node Flex Details",
        "tags": [
          "RPC Node Flex"
        ]
      },
      "patch": {
        "description": "Update an existing RPC Node Flex",
        "operationId": "update_rpc_nodes_flex",
        "parameters": [
          {
            "description": "Node ID",
            "in": "path",
            "name": "node_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RPCNodeFlexUpdateRequest"
              }
            }
          },
          "description": "RPC Node Flex update request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RPCNodeFlex"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Conflict"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update RPC Node Flex",
        "tags": [
          "RPC Node Flex"
        ]
      }
    },
    "/v1/usage": {
      "get": {
        "description": "List per-resource usage records for the current organization. Each item is one resource with its nested dimension history (active and closed segments).",
        "operationId": "list_usage",
        "parameters": [
          {
            "description": "Maximum number of items to return",
            "example": 25,
            "in": "query",
            "name": "limit",
            "schema": {
              "default": 10,
              "maximum": 100,
              "minimum": 10,
              "type": "integer"
            }
          },
          {
            "description": "Pagination cursor returned by a previous request. Only valid for the same filters and sort order.",
            "example": "RhwniMT4B74siYZcPF8TnCdGI1l9rpPvg",
            "in": "query",
            "name": "cursor",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by the kind of resource metered",
            "in": "query",
            "name": "resource_type",
            "schema": {
              "enum": [
                "vm",
                "volume",
                "vpc",
                "connect_connection",
                "nks_cluster",
                "nks_node_pool",
                "nks_load_balancer"
              ],
              "type": "string"
            }
          },
          {
            "description": "Filter by a single resource",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "query",
            "name": "resource_id",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Filter by region",
            "example": "us-sva-2",
            "in": "query",
            "name": "region",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only resources with usage in this dimension",
            "example": "compute_vcpu",
            "in": "query",
            "name": "dimension",
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only resources metered at or after this RFC 3339 instant; a window a usage row must overlap",
            "example": "2026-01-01T00:00:00Z",
            "in": "query",
            "name": "active_at_min",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Only resources metered at or before this RFC 3339 instant",
            "example": "2026-01-31T23:59:59Z",
            "in": "query",
            "name": "active_at_max",
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Sort term as field:asc or field:desc. Field: created_at, the resource's earliest usage row matching the filters",
            "example": "created_at:asc",
            "in": "query",
            "name": "sort",
            "schema": {
              "default": "created_at:desc",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/List-UsageResponse"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "List Usage Records",
        "tags": [
          "Usage"
        ]
      }
    },
    "/v1/usage/{resource_id}": {
      "get": {
        "description": "Get the usage record for a single resource (metadata plus dimension history) for the current organization.",
        "operationId": "get_usage",
        "parameters": [
          {
            "description": "Resource ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "in": "path",
            "name": "resource_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageResponse"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get Usage Record",
        "tags": [
          "Usage"
        ]
      }
    },
    "/v1/user": {
      "get": {
        "description": "Get details about an authenticated user",
        "operationId": "get_user",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get User Details",
        "tags": [
          "User"
        ]
      }
    },
    "/v1/user/security": {
      "get": {
        "description": "Get the current user's security settings",
        "operationId": "get_user_security",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSecurity"
                }
              }
            },
            "description": "OK"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Get User Security Settings",
        "tags": [
          "User"
        ]
      },
      "patch": {
        "description": "Update the current user's security settings",
        "operationId": "update_user_security",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserSecurityUpdateRequest"
              }
            }
          },
          "description": "User Security Update Request",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserSecurity"
                }
              }
            },
            "description": "OK"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Bad Request"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Not Found"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            },
            "description": "Internal Server Error"
          }
        },
        "security": [
          {
            "bearerauth": []
          }
        ],
        "summary": "Update User Security Settings",
        "tags": [
          "User"
        ]
      }
    }
  },
  "servers": [
    {
      "description": "Nirvana Labs API",
      "url": "https://api.nirvanalabs.io"
    }
  ]
}