{
  "openapi": "3.0.0",
  "info": {
    "contact": {
      "email": "support@daytona.com",
      "name": "Daytona Platforms Inc.",
      "url": "https://www.daytona.io"
    },
    "description": "Daytona AI platform API Docs",
    "license": {
      "name": "Apache-2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0"
    },
    "title": "Daytona",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "http://localhost:3000"
    }
  ],
  "paths": {
    "/config": {
      "get": {
        "operationId": "ConfigController_getConfig",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DaytonaConfiguration"
                }
              }
            },
            "description": "Daytona configuration"
          }
        },
        "summary": "Get config",
        "tags": [
          "config"
        ]
      }
    },
    "/api-keys": {
      "get": {
        "operationId": "listApiKeys",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ApiKeyList"
                  },
                  "type": "array"
                }
              }
            },
            "description": "API keys retrieved successfully."
          },
          "500": {
            "description": "Error fetching API keys."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List API keys",
        "tags": [
          "api-keys"
        ]
      },
      "post": {
        "operationId": "createApiKey",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateApiKey"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyResponse"
                }
              }
            },
            "description": "API key created successfully."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create API key",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/api-keys/current": {
      "get": {
        "operationId": "getCurrentApiKey",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyList"
                }
              }
            },
            "description": "API key retrieved successfully."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get current API key's details",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/api-keys/{name}": {
      "delete": {
        "operationId": "deleteApiKey",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "API key deleted successfully."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete API key",
        "tags": [
          "api-keys"
        ]
      },
      "get": {
        "operationId": "getApiKey",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiKeyList"
                }
              }
            },
            "description": "API key retrieved successfully."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get API key",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/api-keys/{userId}/{name}": {
      "delete": {
        "operationId": "deleteApiKeyForUser",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "userId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "API key deleted successfully."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete API key for user",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/organizations/invitations": {
      "get": {
        "operationId": "listOrganizationInvitationsForAuthenticatedUser",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OrganizationInvitation"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of organization invitations"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List organization invitations for authenticated user",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/invitations/count": {
      "get": {
        "operationId": "getOrganizationInvitationsCountForAuthenticatedUser",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "number"
                }
              }
            },
            "description": "Count of organization invitations"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get count of organization invitations for authenticated user",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/invitations/{invitationId}/accept": {
      "post": {
        "operationId": "acceptOrganizationInvitation",
        "parameters": [
          {
            "description": "Invitation ID",
            "explode": false,
            "in": "path",
            "name": "invitationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationInvitation"
                }
              }
            },
            "description": "Organization invitation accepted successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Accept organization invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/invitations/{invitationId}/decline": {
      "post": {
        "operationId": "declineOrganizationInvitation",
        "parameters": [
          {
            "description": "Invitation ID",
            "explode": false,
            "in": "path",
            "name": "invitationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "description": "Organization invitation declined successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Decline organization invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations": {
      "get": {
        "operationId": "listOrganizations",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Organization"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of organizations"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List organizations",
        "tags": [
          "organizations"
        ]
      },
      "post": {
        "operationId": "createOrganization",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrganization"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Organization created successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create organization",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/default-region": {
      "patch": {
        "operationId": "setOrganizationDefaultRegion",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganizationDefaultRegion"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Default region set successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Set default region for organization",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/default-queue-timeout": {
      "patch": {
        "operationId": "updateOrganizationDefaultQueueTimeout",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganizationDefaultQueueTimeout"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Default queue timeout updated successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Set organization default queue timeout",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}": {
      "delete": {
        "operationId": "deleteOrganization",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Organization deleted successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete organization",
        "tags": [
          "organizations"
        ]
      },
      "get": {
        "operationId": "getOrganization",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Organization details"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get organization by ID",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/usage": {
      "get": {
        "operationId": "getOrganizationUsageOverview",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationUsageOverview"
                }
              }
            },
            "description": "Current usage overview"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get organization current usage overview",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/available-sandbox-classes": {
      "get": {
        "operationId": "listAvailableSandboxClasses",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AvailableSandboxClass"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Available sandbox classes"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List available sandbox classes for organization",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/leave": {
      "post": {
        "operationId": "leaveOrganization",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Organization left successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Leave organization",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/otel-config/by-sandbox-auth-token/{authToken}": {
      "get": {
        "operationId": "getOrganizationOtelConfigBySandboxAuthToken",
        "parameters": [
          {
            "description": "Sandbox Auth Token",
            "explode": false,
            "in": "path",
            "name": "authToken",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelConfig"
                }
              }
            },
            "description": "OTEL Config"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get organization OTEL config by sandbox auth token",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/sandbox-identity/by-sandbox-auth-token/{authToken}": {
      "get": {
        "operationId": "getSandboxIdentityBySandboxAuthToken",
        "parameters": [
          {
            "description": "Sandbox Auth Token",
            "explode": false,
            "in": "path",
            "name": "authToken",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxIdentity"
                }
              }
            },
            "description": "Sandbox identity"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandbox identity by sandbox auth token",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/otel-config": {
      "delete": {
        "operationId": "deleteOrganizationOtelConfig",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "OpenTelemetry configuration deleted successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete organization OpenTelemetry configuration",
        "tags": [
          "organizations"
        ]
      },
      "get": {
        "operationId": "getOrganizationOtelConfig",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelConfig"
                }
              }
            },
            "description": "OTEL Config"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get organization OTEL config by organization ID",
        "tags": [
          "organizations"
        ]
      },
      "put": {
        "operationId": "updateOrganizationOtelConfig",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OtelConfig"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OpenTelemetry configuration updated successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update organization OpenTelemetry configuration",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/experimental-config": {
      "put": {
        "operationId": "updateExperimentalConfig",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "additionalProperties": true,
                "example": {
                  "otel": {
                    "endpoint": "http://otel-collector:4317",
                    "headers": {
                      "api-key": "XXX"
                    }
                  }
                },
                "type": "object"
              }
            }
          },
          "description": "Experimental configuration as a JSON object. Set to null to clear the configuration.",
          "required": false
        },
        "responses": {
          "200": {
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update experimental configuration",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/roles": {
      "get": {
        "operationId": "listOrganizationRoles",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OrganizationRole"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of organization roles"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List organization roles",
        "tags": [
          "organizations"
        ]
      },
      "post": {
        "operationId": "createOrganizationRole",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrganizationRole"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationRole"
                }
              }
            },
            "description": "Organization role created successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create organization role",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/roles/{roleId}": {
      "delete": {
        "operationId": "deleteOrganizationRole",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Role ID",
            "explode": false,
            "in": "path",
            "name": "roleId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Organization role deleted successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete organization role",
        "tags": [
          "organizations"
        ]
      },
      "put": {
        "operationId": "updateOrganizationRole",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Role ID",
            "explode": false,
            "in": "path",
            "name": "roleId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganizationRole"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationRole"
                }
              }
            },
            "description": "Role updated successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update organization role",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/users": {
      "get": {
        "operationId": "listOrganizationMembers",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OrganizationUser"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of organization members"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List organization members",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/users/{userId}/access": {
      "post": {
        "operationId": "updateAccessForOrganizationMember",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "User ID",
            "explode": false,
            "in": "path",
            "name": "userId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganizationMemberAccess"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationUser"
                }
              }
            },
            "description": "Access updated successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update access for organization member",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/users/{userId}": {
      "delete": {
        "operationId": "deleteOrganizationMember",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "User ID",
            "explode": false,
            "in": "path",
            "name": "userId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "User removed from organization successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete organization member",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/invitations": {
      "get": {
        "operationId": "listOrganizationInvitations",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/OrganizationInvitation"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of pending organization invitations"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List pending organization invitations",
        "tags": [
          "organizations"
        ]
      },
      "post": {
        "operationId": "createOrganizationInvitation",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrganizationInvitation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationInvitation"
                }
              }
            },
            "description": "Organization invitation created successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create organization invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/invitations/{invitationId}": {
      "put": {
        "operationId": "updateOrganizationInvitation",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Invitation ID",
            "explode": false,
            "in": "path",
            "name": "invitationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganizationInvitation"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationInvitation"
                }
              }
            },
            "description": "Organization invitation updated successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update organization invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/invitations/{invitationId}/cancel": {
      "post": {
        "operationId": "cancelOrganizationInvitation",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Invitation ID",
            "explode": false,
            "in": "path",
            "name": "invitationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Organization invitation cancelled successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Cancel organization invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/regions": {
      "get": {
        "operationId": "listAvailableRegions",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Region"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of all available regions"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List all available regions for the organization",
        "tags": [
          "organizations"
        ]
      },
      "post": {
        "operationId": "createRegion",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRegion"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateRegionResponse"
                }
              }
            },
            "description": "The region has been successfully created."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create a new region",
        "tags": [
          "organizations"
        ]
      }
    },
    "/regions/{id}": {
      "delete": {
        "operationId": "deleteRegion",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Region ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "The region has been successfully deleted."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete a region",
        "tags": [
          "organizations"
        ]
      },
      "get": {
        "operationId": "getRegionById",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Region ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Region"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get region by ID",
        "tags": [
          "organizations"
        ]
      },
      "patch": {
        "operationId": "updateRegion",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Region ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRegion"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update region configuration",
        "tags": [
          "organizations"
        ]
      }
    },
    "/regions/{id}/regenerate-proxy-api-key": {
      "post": {
        "operationId": "regenerateProxyApiKey",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Region ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegenerateApiKeyResponse"
                }
              }
            },
            "description": "The proxy API key has been successfully regenerated."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Regenerate proxy API key for a region",
        "tags": [
          "organizations"
        ]
      }
    },
    "/regions/{id}/regenerate-ssh-gateway-api-key": {
      "post": {
        "operationId": "regenerateSshGatewayApiKey",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Region ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegenerateApiKeyResponse"
                }
              }
            },
            "description": "The SSH gateway API key has been successfully regenerated."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Regenerate SSH gateway API key for a region",
        "tags": [
          "organizations"
        ]
      }
    },
    "/regions/{id}/regenerate-snapshot-manager-credentials": {
      "post": {
        "operationId": "regenerateSnapshotManagerCredentials",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Region ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotManagerCredentials"
                }
              }
            },
            "description": "The snapshot manager credentials have been successfully regenerated."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Regenerate snapshot manager credentials for a region",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/identity-providers/workos-admin-portal-link": {
      "post": {
        "operationId": "generateWorkosAdminPortalLink",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GenerateWorkosAdminPortalLink"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkosAdminPortalLink"
                }
              }
            },
            "description": "Admin Portal link generated; it expires five minutes after issuance"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Generate a WorkOS Admin Portal link for configuring SSO or SCIM directory sync",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/identity-providers/workos-sso-connections": {
      "get": {
        "operationId": "listWorkosSsoConnections",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WorkosSsoConnection"
                  },
                  "type": "array"
                }
              }
            },
            "description": "SSO connections as configured in the WorkOS Admin Portal; empty when none exist"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List the SSO connections configured for the organization in WorkOS",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/identity-providers": {
      "get": {
        "operationId": "listOrganizationIdentityProviders",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/IdentityProvider"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of identity providers"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List organization identity providers",
        "tags": [
          "organizations"
        ]
      },
      "post": {
        "operationId": "createOrganizationIdentityProvider",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIdentityProvider"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityProvider"
                }
              }
            },
            "description": "Identity provider created successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create organization identity provider",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/identity-providers/{id}": {
      "delete": {
        "operationId": "deleteOrganizationIdentityProvider",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Identity provider ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Identity provider deleted successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete organization identity provider",
        "tags": [
          "organizations"
        ]
      },
      "get": {
        "operationId": "getOrganizationIdentityProvider",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Identity provider ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityProvider"
                }
              }
            },
            "description": "Identity provider details"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get organization identity provider",
        "tags": [
          "organizations"
        ]
      },
      "patch": {
        "operationId": "updateOrganizationIdentityProvider",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Identity provider ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateIdentityProvider"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IdentityProvider"
                }
              }
            },
            "description": "Identity provider updated successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update organization identity provider",
        "tags": [
          "organizations"
        ]
      }
    },
    "/organizations/{organizationId}/identity-providers/test-connection": {
      "post": {
        "operationId": "testOrganizationIdentityProviderConnection",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TestIdentityProviderConnection"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TestIdentityProviderConnectionResponse"
                }
              }
            },
            "description": "Connection test result"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Test OIDC identity provider connection",
        "tags": [
          "organizations"
        ]
      }
    },
    "/users/me": {
      "get": {
        "operationId": "getAuthenticatedUser",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "User details"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get authenticated user",
        "tags": [
          "users"
        ]
      }
    },
    "/users/me/logins": {
      "post": {
        "description": "Called by the dashboard once per completed sign-in. The email access gate evaluates the user and reports the login to analytics; a refused user receives 403 with code EMAIL_ACCESS_DENIED.",
        "operationId": "recordLogin",
        "parameters": [],
        "responses": {
          "204": {
            "description": "Login recorded"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Record a completed login",
        "tags": [
          "users"
        ]
      }
    },
    "/users/privacy-policies/accept": {
      "post": {
        "operationId": "acceptPrivacyPolicies",
        "parameters": [],
        "responses": {
          "204": {
            "description": "Privacy policies accepted"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Accept the current privacy policies",
        "tags": [
          "users"
        ]
      }
    },
    "/users/account-providers": {
      "get": {
        "description": "Social sign-in providers (Google, GitHub, ...) enabled for this environment, each flagged with whether the authenticated user has an identity linked through it.",
        "operationId": "getAccountProviders",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/AccountProvider"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Account providers"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get account providers",
        "tags": [
          "users"
        ]
      }
    },
    "/users/linked-accounts": {
      "post": {
        "deprecated": true,
        "description": "Withdrawn. This operation is no longer supported and always responds 410.",
        "operationId": "linkAccount",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateLinkedAccount"
              }
            }
          },
          "required": true
        },
        "responses": {
          "410": {
            "description": "Account linking is no longer supported"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Link account (withdrawn)",
        "tags": [
          "users"
        ]
      }
    },
    "/shared-regions": {
      "get": {
        "operationId": "listSharedRegions",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Region"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of all shared regions"
          }
        },
        "summary": "List all shared regions",
        "tags": [
          "regions"
        ]
      }
    },
    "/sandbox": {
      "get": {
        "description": "Advanced filtering and ordering. Eventually consistent.",
        "operationId": "listSandboxes",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Pagination cursor from a previous response",
            "explode": true,
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Number of results per page",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filter by ID prefix (case-insensitive)",
            "explode": true,
            "in": "query",
            "name": "id",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Filter by name prefix (case-insensitive)",
            "explode": true,
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "JSON encoded labels to filter by",
            "explode": true,
            "in": "query",
            "name": "labels",
            "required": false,
            "schema": {
              "example": "{\"label1\": \"value1\", \"label2\": \"value2\"}",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Include results with errored state and deleted desired state",
            "explode": true,
            "in": "query",
            "name": "includeErroredDeleted",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Include unclaimed warm pool sandboxes (excluded by default)",
            "explode": true,
            "in": "query",
            "name": "includeWarm",
            "required": false,
            "schema": {
              "default": false,
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "List of states to filter by.",
            "explode": true,
            "in": "query",
            "name": "states",
            "required": false,
            "schema": {
              "items": {
                "$ref": "#/components/schemas/SandboxState"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "List of snapshot names to filter by",
            "explode": true,
            "in": "query",
            "name": "snapshots",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "List of regions IDs to filter by",
            "explode": true,
            "in": "query",
            "name": "regionIds",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "List of sandbox classes to filter by",
            "explode": true,
            "in": "query",
            "name": "sandboxClasses",
            "required": false,
            "schema": {
              "items": {
                "$ref": "#/components/schemas/SandboxClass"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Minimum CPU",
            "explode": true,
            "in": "query",
            "name": "minCpu",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "number"
            },
            "style": "form"
          },
          {
            "description": "Maximum CPU",
            "explode": true,
            "in": "query",
            "name": "maxCpu",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "number"
            },
            "style": "form"
          },
          {
            "description": "Minimum memory in GiB",
            "explode": true,
            "in": "query",
            "name": "minMemoryGiB",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "number"
            },
            "style": "form"
          },
          {
            "description": "Maximum memory in GiB",
            "explode": true,
            "in": "query",
            "name": "maxMemoryGiB",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "number"
            },
            "style": "form"
          },
          {
            "description": "Minimum disk space in GiB",
            "explode": true,
            "in": "query",
            "name": "minDiskGiB",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "number"
            },
            "style": "form"
          },
          {
            "description": "Maximum disk space in GiB",
            "explode": true,
            "in": "query",
            "name": "maxDiskGiB",
            "required": false,
            "schema": {
              "minimum": 1,
              "type": "number"
            },
            "style": "form"
          },
          {
            "description": "Minimum GPU",
            "explode": true,
            "in": "query",
            "name": "minGpu",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "number"
            },
            "style": "form"
          },
          {
            "description": "Maximum GPU",
            "explode": true,
            "in": "query",
            "name": "maxGpu",
            "required": false,
            "schema": {
              "minimum": 0,
              "type": "number"
            },
            "style": "form"
          },
          {
            "description": "Filter by public status",
            "explode": true,
            "in": "query",
            "name": "isPublic",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Filter by recoverable status",
            "explode": true,
            "in": "query",
            "name": "isRecoverable",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Include items created after this timestamp",
            "explode": true,
            "in": "query",
            "name": "createdAtAfter",
            "required": false,
            "schema": {
              "example": "2024-01-01T00:00:00Z",
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Include items created before this timestamp",
            "explode": true,
            "in": "query",
            "name": "createdAtBefore",
            "required": false,
            "schema": {
              "example": "2024-12-31T23:59:59Z",
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Include items with last event after this timestamp",
            "explode": true,
            "in": "query",
            "name": "lastEventAfter",
            "required": false,
            "schema": {
              "example": "2024-01-01T00:00:00Z",
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Include items with last event before this timestamp",
            "explode": true,
            "in": "query",
            "name": "lastEventBefore",
            "required": false,
            "schema": {
              "example": "2024-12-31T23:59:59Z",
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Include items scheduled for auto destroy after this timestamp",
            "explode": true,
            "in": "query",
            "name": "autoDestroyAtAfter",
            "required": false,
            "schema": {
              "example": "2024-01-01T00:00:00Z",
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Include items scheduled for auto destroy before this timestamp",
            "explode": true,
            "in": "query",
            "name": "autoDestroyAtBefore",
            "required": false,
            "schema": {
              "example": "2024-12-31T23:59:59Z",
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Field to sort by",
            "explode": true,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SandboxListSortField"
            },
            "style": "form"
          },
          {
            "description": "Direction to sort by",
            "explode": true,
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SandboxListSortDirection"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSandboxesResponse"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List sandboxes",
        "tags": [
          "sandbox"
        ]
      },
      "post": {
        "operationId": "createSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSandbox"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "The sandbox has been successfully created."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create a new sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/for-runner": {
      "get": {
        "operationId": "getSandboxesForRunner",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Comma-separated list of sandbox states to filter by",
            "explode": true,
            "in": "query",
            "name": "states",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Skip sandboxes where state differs from desired state",
            "explode": true,
            "in": "query",
            "name": "skipReconcilingSandboxes",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Sandbox"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of sandboxes for the authenticated runner"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandboxes for the authenticated runner",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}": {
      "delete": {
        "operationId": "deleteSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Sandbox has been deleted"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete sandbox",
        "tags": [
          "sandbox"
        ]
      },
      "get": {
        "description": "Sandboxes destroyed by spot preemption remain retrievable for 24 hours so `spotEvictedAt` can be read. Sandboxes destroyed by queue timeout remain retrievable for 24 hours so `queueTimedOutAt` can be read.",
        "operationId": "getSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Include verbose output",
            "explode": true,
            "in": "query",
            "name": "verbose",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Sandbox details"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandbox details",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/recover": {
      "post": {
        "operationId": "recoverSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "If true, the sandbox is left in STOPPED after recovery instead of being started.",
            "explode": true,
            "in": "query",
            "name": "skipStart",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Recovery initiated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Recover sandbox from error state",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/start": {
      "post": {
        "description": "Starts a stopped or archived sandbox, or resumes a paused sandbox. The transition taken depends on the current sandbox state.",
        "operationId": "startSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Sandbox has been started, is being restored from archived state, or is being resumed from paused"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Start or resume sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/stop": {
      "post": {
        "operationId": "stopSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Force stop the sandbox using SIGKILL instead of SIGTERM",
            "explode": true,
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Sandbox has been stopped"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Stop sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/pause": {
      "post": {
        "operationId": "pauseSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Sandbox pause has been initiated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Pause sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/resize": {
      "post": {
        "operationId": "resizeSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResizeSandbox"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Sandbox has been resized"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Resize sandbox resources",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/labels": {
      "put": {
        "operationId": "replaceLabels",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SandboxLabels"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxLabels"
                }
              }
            },
            "description": "Labels have been successfully replaced"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Replace sandbox labels",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/state": {
      "put": {
        "operationId": "updateSandboxState",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSandboxStateDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Sandbox state has been successfully updated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update sandbox state",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/backup": {
      "post": {
        "deprecated": true,
        "description": "Deprecated: backups are managed automatically. This endpoint is a no-op kept for compatibility.",
        "operationId": "createBackup",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Sandbox backup request acknowledged (no-op)"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create sandbox backup",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/snapshot": {
      "post": {
        "operationId": "createSandboxSnapshot",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSandboxSnapshot"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Snapshot creation has been initiated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create a snapshot from a sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/fork": {
      "post": {
        "operationId": "forkSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForkSandbox"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Fork operation has been initiated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Fork a sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/forks": {
      "get": {
        "operationId": "getSandboxForks",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": true,
            "in": "query",
            "name": "includeDestroyed",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Sandbox"
                  },
                  "type": "array"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandbox fork children",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/parent": {
      "get": {
        "operationId": "getSandboxParent",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandbox fork parent",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/ancestors": {
      "get": {
        "operationId": "getSandboxAncestors",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Sandbox"
                  },
                  "type": "array"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandbox fork ancestor chain",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/public/{isPublic}": {
      "post": {
        "operationId": "updatePublicStatus",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Public status to set",
            "explode": false,
            "in": "path",
            "name": "isPublic",
            "required": true,
            "schema": {
              "type": "boolean"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Public status has been successfully updated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update public status",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/signing-key": {
      "get": {
        "operationId": "getSandboxSigningKey",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Signing key of the sandbox"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get the signing key for a sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/signing-key/rotate": {
      "post": {
        "operationId": "rotateSigningKey",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "New signing key"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Rotate the signing key, invalidating all previously signed URLs",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/last-activity": {
      "post": {
        "operationId": "updateLastActivity",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLastActivity"
              }
            }
          },
          "required": false
        },
        "responses": {
          "201": {
            "description": "Last activity has been updated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update sandbox last activity",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/autostop/{interval}": {
      "post": {
        "operationId": "setAutostopInterval",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Auto-stop interval in minutes (0 to disable)",
            "explode": false,
            "in": "path",
            "name": "interval",
            "required": true,
            "schema": {
              "type": "number"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Auto-stop interval has been set"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Set sandbox auto-stop interval",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/autopause/{interval}": {
      "post": {
        "operationId": "setAutoPauseInterval",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Auto-pause interval in minutes (0 to disable)",
            "explode": false,
            "in": "path",
            "name": "interval",
            "required": true,
            "schema": {
              "type": "number"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Auto-pause interval has been set"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Set sandbox auto-pause interval",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/ttl/{ttlMinutes}": {
      "post": {
        "operationId": "setTtl",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Maximum time to live in minutes, re-anchored from the current time (0 to disable). When it elapses the sandbox is destroyed, even if it is stopped, paused, or archived",
            "explode": false,
            "in": "path",
            "name": "ttlMinutes",
            "required": true,
            "schema": {
              "type": "number"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "TTL has been set"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Set sandbox TTL",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/autoarchive/{interval}": {
      "post": {
        "operationId": "setAutoArchiveInterval",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Auto-archive interval in minutes (0 means the maximum interval will be used)",
            "explode": false,
            "in": "path",
            "name": "interval",
            "required": true,
            "schema": {
              "type": "number"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Auto-archive interval has been set"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Set sandbox auto-archive interval",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/autodelete/{interval}": {
      "post": {
        "operationId": "setAutoDeleteInterval",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)",
            "explode": false,
            "in": "path",
            "name": "interval",
            "required": true,
            "schema": {
              "type": "number"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Auto-delete interval has been set"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Set sandbox auto-delete interval",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/network-settings": {
      "post": {
        "description": "Changes outbound network policy on the runner for a running sandbox (for example block all traffic, restore access, or set a CIDR allow list).",
        "operationId": "updateNetworkSettings",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSandboxNetworkSettings"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Network settings have been updated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update sandbox network settings",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/secrets": {
      "put": {
        "description": "Replaces the set of vault secrets mounted in the sandbox. Attached, detached and rotated secrets take effect for outbound requests within seconds. New env vars become visible to processes spawned after the update; a sandbox created without any secrets must be restarted for newly attached secrets to work.",
        "operationId": "updateSandboxSecrets",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSandboxSecrets"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Sandbox secrets have been updated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update sandbox secrets",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/archive": {
      "post": {
        "operationId": "archiveSandbox",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "Sandbox has been archived"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Archive sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/ports/{port}/preview-url": {
      "get": {
        "operationId": "getPortPreviewUrl",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Port number to get preview URL for",
            "explode": false,
            "in": "path",
            "name": "port",
            "required": true,
            "schema": {
              "type": "number"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PortPreviewUrl"
                }
              }
            },
            "description": "Preview URL for the specified port"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get preview URL for a sandbox port",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url": {
      "get": {
        "operationId": "getSignedPortPreviewUrl",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Port number to get signed preview URL for",
            "explode": false,
            "in": "path",
            "name": "port",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "style": "simple"
          },
          {
            "description": "Expiration time in seconds (default: 60 seconds)",
            "explode": true,
            "in": "query",
            "name": "expiresInSeconds",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignedPortPreviewUrl"
                }
              }
            },
            "description": "Signed preview URL for the specified port"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get signed preview URL for a sandbox port",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/ports/{port}/signed-preview-url/{token}/expire": {
      "post": {
        "operationId": "expireSignedPortPreviewUrl",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Port number to expire signed preview URL for",
            "explode": false,
            "in": "path",
            "name": "port",
            "required": true,
            "schema": {
              "type": "integer"
            },
            "style": "simple"
          },
          {
            "description": "Token to expire signed preview URL for",
            "explode": false,
            "in": "path",
            "name": "token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "description": "Signed preview URL has been expired"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Expire signed preview URL for a sandbox port",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/build-logs": {
      "get": {
        "deprecated": true,
        "description": "This endpoint is deprecated. Use `getBuildLogsUrl` instead.",
        "operationId": "getBuildLogs",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Whether to follow the logs stream",
            "explode": true,
            "in": "query",
            "name": "follow",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "description": "Build logs stream"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get build logs",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/build-logs-url": {
      "get": {
        "operationId": "getBuildLogsUrl",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Url"
                }
              }
            },
            "description": "Build logs URL"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get build logs URL",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxIdOrName}/ssh-access": {
      "delete": {
        "operationId": "revokeSshAccess",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "SSH access token to revoke. If not provided, all SSH access for the sandbox will be revoked.",
            "explode": true,
            "in": "query",
            "name": "token",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "SSH access has been revoked"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Revoke SSH access for sandbox",
        "tags": [
          "sandbox"
        ]
      },
      "post": {
        "operationId": "createSshAccess",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID or name of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxIdOrName",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Expiration time in minutes (default: 60, maximum: 1440)",
            "explode": true,
            "in": "query",
            "name": "expiresInMinutes",
            "required": false,
            "schema": {
              "type": "number"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SshAccessDto"
                }
              }
            },
            "description": "SSH access has been created"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create SSH access for sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/ssh-access/validate": {
      "get": {
        "operationId": "validateSshAccess",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "SSH access token to validate",
            "explode": true,
            "in": "query",
            "name": "token",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SshAccessValidationDto"
                }
              }
            },
            "description": "SSH access validation result"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Validate SSH access for sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/toolbox-proxy-url": {
      "get": {
        "operationId": "getToolboxProxyUrl",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ToolboxProxyUrl"
                }
              }
            },
            "description": "Toolbox proxy URL for the specified sandbox"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get toolbox proxy URL for a sandbox",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/organization": {
      "get": {
        "operationId": "getOrganizationBySandboxId",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "Organization"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get organization by sandbox ID",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/region-quota": {
      "get": {
        "operationId": "getRegionQuotaBySandboxId",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegionQuota"
                }
              }
            },
            "description": "Region quota"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get region quota by sandbox ID",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/secrets": {
      "get": {
        "operationId": "resolveSandboxSecrets",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Sandbox ID",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/resolveSandboxSecrets_200_response_inner"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Decrypted secret key-value pairs for this sandbox"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Resolve sandbox secrets",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/runners": {
      "get": {
        "operationId": "listRunners",
        "parameters": [
          {
            "description": "Filter runners by region ID",
            "explode": true,
            "in": "query",
            "name": "regionId",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Runner"
                  },
                  "type": "array"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List all runners",
        "tags": [
          "runners"
        ]
      },
      "post": {
        "operationId": "createRunner",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRunner"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateRunnerResponse"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create runner",
        "tags": [
          "runners"
        ]
      }
    },
    "/runners/me": {
      "get": {
        "operationId": "getInfoForAuthenticatedRunner",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunnerFull"
                }
              }
            },
            "description": "Runner info"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get info for authenticated runner",
        "tags": [
          "runners"
        ]
      }
    },
    "/runners/me/snapshots": {
      "get": {
        "operationId": "getSnapshotRefsForAuthenticatedRunner",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Snapshot refs the runner is expected to have"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get snapshot refs for authenticated runner",
        "tags": [
          "runners"
        ]
      }
    },
    "/runners/by-sandbox/{sandboxId}": {
      "get": {
        "operationId": "getRunnerBySandboxId",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunnerFull"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get runner by sandbox ID",
        "tags": [
          "runners"
        ]
      }
    },
    "/runners/by-snapshot-ref": {
      "get": {
        "operationId": "getRunnersBySnapshotRef",
        "parameters": [
          {
            "description": "Snapshot ref",
            "explode": true,
            "in": "query",
            "name": "ref",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/RunnerSnapshotDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get runners by snapshot ref",
        "tags": [
          "runners"
        ]
      }
    },
    "/runners/{id}": {
      "delete": {
        "operationId": "deleteRunner",
        "parameters": [
          {
            "description": "Runner ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Delete the runner without waiting for sandboxes already marked for destruction. Requires the runner to have stopped reporting as ready.",
            "explode": true,
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          },
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete runner",
        "tags": [
          "runners"
        ]
      },
      "get": {
        "operationId": "getRunnerById",
        "parameters": [
          {
            "description": "Runner ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Runner"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get runner by ID",
        "tags": [
          "runners"
        ]
      }
    },
    "/runners/{id}/full": {
      "get": {
        "operationId": "getRunnerFullById",
        "parameters": [
          {
            "description": "Runner ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunnerFull"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get runner by ID",
        "tags": [
          "runners"
        ]
      }
    },
    "/runners/{id}/scheduling": {
      "patch": {
        "operationId": "updateRunnerScheduling",
        "parameters": [
          {
            "description": "Runner ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Runner"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update runner scheduling status",
        "tags": [
          "runners"
        ]
      }
    },
    "/runners/{id}/draining": {
      "patch": {
        "operationId": "updateRunnerDraining",
        "parameters": [
          {
            "description": "Runner ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Runner"
                }
              }
            },
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update runner draining status",
        "tags": [
          "runners"
        ]
      }
    },
    "/runners/healthcheck": {
      "post": {
        "description": "Endpoint for version 2 runners to send healthcheck and metrics. Updates lastChecked timestamp and runner metrics.",
        "operationId": "runnerHealthcheck",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RunnerHealthcheck"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Healthcheck received"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Runner healthcheck",
        "tags": [
          "runners"
        ]
      }
    },
    "/snapshots": {
      "get": {
        "operationId": "getAllSnapshots",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Page number of the results",
            "explode": true,
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Number of results per page",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filter by partial name match",
            "explode": true,
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "example": "abc123",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Filter by the ID of the sandbox the snapshot was created from",
            "explode": true,
            "in": "query",
            "name": "sourceSandboxId",
            "required": false,
            "schema": {
              "example": "sandbox123",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Field to sort by",
            "explode": true,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "lastUsedAt",
              "enum": [
                "name",
                "state",
                "lastUsedAt",
                "createdAt"
              ],
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Direction to sort by",
            "explode": true,
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedSnapshots"
                }
              }
            },
            "description": "Paginated list of all snapshots"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List all snapshots",
        "tags": [
          "snapshots"
        ]
      },
      "post": {
        "operationId": "createSnapshot",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSnapshot"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotDto"
                }
              }
            },
            "description": "The snapshot has been successfully created."
          },
          "400": {
            "description": "Bad request - Snapshots with tag \":latest\" are not allowed"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create a new snapshot",
        "tags": [
          "snapshots"
        ]
      }
    },
    "/snapshots/{id}": {
      "delete": {
        "operationId": "removeSnapshot",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Snapshot ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "description": "Snapshot has been deleted"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete snapshot",
        "tags": [
          "snapshots"
        ]
      },
      "get": {
        "operationId": "getSnapshot",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Snapshot ID or name",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotDto"
                }
              }
            },
            "description": "The snapshot"
          },
          "404": {
            "description": "Snapshot not found"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get snapshot by ID or name",
        "tags": [
          "snapshots"
        ]
      }
    },
    "/snapshots/{id}/build-logs": {
      "get": {
        "deprecated": true,
        "description": "This endpoint is deprecated. Use `getSnapshotBuildLogsUrl` instead.",
        "operationId": "getSnapshotBuildLogs",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Snapshot ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Whether to follow the logs stream",
            "explode": true,
            "in": "query",
            "name": "follow",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get snapshot build logs",
        "tags": [
          "snapshots"
        ]
      }
    },
    "/snapshots/{id}/build-logs-url": {
      "get": {
        "operationId": "getSnapshotBuildLogsUrl",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Snapshot ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Url"
                }
              }
            },
            "description": "The snapshot build logs URL"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get snapshot build logs URL",
        "tags": [
          "snapshots"
        ]
      }
    },
    "/snapshots/{id}/activate": {
      "post": {
        "operationId": "activateSnapshot",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Snapshot ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotDto"
                }
              }
            },
            "description": "The snapshot has been successfully activated."
          },
          "400": {
            "description": "Bad request - Snapshot is already active, not in inactive state, or has associated snapshot runners"
          },
          "404": {
            "description": "Snapshot not found"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Activate a snapshot",
        "tags": [
          "snapshots"
        ]
      }
    },
    "/snapshots/{id}/deactivate": {
      "post": {
        "operationId": "deactivateSnapshot",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Snapshot ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "The snapshot has been successfully deactivated."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Deactivate a snapshot",
        "tags": [
          "snapshots"
        ]
      }
    },
    "/preview/{sandboxId}/public": {
      "get": {
        "operationId": "isSandboxPublic",
        "parameters": [
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            },
            "description": "Public status of the sandbox"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Check if sandbox is public",
        "tags": [
          "preview"
        ]
      }
    },
    "/preview/{sandboxId}/preview-warning": {
      "get": {
        "operationId": "isPreviewWarningEnabled",
        "parameters": [
          {
            "description": "ID of the sandbox, or a signed preview URL token (requires the port query param)",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Port the signed preview URL token was issued for. Required when sandboxId is a signed token.",
            "explode": true,
            "in": "query",
            "name": "port",
            "required": false,
            "schema": {
              "type": "number"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreviewWarning"
                }
              }
            },
            "description": "Whether the preview warning page is enabled for the sandbox"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Check if the preview warning page is enabled for the sandbox",
        "tags": [
          "preview"
        ]
      }
    },
    "/preview/{sandboxId}/validate/{authToken}": {
      "get": {
        "operationId": "isValidAuthToken",
        "parameters": [
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Auth token of the sandbox",
            "explode": false,
            "in": "path",
            "name": "authToken",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            },
            "description": "Sandbox auth token validation status"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Check if sandbox auth token is valid",
        "tags": [
          "preview"
        ]
      }
    },
    "/preview/{sandboxId}/signing-key": {
      "get": {
        "operationId": "getSigningKey",
        "parameters": [
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Signing key of the sandbox"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get the signing key for a sandbox",
        "tags": [
          "preview"
        ]
      }
    },
    "/preview/{sandboxId}/access": {
      "get": {
        "operationId": "hasSandboxAccess",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            },
            "description": "User access status to the sandbox"
          },
          "404": {
            "description": "Sandbox not found. For members of the owning organization whose sandbox was deleted, the body carries code \"SANDBOX_DESTROYED\"."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Check if user has access to the sandbox",
        "tags": [
          "preview"
        ]
      }
    },
    "/preview/{signedPreviewToken}/{port}/sandbox-id": {
      "get": {
        "operationId": "getSandboxIdFromSignedPreviewUrlToken",
        "parameters": [
          {
            "description": "Signed preview URL token",
            "explode": false,
            "in": "path",
            "name": "signedPreviewToken",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Port number to get sandbox ID from signed preview URL token",
            "explode": false,
            "in": "path",
            "name": "port",
            "required": true,
            "schema": {
              "type": "number"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Sandbox ID from signed preview URL token"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandbox ID from signed preview URL token",
        "tags": [
          "preview"
        ]
      }
    },
    "/volumes": {
      "get": {
        "operationId": "listVolumes",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Include deleted volumes in the response",
            "explode": true,
            "in": "query",
            "name": "includeDeleted",
            "required": false,
            "schema": {
              "type": "boolean"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/VolumeDto"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of all volumes"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List all volumes",
        "tags": [
          "volumes"
        ]
      },
      "post": {
        "operationId": "createVolume",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVolume"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VolumeDto"
                }
              }
            },
            "description": "The volume has been successfully created."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create a new volume",
        "tags": [
          "volumes"
        ]
      }
    },
    "/volumes/{volumeId}": {
      "delete": {
        "operationId": "deleteVolume",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the volume",
            "explode": false,
            "in": "path",
            "name": "volumeId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "description": "Volume has been marked for deletion"
          },
          "409": {
            "description": "Volume is in use by one or more sandboxes"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete volume",
        "tags": [
          "volumes"
        ]
      },
      "get": {
        "operationId": "getVolume",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the volume",
            "explode": false,
            "in": "path",
            "name": "volumeId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VolumeDto"
                }
              }
            },
            "description": "Volume details"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get volume details",
        "tags": [
          "volumes"
        ]
      }
    },
    "/volumes/by-name/{name}": {
      "get": {
        "operationId": "getVolumeByName",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Name of the volume",
            "explode": false,
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VolumeDto"
                }
              }
            },
            "description": "Volume details"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get volume details by name",
        "tags": [
          "volumes"
        ]
      }
    },
    "/jobs": {
      "get": {
        "description": "Returns a paginated list of jobs for the runner, optionally filtered by status.",
        "operationId": "listJobs",
        "parameters": [
          {
            "description": "Page number of the results",
            "explode": true,
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Maximum number of jobs to return (default: 100, max: 500)",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filter jobs by status",
            "explode": true,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/JobStatus"
            },
            "style": "form"
          },
          {
            "description": "Number of jobs to skip for pagination (default: 0)",
            "explode": true,
            "in": "query",
            "name": "offset",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedJobs"
                }
              }
            },
            "description": "List of jobs for the runner"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List jobs for the runner",
        "tags": [
          "jobs"
        ]
      }
    },
    "/jobs/poll": {
      "get": {
        "description": "Long poll endpoint for runners to fetch pending jobs. Returns immediately if jobs are available, otherwise waits up to timeout seconds.",
        "operationId": "pollJobs",
        "parameters": [
          {
            "description": "Timeout in seconds for long polling (default: 30, max: 60)",
            "explode": true,
            "in": "query",
            "name": "timeout",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Maximum number of jobs to return (default: 10, max: 100)",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "type": "integer"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PollJobsResponse"
                }
              }
            },
            "description": "List of jobs for the runner"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Long poll for jobs",
        "tags": [
          "jobs"
        ]
      }
    },
    "/jobs/{jobId}": {
      "get": {
        "operationId": "getJob",
        "parameters": [
          {
            "description": "ID of the job",
            "explode": false,
            "in": "path",
            "name": "jobId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Job"
                }
              }
            },
            "description": "Job details"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get job details",
        "tags": [
          "jobs"
        ]
      }
    },
    "/jobs/{jobId}/registry-mtls/{registryId}": {
      "post": {
        "operationId": "getJobRegistryMtlsCredentials",
        "parameters": [
          {
            "description": "ID of the job",
            "explode": false,
            "in": "path",
            "name": "jobId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Registry credential reference from the job payload",
            "explode": false,
            "in": "path",
            "name": "registryId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistryMtlsCredentialsDto"
                }
              }
            },
            "description": "Ephemeral registry mTLS credentials"
          },
          "404": {
            "description": "Registry credentials not found"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Redeem registry mTLS credentials for an active job",
        "tags": [
          "jobs"
        ]
      }
    },
    "/jobs/{jobId}/status": {
      "post": {
        "operationId": "updateJobStatus",
        "parameters": [
          {
            "description": "ID of the job",
            "explode": false,
            "in": "path",
            "name": "jobId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateJobStatus"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Job"
                }
              }
            },
            "description": "Job status updated successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update job status",
        "tags": [
          "jobs"
        ]
      }
    },
    "/warm-pools": {
      "get": {
        "operationId": "listWarmPools",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/WarmPool"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of warm pools"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List warm pools for the organization",
        "tags": [
          "warm-pools"
        ]
      },
      "post": {
        "operationId": "createWarmPool",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWarmPool"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarmPool"
                }
              }
            },
            "description": "The warm pool has been created"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create a warm pool",
        "tags": [
          "warm-pools"
        ]
      }
    },
    "/warm-pools/{id}": {
      "delete": {
        "operationId": "deleteWarmPool",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Warm pool ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "The warm pool has been deleted"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete a warm pool",
        "tags": [
          "warm-pools"
        ]
      },
      "patch": {
        "operationId": "updateWarmPool",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Warm pool ID",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateWarmPool"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WarmPool"
                }
              }
            },
            "description": "The warm pool has been updated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update a warm pool size",
        "tags": [
          "warm-pools"
        ]
      }
    },
    "/organizations/{organizationId}/gpu-capacity": {
      "get": {
        "description": "Returns a short-lived observation of the shared GPU fleet. Organization quotas and entitlements are not applied. Capacity can change immediately and sandbox creation remains authoritative.",
        "operationId": "getGpuCapacity",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GpuCapacityResponse"
                }
              }
            },
            "description": "Shared GPU capacity grouped by GPU type."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get shared GPU capacity",
        "tags": [
          "organizations"
        ]
      }
    },
    "/docker-registry": {
      "get": {
        "operationId": "listRegistries",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/DockerRegistry"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of all docker registries"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List registries",
        "tags": [
          "docker-registry"
        ]
      },
      "post": {
        "operationId": "createRegistry",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateDockerRegistry"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerRegistry"
                }
              }
            },
            "description": "The docker registry has been successfully created."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create registry",
        "tags": [
          "docker-registry"
        ]
      }
    },
    "/docker-registry/registry-push-access": {
      "get": {
        "operationId": "getTransientPushAccess",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the region where the snapshot will be available (defaults to organization default region)",
            "explode": true,
            "in": "query",
            "name": "regionId",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistryPushAccessDto"
                }
              }
            },
            "description": "Temporary registry access has been generated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get temporary registry access for pushing snapshots",
        "tags": [
          "docker-registry"
        ]
      }
    },
    "/docker-registry/{id}": {
      "delete": {
        "operationId": "deleteRegistry",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the docker registry",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "The docker registry has been successfully deleted."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete registry",
        "tags": [
          "docker-registry"
        ]
      },
      "get": {
        "operationId": "getRegistry",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the docker registry",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerRegistry"
                }
              }
            },
            "description": "The docker registry"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get registry",
        "tags": [
          "docker-registry"
        ]
      },
      "patch": {
        "operationId": "updateRegistry",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the docker registry",
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateDockerRegistry"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DockerRegistry"
                }
              }
            },
            "description": "The docker registry has been successfully updated."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update registry",
        "tags": [
          "docker-registry"
        ]
      }
    },
    "/secret": {
      "get": {
        "deprecated": true,
        "description": "This endpoint is deprecated and fails for organizations with more than 1500 secrets. Use `listSecretsPaginated` instead.",
        "operationId": "listSecrets",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Secret"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of all secrets (metadata only, values are not returned)"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List secrets",
        "tags": [
          "secret"
        ]
      },
      "post": {
        "operationId": "createSecret",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSecret"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "The secret has been successfully created."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Create secret",
        "tags": [
          "secret"
        ]
      }
    },
    "/secret/paginated": {
      "get": {
        "operationId": "listSecretsPaginated",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Pagination cursor from a previous response",
            "explode": true,
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Number of results per page",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filter by partial name match",
            "explode": true,
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "example": "MY_API_KEY",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Field to sort by",
            "explode": true,
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "default": "createdAt",
              "enum": [
                "name",
                "createdAt",
                "updatedAt"
              ],
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Direction to sort by",
            "explode": true,
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "default": "desc",
              "enum": [
                "asc",
                "desc"
              ],
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListSecretsResponse"
                }
              }
            },
            "description": "Paginated list of secrets (metadata only, values are not returned)"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List secrets with pagination",
        "tags": [
          "secret"
        ]
      }
    },
    "/secret/{secretId}": {
      "delete": {
        "operationId": "deleteSecret",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the secret",
            "explode": false,
            "in": "path",
            "name": "secretId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "The secret has been successfully deleted."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Delete secret",
        "tags": [
          "secret"
        ]
      },
      "get": {
        "operationId": "getSecret",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the secret",
            "explode": false,
            "in": "path",
            "name": "secretId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "The secret metadata (value is not returned)"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get secret",
        "tags": [
          "secret"
        ]
      },
      "patch": {
        "operationId": "updateSecret",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the secret",
            "explode": false,
            "in": "path",
            "name": "secretId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSecret"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "The secret has been successfully updated."
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Update secret",
        "tags": [
          "secret"
        ]
      }
    },
    "/users/me/pending-sso-links": {
      "get": {
        "operationId": "listPendingSsoLinks",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/PendingSsoLink"
                  },
                  "type": "array"
                }
              }
            },
            "description": "Pending SSO account links"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "List pending SSO account links for the authenticated user",
        "tags": [
          "users"
        ]
      }
    },
    "/users/me/pending-sso-links/{id}/confirm": {
      "post": {
        "operationId": "confirmPendingSsoLink",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "SSO identity linked"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Confirm (link) a pending SSO account link",
        "tags": [
          "users"
        ]
      }
    },
    "/users/me/pending-sso-links/{id}": {
      "delete": {
        "operationId": "dismissPendingSsoLink",
        "parameters": [
          {
            "explode": false,
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Pending SSO link dismissed"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Dismiss a pending SSO account link",
        "tags": [
          "users"
        ]
      }
    },
    "/webhooks/organizations/{organizationId}/app-portal-access": {
      "post": {
        "operationId": "WebhookController_getAppPortalAccess",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookAppPortalAccess"
                }
              }
            },
            "description": "App Portal access generated successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get Svix Consumer App Portal access for an organization",
        "tags": [
          "webhooks"
        ]
      }
    },
    "/webhooks/organizations/{organizationId}/initialization-status": {
      "get": {
        "operationId": "WebhookController_getInitializationStatus",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookInitializationStatus"
                }
              }
            },
            "description": "Webhook initialization status"
          },
          "404": {
            "description": "Webhook initialization status not found"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get webhook initialization status for an organization",
        "tags": [
          "webhooks"
        ]
      }
    },
    "/webhooks/organizations/{organizationId}/initialize": {
      "post": {
        "operationId": "WebhookController_initializeWebhooks",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookInitializationStatus"
                }
              }
            },
            "description": "Webhooks initialized successfully"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Initialize webhooks for an organization",
        "tags": [
          "webhooks"
        ]
      }
    },
    "/webhooks/organizations/{organizationId}/refresh-endpoints": {
      "post": {
        "operationId": "WebhookController_refreshEndpoints",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "204": {
            "description": "Endpoint flag refreshed"
          },
          "404": {
            "description": "Webhook initialization status not found"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Refresh cached endpoint presence flag for an organization",
        "tags": [
          "webhooks"
        ]
      }
    },
    "/audit/organizations/{organizationId}": {
      "get": {
        "operationId": "getOrganizationAuditLogs",
        "parameters": [
          {
            "description": "Organization ID",
            "explode": false,
            "in": "path",
            "name": "organizationId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Page number of the results",
            "explode": true,
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Number of results per page",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "maximum": 200,
              "minimum": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "deprecated": true,
            "description": "Deprecated alias for `createdAt[gte]`. From date (ISO 8601 format).",
            "explode": true,
            "in": "query",
            "name": "from",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "deprecated": true,
            "description": "Deprecated alias for `createdAt[lte]`. To date (ISO 8601 format).",
            "explode": true,
            "in": "query",
            "name": "to",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Token for cursor-based pagination. When provided, takes precedence over page parameter.",
            "explode": true,
            "in": "query",
            "name": "nextToken",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Filter by audit log ID.",
            "explode": true,
            "in": "query",
            "name": "id",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            },
            "style": "form"
          },
          {
            "description": "Filter by actor user ID.",
            "explode": true,
            "in": "query",
            "name": "actorId",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            },
            "style": "form"
          },
          {
            "description": "Filter by actor email.",
            "explode": true,
            "in": "query",
            "name": "actorEmail",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            },
            "style": "form"
          },
          {
            "description": "Filter by actor API key prefix.",
            "explode": true,
            "in": "query",
            "name": "actorApiKeyPrefix",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            },
            "style": "form"
          },
          {
            "description": "Filter by actor API key suffix.",
            "explode": true,
            "in": "query",
            "name": "actorApiKeySuffix",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            },
            "style": "form"
          },
          {
            "description": "Filter by action.",
            "explode": true,
            "in": "query",
            "name": "action",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            },
            "style": "form"
          },
          {
            "description": "Filter by target type.",
            "explode": true,
            "in": "query",
            "name": "targetType",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            },
            "style": "form"
          },
          {
            "description": "Filter by target ID.",
            "explode": true,
            "in": "query",
            "name": "targetId",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/StringFilter"
            },
            "style": "form"
          },
          {
            "description": "Filter by HTTP status code.",
            "explode": true,
            "in": "query",
            "name": "statusCode",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/IntFilter"
            },
            "style": "form"
          },
          {
            "description": "Filter by creation timestamp.",
            "explode": true,
            "in": "query",
            "name": "createdAt",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/DateFilter"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedAuditLogs"
                }
              }
            },
            "description": "Paginated list of organization audit logs"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get audit logs for organization",
        "tags": [
          "audit"
        ]
      }
    },
    "/audit/scenarios": {
      "get": {
        "description": "Returns the supported audit log actions grouped by target type. The list is derived at runtime from the audited routes and system events, so it always reflects what can actually appear in the audit log.",
        "operationId": "getAuditScenarios",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditScenarios"
                }
              }
            },
            "description": "Supported audit log scenarios grouped by target type"
          }
        },
        "summary": "Get supported audit log scenarios",
        "tags": [
          "audit"
        ]
      }
    },
    "/object-storage/push-access": {
      "get": {
        "operationId": "getPushAccess",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Region the build context will be used in. When that region has its own build-context bucket, the returned credentials target it; otherwise they target the Daytona-hosted bucket.",
            "explode": true,
            "in": "query",
            "name": "regionId",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StorageAccessDto"
                }
              }
            },
            "description": "Temporary storage access has been generated"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get temporary storage access for pushing objects",
        "tags": [
          "object-storage"
        ]
      }
    },
    "/health": {
      "get": {
        "operationId": "HealthController_live",
        "parameters": [],
        "responses": {
          "200": {
            "description": ""
          }
        },
        "tags": [
          "Health"
        ]
      }
    },
    "/health/ready": {
      "get": {
        "operationId": "HealthController_check",
        "parameters": [],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthController_check_200_response"
                }
              }
            },
            "description": "The Health Check is successful"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthController_check_503_response"
                }
              }
            },
            "description": "The Health Check is not successful"
          }
        },
        "security": [
          {
            "bearer": []
          }
        ],
        "tags": [
          "Health"
        ]
      }
    },
    "/sandbox/{sandboxId}/telemetry/logs": {
      "get": {
        "description": "Retrieve OTEL logs for a sandbox within a time range",
        "operationId": "getSandboxLogs",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Start of time range (ISO 8601)",
            "explode": true,
            "in": "query",
            "name": "from",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "End of time range (ISO 8601)",
            "explode": true,
            "in": "query",
            "name": "to",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Page number (1-indexed)",
            "explode": true,
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Number of items per page",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Filter by severity levels (DEBUG, INFO, WARN, ERROR)",
            "explode": true,
            "in": "query",
            "name": "severities",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Search in log body",
            "explode": true,
            "in": "query",
            "name": "search",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedLogs"
                }
              }
            },
            "description": "Paginated list of log entries"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandbox logs",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/telemetry/traces": {
      "get": {
        "description": "Retrieve OTEL traces for a sandbox within a time range",
        "operationId": "getSandboxTraces",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Start of time range (ISO 8601)",
            "explode": true,
            "in": "query",
            "name": "from",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "End of time range (ISO 8601)",
            "explode": true,
            "in": "query",
            "name": "to",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Page number (1-indexed)",
            "explode": true,
            "in": "query",
            "name": "page",
            "required": false,
            "schema": {
              "default": 1,
              "type": "integer"
            },
            "style": "form"
          },
          {
            "description": "Number of items per page",
            "explode": true,
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "type": "integer"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginatedTraces"
                }
              }
            },
            "description": "Paginated list of trace summaries"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandbox traces",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/telemetry/traces/{traceId}": {
      "get": {
        "description": "Retrieve all spans for a specific trace",
        "operationId": "getSandboxTraceSpans",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the trace",
            "explode": false,
            "in": "path",
            "name": "traceId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/TraceSpan"
                  },
                  "type": "array"
                }
              }
            },
            "description": "List of spans in the trace"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get trace spans",
        "tags": [
          "sandbox"
        ]
      }
    },
    "/sandbox/{sandboxId}/telemetry/metrics": {
      "get": {
        "description": "Retrieve OTEL metrics for a sandbox within a time range",
        "operationId": "getSandboxMetrics",
        "parameters": [
          {
            "description": "Use with JWT to specify the organization ID",
            "explode": false,
            "in": "header",
            "name": "X-Daytona-Organization-ID",
            "required": false,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "ID of the sandbox",
            "explode": false,
            "in": "path",
            "name": "sandboxId",
            "required": true,
            "schema": {
              "type": "string"
            },
            "style": "simple"
          },
          {
            "description": "Start of time range (ISO 8601)",
            "explode": true,
            "in": "query",
            "name": "from",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "End of time range (ISO 8601)",
            "explode": true,
            "in": "query",
            "name": "to",
            "required": true,
            "schema": {
              "format": "date-time",
              "type": "string"
            },
            "style": "form"
          },
          {
            "description": "Filter by metric names",
            "explode": true,
            "in": "query",
            "name": "metricNames",
            "required": false,
            "schema": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "style": "form"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetricsResponse"
                }
              }
            },
            "description": "Metrics time series data"
          }
        },
        "security": [
          {
            "bearer": []
          },
          {
            "oauth2": [
              "openid",
              "profile",
              "email"
            ]
          }
        ],
        "summary": "Get sandbox metrics",
        "tags": [
          "sandbox"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Announcement": {
        "properties": {
          "text": {
            "description": "The announcement text",
            "example": "New feature available!",
            "type": "string"
          },
          "learnMoreUrl": {
            "description": "URL to learn more about the announcement",
            "example": "https://example.com/learn-more",
            "type": "string"
          }
        },
        "required": [
          "text"
        ],
        "type": "object"
      },
      "PosthogConfig": {
        "properties": {
          "apiKey": {
            "description": "PostHog API key",
            "example": "phc_abc123",
            "type": "string"
          },
          "host": {
            "description": "PostHog host URL",
            "example": "https://app.posthog.com",
            "type": "string"
          }
        },
        "required": [
          "apiKey",
          "host"
        ],
        "type": "object"
      },
      "CliOidcConfig": {
        "properties": {
          "issuer": {
            "description": "WorkOS issuer of the Daytona CLI application",
            "example": "https://auth.example.com/user_management/client_123",
            "type": "string"
          },
          "clientId": {
            "description": "WorkOS client ID of the Daytona CLI application",
            "example": "client_123",
            "type": "string"
          }
        },
        "required": [
          "clientId",
          "issuer"
        ],
        "type": "object"
      },
      "OidcConfig": {
        "properties": {
          "issuer": {
            "description": "OIDC issuer",
            "example": "https://auth.example.com",
            "type": "string"
          },
          "clientId": {
            "description": "OIDC client ID",
            "example": "daytona-client",
            "type": "string"
          },
          "audience": {
            "description": "OIDC audience",
            "example": "daytona-api",
            "type": "string"
          },
          "provider": {
            "description": "Which identity provider the advertised issuer above belongs to. The dashboard needs this because provider-specific logout URLs are not discoverable from the issuer alone: ending an Auth0 session uses its proprietary /v2/logout, which does not exist on WorkOS AuthKit. Anything that branches on provider behaviour must read this rather than pattern-matching the issuer hostname.",
            "enum": [
              "auth0",
              "workos"
            ],
            "example": "auth0",
            "type": "string"
          },
          "authApiHostname": {
            "description": "WorkOS \"Authentication API\" custom domain the dashboard's client-side SDK should call instead of api.workos.com, so the refresh-token cookie is first-party. Present only when the provider is workos and a custom domain is configured (WorkOS production environments only); absent means the SDK runs in devMode and keeps the refresh token in localStorage.",
            "example": "auth.example.com",
            "type": "string"
          },
          "cli": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CliOidcConfig"
              }
            ],
            "description": "WorkOS application the Daytona CLI logs in through, configured apart from the dashboard's so CLI sessions can have their own lifetime. Present only when the provider is workos and a CLI application is configured; absent means the CLI uses the issuer and client ID above."
          }
        },
        "required": [
          "audience",
          "clientId",
          "issuer",
          "provider"
        ],
        "type": "object"
      },
      "SsoOidcConfig": {
        "properties": {
          "issuer": {
            "description": "OIDC issuer for org-SSO logins (Daytona Auth)",
            "example": "https://api.example.com/api/oidc",
            "type": "string"
          },
          "clientId": {
            "description": "OIDC client ID for org-SSO logins",
            "example": "daytona-dashboard",
            "type": "string"
          }
        },
        "required": [
          "clientId",
          "issuer"
        ],
        "type": "object"
      },
      "RateLimitEntry": {
        "properties": {
          "ttl": {
            "description": "Rate limit TTL in seconds",
            "example": 60,
            "type": "number"
          },
          "limit": {
            "description": "Rate limit max requests",
            "example": 100,
            "type": "number"
          }
        },
        "type": "object"
      },
      "RateLimitConfig": {
        "properties": {
          "failedAuth": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RateLimitEntry"
              }
            ],
            "description": "Failed authentication rate limit"
          },
          "authenticated": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RateLimitEntry"
              }
            ],
            "description": "Authenticated rate limit"
          },
          "sandboxCreate": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RateLimitEntry"
              }
            ],
            "description": "Sandbox create rate limit"
          },
          "sandboxLifecycle": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RateLimitEntry"
              }
            ],
            "description": "Sandbox lifecycle rate limit"
          },
          "sandboxList": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RateLimitEntry"
              }
            ],
            "description": "Sandbox list rate limit"
          }
        },
        "type": "object"
      },
      "DaytonaConfiguration": {
        "example": {
          "sshGatewayPublicKey": "ssh-gateway-public-key",
          "proxyToolboxUrl": "https://proxy.example.com/toolbox",
          "posthog": "",
          "maxAutoArchiveInterval": 43200,
          "pylonAppId": "pylon-app-123",
          "maintananceMode": false,
          "forcedFeatureFlags": [
            "forcedFeatureFlags",
            "forcedFeatureFlags"
          ],
          "sshGatewayPort": 22,
          "v2DashboardUrl": "https://app.daytona.com",
          "sshGatewayHostKeys": [
            "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBh7nbXJuVs1AkREaeJsOxlKD219FLKyrf37BmRKq8A"
          ],
          "dashboardUrl": "https://dashboard.example.com",
          "ssoOidc": "",
          "rateLimit": "",
          "analyticsApiUrl": "https://analytics.example.com",
          "buildSha": "1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b",
          "billingApiUrl": "https://billing.example.com",
          "linkedAccountsEnabled": true,
          "stripePublishableKey": "pk_live_...",
          "version": "0.0.1",
          "oidc": "",
          "sshGatewayHostKeyFingerprints": [
            "SHA256:+0Mw+mXcYJg98TZSC4utJjM8amxj8SSRaEAGo9nkbWk"
          ],
          "proxyTemplateUrl": "https://{{PORT}}-{{sandboxId}}.proxy.example.com",
          "environment": "production",
          "defaultSnapshot": "ubuntu:22.04",
          "sshGatewayCommand": "ssh -p 2222 {{TOKEN}}@localhost",
          "announcements": {
            "feature-update": {
              "text": "New feature available!",
              "learnMoreUrl": "https://example.com"
            }
          },
          "sshGatewayHost": "ssh.app.daytona.io"
        },
        "properties": {
          "version": {
            "description": "Daytona version",
            "example": "0.0.1",
            "type": "string"
          },
          "buildSha": {
            "description": "Commit sha of the source the app was built from",
            "example": "1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b",
            "type": "string"
          },
          "posthog": {
            "allOf": [
              {
                "$ref": "#/components/schemas/PosthogConfig"
              }
            ],
            "description": "PostHog configuration"
          },
          "oidc": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OidcConfig"
              }
            ],
            "description": "OIDC configuration"
          },
          "ssoOidc": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SsoOidcConfig"
              }
            ],
            "description": "OIDC configuration for org-SSO logins (Daytona Auth issuer). Present only when the secondary (org-SSO) issuer is configured; the dashboard uses it as its authority when entered via an organization SSO link."
          },
          "forcedFeatureFlags": {
            "description": "Feature flags forced on for this deployment regardless of PostHog targeting. Lets environments without PostHog (previews, local dev) enable flag-gated dashboard features.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "linkedAccountsEnabled": {
            "description": "Whether linked accounts are enabled",
            "example": true,
            "type": "boolean"
          },
          "announcements": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Announcement"
            },
            "description": "System announcements",
            "example": {
              "feature-update": {
                "text": "New feature available!",
                "learnMoreUrl": "https://example.com"
              }
            },
            "type": "object"
          },
          "pylonAppId": {
            "description": "Pylon application ID",
            "example": "pylon-app-123",
            "type": "string"
          },
          "proxyTemplateUrl": {
            "description": "Proxy template URL",
            "example": "https://{{PORT}}-{{sandboxId}}.proxy.example.com",
            "type": "string"
          },
          "proxyToolboxUrl": {
            "description": "Toolbox template URL",
            "example": "https://proxy.example.com/toolbox",
            "type": "string"
          },
          "defaultSnapshot": {
            "description": "Default snapshot for sandboxes",
            "example": "ubuntu:22.04",
            "type": "string"
          },
          "dashboardUrl": {
            "description": "Dashboard URL",
            "example": "https://dashboard.example.com",
            "type": "string"
          },
          "maxAutoArchiveInterval": {
            "description": "Maximum auto-archive interval in minutes",
            "example": 43200,
            "type": "number"
          },
          "maintananceMode": {
            "description": "Whether maintenance mode is enabled",
            "example": false,
            "type": "boolean"
          },
          "environment": {
            "description": "Current environment",
            "example": "production",
            "type": "string"
          },
          "billingApiUrl": {
            "description": "Billing API URL",
            "example": "https://billing.example.com",
            "type": "string"
          },
          "analyticsApiUrl": {
            "description": "Analytics API URL",
            "example": "https://analytics.example.com",
            "type": "string"
          },
          "v2DashboardUrl": {
            "description": "Base URL of the new Daytona dashboard. The dashboard links to it, with the selected organization id appended, from its \"Switch to the new Daytona\" entry point when that is enabled for the organization. Absent when the deployment does not advertise one.",
            "example": "https://app.daytona.com",
            "type": "string"
          },
          "stripePublishableKey": {
            "description": "Stripe publishable key for client-side Stripe.js",
            "example": "pk_live_...",
            "type": "string"
          },
          "sshGatewayCommand": {
            "description": "SSH Gateway command",
            "example": "ssh -p 2222 {{TOKEN}}@localhost",
            "type": "string"
          },
          "sshGatewayPublicKey": {
            "description": "Base64 encoded SSH Gateway public key",
            "example": "ssh-gateway-public-key",
            "type": "string"
          },
          "sshGatewayHost": {
            "description": "Hostname of the SSH Gateway that sandbox SSH connections terminate at",
            "example": "ssh.app.daytona.io",
            "type": "string"
          },
          "sshGatewayPort": {
            "description": "TCP port of the SSH Gateway",
            "example": 22,
            "type": "number"
          },
          "sshGatewayHostKeys": {
            "description": "SSH host public keys presented by the SSH Gateway, as OpenSSH public key lines (`<type> <base64>`). To build a known_hosts entry, prefix each with `sshGatewayHost` when `sshGatewayPort` is 22, or with `[sshGatewayHost]:sshGatewayPort` otherwise.",
            "example": [
              "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBh7nbXJuVs1AkREaeJsOxlKD219FLKyrf37BmRKq8A"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sshGatewayHostKeyFingerprints": {
            "description": "SHA256 fingerprints of sshGatewayHostKeys, in the same order, in `ssh-keygen -lf` format. Compare against the fingerprint published at https://github.com/daytona/.github/blob/main/SECURITY.md#ssh-host-key-verification",
            "example": [
              "SHA256:+0Mw+mXcYJg98TZSC4utJjM8amxj8SSRaEAGo9nkbWk"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "rateLimit": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RateLimitConfig"
              }
            ],
            "description": "Rate limit configuration"
          }
        },
        "required": [
          "announcements",
          "dashboardUrl",
          "defaultSnapshot",
          "environment",
          "linkedAccountsEnabled",
          "maintananceMode",
          "maxAutoArchiveInterval",
          "oidc",
          "proxyTemplateUrl",
          "proxyToolboxUrl",
          "version"
        ],
        "type": "object"
      },
      "CreateApiKey": {
        "example": {
          "permissions": [
            "write:registries",
            "write:registries"
          ],
          "name": "My API Key",
          "expiresAt": "2025-06-09T12:00:00Z"
        },
        "properties": {
          "name": {
            "description": "The name of the API key",
            "example": "My API Key",
            "type": "string"
          },
          "permissions": {
            "description": "The list of organization resource permissions explicitly assigned to the API key",
            "items": {
              "enum": [
                "write:registries",
                "delete:registries",
                "write:snapshots",
                "delete:snapshots",
                "write:sandboxes",
                "delete:sandboxes",
                "read:volumes",
                "write:volumes",
                "delete:volumes",
                "write:regions",
                "delete:regions",
                "read:runners",
                "write:runners",
                "delete:runners",
                "read:audit_logs",
                "manage:api_keys",
                "manage:secrets",
                "read:limits",
                "manage:sso",
                "read:billing",
                "manage:billing"
              ],
              "type": "string",
              "x-enum-varnames": [
                "WRITE_REGISTRIES",
                "DELETE_REGISTRIES",
                "WRITE_SNAPSHOTS",
                "DELETE_SNAPSHOTS",
                "WRITE_SANDBOXES",
                "DELETE_SANDBOXES",
                "READ_VOLUMES",
                "WRITE_VOLUMES",
                "DELETE_VOLUMES",
                "WRITE_REGIONS",
                "DELETE_REGIONS",
                "READ_RUNNERS",
                "WRITE_RUNNERS",
                "DELETE_RUNNERS",
                "READ_AUDIT_LOGS",
                "MANAGE_API_KEYS",
                "MANAGE_SECRETS",
                "READ_LIMITS",
                "MANAGE_SSO",
                "READ_BILLING",
                "MANAGE_BILLING"
              ]
            },
            "type": "array"
          },
          "expiresAt": {
            "description": "When the API key expires",
            "example": "2025-06-09T12:00:00Z",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "name",
          "permissions"
        ],
        "type": "object"
      },
      "ApiKeyResponse": {
        "example": {
          "createdAt": "2024-03-14T12:00:00Z",
          "permissions": [
            "write:registries",
            "write:registries"
          ],
          "name": "My API Key",
          "value": "bb_sk_1234567890abcdef",
          "expiresAt": "2025-06-09T12:00:00Z"
        },
        "properties": {
          "name": {
            "description": "The name of the API key",
            "example": "My API Key",
            "type": "string"
          },
          "value": {
            "description": "The API key value",
            "example": "bb_sk_1234567890abcdef",
            "type": "string"
          },
          "createdAt": {
            "description": "When the API key was created",
            "example": "2024-03-14T12:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "permissions": {
            "description": "The list of organization resource permissions assigned to the API key",
            "items": {
              "enum": [
                "write:registries",
                "delete:registries",
                "write:snapshots",
                "delete:snapshots",
                "write:sandboxes",
                "delete:sandboxes",
                "read:volumes",
                "write:volumes",
                "delete:volumes",
                "write:regions",
                "delete:regions",
                "read:runners",
                "write:runners",
                "delete:runners",
                "read:audit_logs",
                "manage:api_keys",
                "manage:secrets",
                "read:limits",
                "manage:sso",
                "read:billing",
                "manage:billing"
              ],
              "type": "string",
              "x-enum-varnames": [
                "WRITE_REGISTRIES",
                "DELETE_REGISTRIES",
                "WRITE_SNAPSHOTS",
                "DELETE_SNAPSHOTS",
                "WRITE_SANDBOXES",
                "DELETE_SANDBOXES",
                "READ_VOLUMES",
                "WRITE_VOLUMES",
                "DELETE_VOLUMES",
                "WRITE_REGIONS",
                "DELETE_REGIONS",
                "READ_RUNNERS",
                "WRITE_RUNNERS",
                "DELETE_RUNNERS",
                "READ_AUDIT_LOGS",
                "MANAGE_API_KEYS",
                "MANAGE_SECRETS",
                "READ_LIMITS",
                "MANAGE_SSO",
                "READ_BILLING",
                "MANAGE_BILLING"
              ]
            },
            "type": "array"
          },
          "expiresAt": {
            "description": "When the API key expires",
            "example": "2025-06-09T12:00:00Z",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "expiresAt",
          "name",
          "permissions",
          "value"
        ],
        "type": "object"
      },
      "ApiKeyList": {
        "example": {
          "organizationId": "123e4567-e89b-12d3-a456-426614174000",
          "createdAt": "2024-03-14T12:00:00Z",
          "lastUsedAt": "2024-03-14T12:00:00Z",
          "permissions": [
            "write:registries",
            "write:registries"
          ],
          "name": "My API Key",
          "value": "bb_********************def",
          "userId": "123",
          "expiresAt": "2024-03-14T12:00:00Z"
        },
        "properties": {
          "name": {
            "description": "The name of the API key",
            "example": "My API Key",
            "type": "string"
          },
          "value": {
            "description": "The masked API key value",
            "example": "bb_********************def",
            "type": "string"
          },
          "createdAt": {
            "description": "When the API key was created",
            "example": "2024-03-14T12:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "permissions": {
            "description": "The list of organization resource permissions assigned to the API key",
            "items": {
              "enum": [
                "write:registries",
                "delete:registries",
                "write:snapshots",
                "delete:snapshots",
                "write:sandboxes",
                "delete:sandboxes",
                "read:volumes",
                "write:volumes",
                "delete:volumes",
                "write:regions",
                "delete:regions",
                "read:runners",
                "write:runners",
                "delete:runners",
                "read:audit_logs",
                "manage:api_keys",
                "manage:secrets",
                "read:limits",
                "manage:sso",
                "read:billing",
                "manage:billing"
              ],
              "type": "string",
              "x-enum-varnames": [
                "WRITE_REGISTRIES",
                "DELETE_REGISTRIES",
                "WRITE_SNAPSHOTS",
                "DELETE_SNAPSHOTS",
                "WRITE_SANDBOXES",
                "DELETE_SANDBOXES",
                "READ_VOLUMES",
                "WRITE_VOLUMES",
                "DELETE_VOLUMES",
                "WRITE_REGIONS",
                "DELETE_REGIONS",
                "READ_RUNNERS",
                "WRITE_RUNNERS",
                "DELETE_RUNNERS",
                "READ_AUDIT_LOGS",
                "MANAGE_API_KEYS",
                "MANAGE_SECRETS",
                "READ_LIMITS",
                "MANAGE_SSO",
                "READ_BILLING",
                "MANAGE_BILLING"
              ]
            },
            "type": "array"
          },
          "lastUsedAt": {
            "description": "When the API key was last used",
            "example": "2024-03-14T12:00:00Z",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "expiresAt": {
            "description": "When the API key expires",
            "example": "2024-03-14T12:00:00Z",
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "userId": {
            "description": "The user ID of the user who created the API key",
            "example": "123",
            "type": "string"
          },
          "organizationId": {
            "description": "The organization ID associated with the API key",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "expiresAt",
          "lastUsedAt",
          "name",
          "permissions",
          "userId",
          "value"
        ],
        "type": "object"
      },
      "OrganizationRole": {
        "example": {
          "createdAt": "2000-01-23T04:56:07.000+00:00",
          "permissions": [
            "write:registries",
            "write:registries"
          ],
          "name": "name",
          "isGlobal": true,
          "description": "description",
          "id": "id",
          "updatedAt": "2000-01-23T04:56:07.000+00:00"
        },
        "properties": {
          "id": {
            "description": "Role ID",
            "type": "string"
          },
          "name": {
            "description": "Role name",
            "type": "string"
          },
          "description": {
            "description": "Role description",
            "type": "string"
          },
          "permissions": {
            "description": "Roles assigned to the user",
            "items": {
              "enum": [
                "write:registries",
                "delete:registries",
                "write:snapshots",
                "delete:snapshots",
                "write:sandboxes",
                "delete:sandboxes",
                "read:volumes",
                "write:volumes",
                "delete:volumes",
                "write:regions",
                "delete:regions",
                "read:runners",
                "write:runners",
                "delete:runners",
                "read:audit_logs",
                "manage:api_keys",
                "manage:secrets",
                "read:limits",
                "manage:sso",
                "read:billing",
                "manage:billing"
              ],
              "type": "string",
              "x-enum-varnames": [
                "WRITE_REGISTRIES",
                "DELETE_REGISTRIES",
                "WRITE_SNAPSHOTS",
                "DELETE_SNAPSHOTS",
                "WRITE_SANDBOXES",
                "DELETE_SANDBOXES",
                "READ_VOLUMES",
                "WRITE_VOLUMES",
                "DELETE_VOLUMES",
                "WRITE_REGIONS",
                "DELETE_REGIONS",
                "READ_RUNNERS",
                "WRITE_RUNNERS",
                "DELETE_RUNNERS",
                "READ_AUDIT_LOGS",
                "MANAGE_API_KEYS",
                "MANAGE_SECRETS",
                "READ_LIMITS",
                "MANAGE_SSO",
                "READ_BILLING",
                "MANAGE_BILLING"
              ]
            },
            "type": "array"
          },
          "isGlobal": {
            "description": "Global role flag",
            "type": "boolean"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "description",
          "id",
          "isGlobal",
          "name",
          "permissions",
          "updatedAt"
        ],
        "type": "object"
      },
      "OrganizationInvitation": {
        "example": {
          "organizationId": "organizationId",
          "createdAt": "2000-01-23T04:56:07.000+00:00",
          "invitedBy": "invitedBy",
          "role": "owner",
          "organizationName": "organizationName",
          "assignedRoles": [
            {
              "createdAt": "2000-01-23T04:56:07.000+00:00",
              "permissions": [
                "write:registries",
                "write:registries"
              ],
              "name": "name",
              "isGlobal": true,
              "description": "description",
              "id": "id",
              "updatedAt": "2000-01-23T04:56:07.000+00:00"
            },
            {
              "createdAt": "2000-01-23T04:56:07.000+00:00",
              "permissions": [
                "write:registries",
                "write:registries"
              ],
              "name": "name",
              "isGlobal": true,
              "description": "description",
              "id": "id",
              "updatedAt": "2000-01-23T04:56:07.000+00:00"
            }
          ],
          "id": "id",
          "email": "email",
          "expiresAt": "2000-01-23T04:56:07.000+00:00",
          "status": "pending",
          "updatedAt": "2000-01-23T04:56:07.000+00:00"
        },
        "properties": {
          "id": {
            "description": "Invitation ID",
            "type": "string"
          },
          "email": {
            "description": "Email address of the invitee",
            "type": "string"
          },
          "invitedBy": {
            "description": "Email address of the inviter",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "type": "string"
          },
          "organizationName": {
            "description": "Organization name",
            "type": "string"
          },
          "expiresAt": {
            "description": "Expiration date of the invitation",
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "description": "Invitation status",
            "enum": [
              "pending",
              "accepted",
              "declined",
              "cancelled"
            ],
            "type": "string"
          },
          "role": {
            "description": "Member role",
            "enum": [
              "owner",
              "member"
            ],
            "type": "string"
          },
          "assignedRoles": {
            "description": "Assigned roles",
            "items": {
              "$ref": "#/components/schemas/OrganizationRole"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "assignedRoles",
          "createdAt",
          "email",
          "expiresAt",
          "id",
          "invitedBy",
          "organizationId",
          "organizationName",
          "role",
          "status",
          "updatedAt"
        ],
        "type": "object"
      },
      "CreateOrganization": {
        "example": {
          "defaultRegionId": "us",
          "name": "My Organization"
        },
        "properties": {
          "name": {
            "description": "The name of organization",
            "example": "My Organization",
            "type": "string"
          },
          "defaultRegionId": {
            "description": "The ID of the default region for the organization",
            "example": "us",
            "type": "string"
          }
        },
        "required": [
          "defaultRegionId",
          "name"
        ],
        "type": "object"
      },
      "DirectorySyncStatus": {
        "description": "Connection state of the WorkOS SCIM directory, as last reported by WorkOS (absent when no directory has ever reported in)",
        "enum": [
          "active",
          "inactive",
          "deleted"
        ],
        "type": "string"
      },
      "OtelConfig": {
        "example": {
          "organizationId": "organizationId",
          "headers": {
            "x-api-key": "my-api-key"
          },
          "endpoint": "endpoint"
        },
        "properties": {
          "endpoint": {
            "description": "Endpoint",
            "type": "string"
          },
          "headers": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Headers",
            "example": {
              "x-api-key": "my-api-key"
            },
            "nullable": true,
            "type": "object"
          },
          "organizationId": {
            "description": "Organization ID the config belongs to",
            "type": "string"
          }
        },
        "required": [
          "endpoint"
        ],
        "type": "object"
      },
      "Organization": {
        "example": {
          "secretQuota": 5.637376656633329,
          "sandboxCreateRateLimit": 2.027123023002322,
          "sandboxLifecycleRateLimitTtlSeconds": 1.0246457001441578,
          "createdAt": "2000-01-23T04:56:07.000+00:00",
          "sandboxLimitedNetworkEgress": true,
          "suspendedUntil": "2000-01-23T04:56:07.000+00:00",
          "ssoEnabled": true,
          "directorySyncStatusChangedAt": "2000-01-23T04:56:07.000+00:00",
          "previewWarningEnabled": true,
          "snapshotDeactivationTimeoutMinutes": 7.061401241503109,
          "otelConfig": "",
          "authenticatedRateLimitTtlSeconds": 7.386281948385884,
          "id": "id",
          "experimentalConfig": "{}",
          "updatedAt": "2000-01-23T04:56:07.000+00:00",
          "defaultRegionId": "defaultRegionId",
          "sandboxCreateRateLimitTtlSeconds": 1.2315135367772556,
          "suspensionReason": "suspensionReason",
          "sandboxLifecycleRateLimit": 4.145608029883936,
          "suspendedAt": "2000-01-23T04:56:07.000+00:00",
          "personal": true,
          "suspensionCleanupGracePeriodHours": 0.8008281904610115,
          "maxSecretsPerSandbox": 2.3021358869347655,
          "directorySyncStatus": "",
          "authenticatedRateLimit": 3.616076749251911,
          "suspended": true,
          "defaultQueueTimeout": 9,
          "maxCpuPerSandbox": 6.027456183070403,
          "scimEnabled": true,
          "maxDiskPerSandbox": 5.962133916683182,
          "createdBy": "createdBy",
          "workosOrgId": "workosOrgId",
          "name": "name",
          "maxMemoryPerSandbox": 1.4658129805029452,
          "directorySyncTokenRevokedAt": "2000-01-23T04:56:07.000+00:00"
        },
        "properties": {
          "id": {
            "description": "Organization ID",
            "type": "string"
          },
          "name": {
            "description": "Organization name",
            "type": "string"
          },
          "createdBy": {
            "description": "User ID of the organization creator",
            "type": "string"
          },
          "personal": {
            "description": "Personal organization flag",
            "type": "boolean"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "format": "date-time",
            "type": "string"
          },
          "suspended": {
            "description": "Suspended flag",
            "type": "boolean"
          },
          "suspendedAt": {
            "description": "Suspended at",
            "format": "date-time",
            "type": "string"
          },
          "suspensionReason": {
            "description": "Suspended reason",
            "type": "string"
          },
          "suspendedUntil": {
            "description": "Suspended until",
            "format": "date-time",
            "type": "string"
          },
          "suspensionCleanupGracePeriodHours": {
            "description": "Suspension cleanup grace period hours",
            "type": "number"
          },
          "maxCpuPerSandbox": {
            "description": "Max CPU per sandbox",
            "type": "number"
          },
          "maxMemoryPerSandbox": {
            "description": "Max memory per sandbox",
            "type": "number"
          },
          "maxDiskPerSandbox": {
            "description": "Max disk per sandbox",
            "type": "number"
          },
          "secretQuota": {
            "description": "Maximum number of secrets",
            "type": "number"
          },
          "maxSecretsPerSandbox": {
            "description": "Maximum number of secrets that can be mounted to a single sandbox",
            "type": "number"
          },
          "snapshotDeactivationTimeoutMinutes": {
            "default": 20160,
            "description": "Time in minutes before an unused snapshot is deactivated",
            "type": "number"
          },
          "defaultQueueTimeout": {
            "description": "Default minutes to wait for runner assignment before cancelling sandbox creation. Applied when sandbox create omits queueTimeout. Null means no default.",
            "nullable": true,
            "type": "integer"
          },
          "sandboxLimitedNetworkEgress": {
            "description": "Sandbox default network block all",
            "type": "boolean"
          },
          "previewWarningEnabled": {
            "description": "Whether the proxy shows the preview URL warning page for this organization",
            "type": "boolean"
          },
          "ssoEnabled": {
            "description": "Whether this organization may configure SSO identity providers",
            "type": "boolean"
          },
          "scimEnabled": {
            "description": "Whether this organization may use SCIM directory sync",
            "type": "boolean"
          },
          "defaultRegionId": {
            "description": "Default region ID",
            "type": "string"
          },
          "workosOrgId": {
            "description": "ID of the WorkOS organization mirrored from this organization (absent for personal organizations, which are never mirrored)",
            "type": "string"
          },
          "directorySyncStatus": {
            "allOf": [
              {
                "$ref": "#/components/schemas/DirectorySyncStatus"
              }
            ],
            "description": "Connection state of the WorkOS SCIM directory, as last reported by WorkOS (absent when no directory has ever reported in)"
          },
          "directorySyncStatusChangedAt": {
            "description": "When the directory sync status last changed",
            "format": "date-time",
            "type": "string"
          },
          "directorySyncTokenRevokedAt": {
            "description": "When the directory bearer token was revoked; absent while a valid token exists. A revoked token stops provisioning even if the directory is still active.",
            "format": "date-time",
            "type": "string"
          },
          "authenticatedRateLimit": {
            "description": "Authenticated rate limit per minute",
            "nullable": true,
            "type": "number"
          },
          "sandboxCreateRateLimit": {
            "description": "Sandbox create rate limit per minute",
            "nullable": true,
            "type": "number"
          },
          "sandboxLifecycleRateLimit": {
            "description": "Sandbox lifecycle rate limit per minute",
            "nullable": true,
            "type": "number"
          },
          "experimentalConfig": {
            "description": "Experimental configuration",
            "type": "object"
          },
          "otelConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OtelConfig"
              }
            ],
            "description": "OpenTelemetry collection configuration",
            "nullable": true
          },
          "authenticatedRateLimitTtlSeconds": {
            "description": "Authenticated rate limit TTL in seconds",
            "nullable": true,
            "type": "number"
          },
          "sandboxCreateRateLimitTtlSeconds": {
            "description": "Sandbox create rate limit TTL in seconds",
            "nullable": true,
            "type": "number"
          },
          "sandboxLifecycleRateLimitTtlSeconds": {
            "description": "Sandbox lifecycle rate limit TTL in seconds",
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "authenticatedRateLimit",
          "authenticatedRateLimitTtlSeconds",
          "createdAt",
          "createdBy",
          "defaultQueueTimeout",
          "experimentalConfig",
          "id",
          "maxCpuPerSandbox",
          "maxDiskPerSandbox",
          "maxMemoryPerSandbox",
          "maxSecretsPerSandbox",
          "name",
          "otelConfig",
          "personal",
          "previewWarningEnabled",
          "sandboxCreateRateLimit",
          "sandboxCreateRateLimitTtlSeconds",
          "sandboxLifecycleRateLimit",
          "sandboxLifecycleRateLimitTtlSeconds",
          "sandboxLimitedNetworkEgress",
          "scimEnabled",
          "secretQuota",
          "snapshotDeactivationTimeoutMinutes",
          "ssoEnabled",
          "suspended",
          "suspendedAt",
          "suspendedUntil",
          "suspensionCleanupGracePeriodHours",
          "suspensionReason",
          "updatedAt"
        ],
        "type": "object"
      },
      "UpdateOrganizationDefaultRegion": {
        "example": {
          "defaultRegionId": "us"
        },
        "properties": {
          "defaultRegionId": {
            "description": "The ID of the default region for the organization",
            "example": "us",
            "type": "string"
          }
        },
        "required": [
          "defaultRegionId"
        ],
        "type": "object"
      },
      "UpdateOrganizationDefaultQueueTimeout": {
        "example": {
          "defaultQueueTimeout": 5
        },
        "properties": {
          "defaultQueueTimeout": {
            "description": "Default minutes to wait for runner assignment before cancelling sandbox creation. Null disables the default. A number must be a positive integer.",
            "example": 5,
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "defaultQueueTimeout"
        ],
        "type": "object"
      },
      "SandboxClass": {
        "enum": [
          "linux-vm",
          "container",
          "windows"
        ],
        "type": "string",
        "x-enum-varnames": [
          "LINUX_VM",
          "CONTAINER",
          "WINDOWS"
        ]
      },
      "GpuType": {
        "enum": [
          "H100",
          "H200",
          "B200",
          "B300",
          "RTX-PRO-6000",
          "RTX-4090",
          "RTX-5090",
          "MI355X"
        ],
        "type": "string",
        "x-enum-varnames": [
          "H100",
          "H200",
          "B200",
          "B300",
          "RTX_PRO_6000",
          "RTX_4090",
          "RTX_5090",
          "MI355X"
        ]
      },
      "RegionUsageOverview": {
        "example": {
          "totalCpuQuota": 0.8008281904610115,
          "currentGpuUsage": 9.301444243932576,
          "allowedGpuTypes": [
            "H100",
            "H100"
          ],
          "totalGpuQuota": 7.061401241503109,
          "maxMemoryPerGpu": 1.0246457001441578,
          "maxCpuPerSandbox": 3.616076749251911,
          "maxDiskPerSandbox": 4.145608029883936,
          "maxDiskPerNonEphemeralSandbox": 7.386281948385884,
          "regionId": "regionId",
          "currentDiskUsage": 2.3021358869347655,
          "maxCpuPerGpu": 1.2315135367772556,
          "currentMemoryUsage": 5.962133916683182,
          "currentCpuUsage": 6.027456183070403,
          "maxMemoryPerSandbox": 2.027123023002322,
          "maxDiskPerGpu": 1.4894159098541704,
          "totalMemoryQuota": 1.4658129805029452,
          "totalDiskQuota": 5.637376656633329,
          "sandboxClass": ""
        },
        "properties": {
          "regionId": {
            "type": "string"
          },
          "sandboxClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxClass"
              }
            ]
          },
          "totalCpuQuota": {
            "type": "number"
          },
          "currentCpuUsage": {
            "type": "number"
          },
          "totalMemoryQuota": {
            "type": "number"
          },
          "currentMemoryUsage": {
            "type": "number"
          },
          "totalDiskQuota": {
            "type": "number"
          },
          "currentDiskUsage": {
            "type": "number"
          },
          "totalGpuQuota": {
            "type": "number"
          },
          "currentGpuUsage": {
            "type": "number"
          },
          "allowedGpuTypes": {
            "items": {
              "$ref": "#/components/schemas/GpuType"
            },
            "type": "array"
          },
          "maxCpuPerSandbox": {
            "nullable": true,
            "type": "number"
          },
          "maxMemoryPerSandbox": {
            "nullable": true,
            "type": "number"
          },
          "maxDiskPerSandbox": {
            "nullable": true,
            "type": "number"
          },
          "maxDiskPerNonEphemeralSandbox": {
            "nullable": true,
            "type": "number"
          },
          "maxCpuPerGpu": {
            "description": "CPU maximum per requested GPU unit for GPU sandboxes.",
            "nullable": true,
            "type": "number"
          },
          "maxMemoryPerGpu": {
            "description": "Memory maximum per requested GPU unit for GPU sandboxes.",
            "nullable": true,
            "type": "number"
          },
          "maxDiskPerGpu": {
            "description": "Disk maximum per requested GPU unit for GPU sandboxes.",
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "currentCpuUsage",
          "currentDiskUsage",
          "currentGpuUsage",
          "currentMemoryUsage",
          "maxCpuPerGpu",
          "maxCpuPerSandbox",
          "maxDiskPerGpu",
          "maxDiskPerNonEphemeralSandbox",
          "maxDiskPerSandbox",
          "maxMemoryPerGpu",
          "maxMemoryPerSandbox",
          "regionId",
          "sandboxClass",
          "totalCpuQuota",
          "totalDiskQuota",
          "totalGpuQuota",
          "totalMemoryQuota"
        ],
        "type": "object"
      },
      "OrganizationUsageOverview": {
        "example": {
          "totalSnapshotQuota": 6.84685269835264,
          "currentVolumeUsage": 4.965218492984954,
          "totalVolumeQuota": 1.1730742509559433,
          "currentSnapshotUsage": 7.457744773683766,
          "regionUsage": [
            {
              "totalCpuQuota": 0.8008281904610115,
              "currentGpuUsage": 9.301444243932576,
              "allowedGpuTypes": [
                "H100",
                "H100"
              ],
              "totalGpuQuota": 7.061401241503109,
              "maxMemoryPerGpu": 1.0246457001441578,
              "maxCpuPerSandbox": 3.616076749251911,
              "maxDiskPerSandbox": 4.145608029883936,
              "maxDiskPerNonEphemeralSandbox": 7.386281948385884,
              "regionId": "regionId",
              "currentDiskUsage": 2.3021358869347655,
              "maxCpuPerGpu": 1.2315135367772556,
              "currentMemoryUsage": 5.962133916683182,
              "currentCpuUsage": 6.027456183070403,
              "maxMemoryPerSandbox": 2.027123023002322,
              "maxDiskPerGpu": 1.4894159098541704,
              "totalMemoryQuota": 1.4658129805029452,
              "totalDiskQuota": 5.637376656633329,
              "sandboxClass": ""
            },
            {
              "totalCpuQuota": 0.8008281904610115,
              "currentGpuUsage": 9.301444243932576,
              "allowedGpuTypes": [
                "H100",
                "H100"
              ],
              "totalGpuQuota": 7.061401241503109,
              "maxMemoryPerGpu": 1.0246457001441578,
              "maxCpuPerSandbox": 3.616076749251911,
              "maxDiskPerSandbox": 4.145608029883936,
              "maxDiskPerNonEphemeralSandbox": 7.386281948385884,
              "regionId": "regionId",
              "currentDiskUsage": 2.3021358869347655,
              "maxCpuPerGpu": 1.2315135367772556,
              "currentMemoryUsage": 5.962133916683182,
              "currentCpuUsage": 6.027456183070403,
              "maxMemoryPerSandbox": 2.027123023002322,
              "maxDiskPerGpu": 1.4894159098541704,
              "totalMemoryQuota": 1.4658129805029452,
              "totalDiskQuota": 5.637376656633329,
              "sandboxClass": ""
            }
          ]
        },
        "properties": {
          "regionUsage": {
            "items": {
              "$ref": "#/components/schemas/RegionUsageOverview"
            },
            "type": "array"
          },
          "totalSnapshotQuota": {
            "type": "number"
          },
          "currentSnapshotUsage": {
            "type": "number"
          },
          "totalVolumeQuota": {
            "type": "number"
          },
          "currentVolumeUsage": {
            "type": "number"
          }
        },
        "required": [
          "currentSnapshotUsage",
          "currentVolumeUsage",
          "regionUsage",
          "totalSnapshotQuota",
          "totalVolumeQuota"
        ],
        "type": "object"
      },
      "AvailableSandboxClass": {
        "example": {
          "gpuAvailable": true,
          "regionId": "regionId",
          "allowedGpuTypes": [
            "H100",
            "H100"
          ],
          "sandboxClass": ""
        },
        "properties": {
          "regionId": {
            "type": "string"
          },
          "sandboxClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxClass"
              }
            ]
          },
          "gpuAvailable": {
            "type": "boolean"
          },
          "allowedGpuTypes": {
            "items": {
              "$ref": "#/components/schemas/GpuType"
            },
            "type": "array"
          }
        },
        "required": [
          "gpuAvailable",
          "regionId",
          "sandboxClass"
        ],
        "type": "object"
      },
      "SandboxIdentity": {
        "example": {
          "organizationId": "organizationId",
          "sandboxId": "sandboxId"
        },
        "properties": {
          "sandboxId": {
            "description": "Sandbox ID",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "type": "string"
          }
        },
        "required": [
          "organizationId",
          "sandboxId"
        ],
        "type": "object"
      },
      "CreateOrganizationRole": {
        "example": {
          "permissions": [
            "write:registries",
            "write:registries"
          ],
          "name": "Maintainer",
          "description": "Can manage all resources"
        },
        "properties": {
          "name": {
            "description": "The name of the role",
            "example": "Maintainer",
            "type": "string"
          },
          "description": {
            "description": "The description of the role",
            "example": "Can manage all resources",
            "type": "string"
          },
          "permissions": {
            "description": "The list of permissions assigned to the role",
            "items": {
              "enum": [
                "write:registries",
                "delete:registries",
                "write:snapshots",
                "delete:snapshots",
                "write:sandboxes",
                "delete:sandboxes",
                "read:volumes",
                "write:volumes",
                "delete:volumes",
                "write:regions",
                "delete:regions",
                "read:runners",
                "write:runners",
                "delete:runners",
                "read:audit_logs",
                "manage:api_keys",
                "manage:secrets",
                "read:limits",
                "manage:sso",
                "read:billing",
                "manage:billing"
              ],
              "type": "string",
              "x-enum-varnames": [
                "WRITE_REGISTRIES",
                "DELETE_REGISTRIES",
                "WRITE_SNAPSHOTS",
                "DELETE_SNAPSHOTS",
                "WRITE_SANDBOXES",
                "DELETE_SANDBOXES",
                "READ_VOLUMES",
                "WRITE_VOLUMES",
                "DELETE_VOLUMES",
                "WRITE_REGIONS",
                "DELETE_REGIONS",
                "READ_RUNNERS",
                "WRITE_RUNNERS",
                "DELETE_RUNNERS",
                "READ_AUDIT_LOGS",
                "MANAGE_API_KEYS",
                "MANAGE_SECRETS",
                "READ_LIMITS",
                "MANAGE_SSO",
                "READ_BILLING",
                "MANAGE_BILLING"
              ]
            },
            "type": "array"
          }
        },
        "required": [
          "description",
          "name",
          "permissions"
        ],
        "type": "object"
      },
      "UpdateOrganizationRole": {
        "example": {
          "permissions": [
            "write:registries",
            "write:registries"
          ],
          "name": "Maintainer",
          "description": "Can manage all resources"
        },
        "properties": {
          "name": {
            "description": "The name of the role",
            "example": "Maintainer",
            "type": "string"
          },
          "description": {
            "description": "The description of the role",
            "example": "Can manage all resources",
            "type": "string"
          },
          "permissions": {
            "description": "The list of permissions assigned to the role",
            "items": {
              "enum": [
                "write:registries",
                "delete:registries",
                "write:snapshots",
                "delete:snapshots",
                "write:sandboxes",
                "delete:sandboxes",
                "read:volumes",
                "write:volumes",
                "delete:volumes",
                "write:regions",
                "delete:regions",
                "read:runners",
                "write:runners",
                "delete:runners",
                "read:audit_logs",
                "manage:api_keys",
                "manage:secrets",
                "read:limits",
                "manage:sso",
                "read:billing",
                "manage:billing"
              ],
              "type": "string",
              "x-enum-varnames": [
                "WRITE_REGISTRIES",
                "DELETE_REGISTRIES",
                "WRITE_SNAPSHOTS",
                "DELETE_SNAPSHOTS",
                "WRITE_SANDBOXES",
                "DELETE_SANDBOXES",
                "READ_VOLUMES",
                "WRITE_VOLUMES",
                "DELETE_VOLUMES",
                "WRITE_REGIONS",
                "DELETE_REGIONS",
                "READ_RUNNERS",
                "WRITE_RUNNERS",
                "DELETE_RUNNERS",
                "READ_AUDIT_LOGS",
                "MANAGE_API_KEYS",
                "MANAGE_SECRETS",
                "READ_LIMITS",
                "MANAGE_SSO",
                "READ_BILLING",
                "MANAGE_BILLING"
              ]
            },
            "type": "array"
          }
        },
        "required": [
          "description",
          "name",
          "permissions"
        ],
        "type": "object"
      },
      "OrganizationUser": {
        "example": {
          "organizationId": "organizationId",
          "createdAt": "2000-01-23T04:56:07.000+00:00",
          "role": "owner",
          "assignedRoles": [
            {
              "createdAt": "2000-01-23T04:56:07.000+00:00",
              "permissions": [
                "write:registries",
                "write:registries"
              ],
              "name": "name",
              "isGlobal": true,
              "description": "description",
              "id": "id",
              "updatedAt": "2000-01-23T04:56:07.000+00:00"
            },
            {
              "createdAt": "2000-01-23T04:56:07.000+00:00",
              "permissions": [
                "write:registries",
                "write:registries"
              ],
              "name": "name",
              "isGlobal": true,
              "description": "description",
              "id": "id",
              "updatedAt": "2000-01-23T04:56:07.000+00:00"
            }
          ],
          "name": "name",
          "userId": "userId",
          "email": "email",
          "updatedAt": "2000-01-23T04:56:07.000+00:00"
        },
        "properties": {
          "userId": {
            "description": "User ID",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "type": "string"
          },
          "name": {
            "description": "User name",
            "type": "string"
          },
          "email": {
            "description": "User email",
            "type": "string"
          },
          "role": {
            "description": "Member role",
            "enum": [
              "owner",
              "member"
            ],
            "type": "string"
          },
          "assignedRoles": {
            "description": "Roles assigned to the user",
            "items": {
              "$ref": "#/components/schemas/OrganizationRole"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "assignedRoles",
          "createdAt",
          "email",
          "name",
          "organizationId",
          "role",
          "updatedAt",
          "userId"
        ],
        "type": "object"
      },
      "UpdateOrganizationMemberAccess": {
        "example": {
          "role": "member",
          "assignedRoleIds": [
            "assignedRoleIds",
            "assignedRoleIds"
          ]
        },
        "properties": {
          "role": {
            "default": "member",
            "description": "Organization member role",
            "enum": [
              "owner",
              "member"
            ],
            "type": "string"
          },
          "assignedRoleIds": {
            "default": [
              "00000000-0000-0000-0000-000000000001"
            ],
            "description": "Array of assigned role IDs",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "assignedRoleIds",
          "role"
        ],
        "type": "object"
      },
      "CreateOrganizationInvitation": {
        "example": {
          "role": "member",
          "assignedRoleIds": [
            "assignedRoleIds",
            "assignedRoleIds"
          ],
          "email": "mail@example.com",
          "expiresAt": "2021-12-31T23:59:59Z"
        },
        "properties": {
          "email": {
            "description": "Email address of the invitee",
            "example": "mail@example.com",
            "type": "string"
          },
          "role": {
            "default": "member",
            "description": "Organization member role for the invitee",
            "enum": [
              "owner",
              "member"
            ],
            "type": "string"
          },
          "assignedRoleIds": {
            "default": [
              "00000000-0000-0000-0000-000000000001"
            ],
            "description": "Array of assigned role IDs for the invitee",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "expiresAt": {
            "description": "Expiration date of the invitation",
            "example": "2021-12-31T23:59:59Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "assignedRoleIds",
          "email",
          "role"
        ],
        "type": "object"
      },
      "UpdateOrganizationInvitation": {
        "example": {
          "role": "owner",
          "assignedRoleIds": [
            "assignedRoleIds",
            "assignedRoleIds"
          ],
          "expiresAt": "2021-12-31T23:59:59Z"
        },
        "properties": {
          "role": {
            "description": "Organization member role",
            "enum": [
              "owner",
              "member"
            ],
            "type": "string"
          },
          "assignedRoleIds": {
            "description": "Array of role IDs",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "expiresAt": {
            "description": "Expiration date of the invitation",
            "example": "2021-12-31T23:59:59Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "assignedRoleIds",
          "role"
        ],
        "type": "object"
      },
      "RegionType": {
        "description": "The type of the region",
        "enum": [
          "shared",
          "dedicated",
          "custom"
        ],
        "type": "string"
      },
      "Region": {
        "example": {
          "otelEndpoint": "https://otel-collector.example.com:4318",
          "buildContextBucketRegion": "us-east-1",
          "buildContextRoleArn": "arn:aws:iam::123456789012:role/daytona-build-context",
          "proxyUrl": "https://proxy.example.com",
          "sshGatewayUrl": "http://ssh-gateway.example.com",
          "organizationId": "123e4567-e89b-12d3-a456-426614174000",
          "createdAt": "2023-01-01T00:00:00.000Z",
          "snapshotManagerUrl": "http://snapshot-manager.example.com",
          "regionType": "shared",
          "buildContextBucket": "my-org-daytona-region-us",
          "name": "us-east-1",
          "id": "123456789012",
          "updatedAt": "2023-01-01T00:00:00.000Z"
        },
        "properties": {
          "id": {
            "description": "Region ID",
            "example": "123456789012",
            "type": "string"
          },
          "name": {
            "description": "Region name",
            "example": "us-east-1",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "nullable": true,
            "type": "string"
          },
          "regionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RegionType"
              }
            ],
            "description": "The type of the region",
            "example": "shared"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "example": "2023-01-01T00:00:00.000Z",
            "type": "string"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "example": "2023-01-01T00:00:00.000Z",
            "type": "string"
          },
          "proxyUrl": {
            "description": "Proxy URL for the region",
            "example": "https://proxy.example.com",
            "nullable": true,
            "type": "string"
          },
          "sshGatewayUrl": {
            "description": "SSH Gateway URL for the region",
            "example": "http://ssh-gateway.example.com",
            "nullable": true,
            "type": "string"
          },
          "snapshotManagerUrl": {
            "description": "Snapshot Manager URL for the region",
            "example": "http://snapshot-manager.example.com",
            "nullable": true,
            "type": "string"
          },
          "otelEndpoint": {
            "description": "OTel collector endpoint for sandboxes created in this region. When set, sandbox OTel data is sent to this endpoint instead of the Daytona-hosted collector and will not be available in the Daytona analytics API or dashboard.",
            "example": "https://otel-collector.example.com:4318",
            "nullable": true,
            "type": "string"
          },
          "buildContextBucket": {
            "description": "S3 bucket in your AWS account that declarative-build context is uploaded to for this region. Requires buildContextBucketRegion and buildContextRoleArn.",
            "example": "my-org-daytona-region-us",
            "nullable": true,
            "type": "string"
          },
          "buildContextBucketRegion": {
            "description": "AWS region of buildContextBucket (standard aws partition only)",
            "example": "us-east-1",
            "nullable": true,
            "type": "string"
          },
          "buildContextRoleArn": {
            "description": "IAM role Daytona assumes (with your organization ID as ExternalId) to issue upload credentials for buildContextBucket",
            "example": "arn:aws:iam::123456789012:role/daytona-build-context",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "id",
          "name",
          "regionType",
          "updatedAt"
        ],
        "type": "object"
      },
      "CreateRegion": {
        "example": {
          "otelEndpoint": "https://otel-collector.example.com:4318",
          "snapshotManagerUrl": "https://snapshot-manager.example.com",
          "buildContextBucketRegion": "us-east-1",
          "buildContextRoleArn": "arn:aws:iam::123456789012:role/daytona-build-context",
          "buildContextBucket": "my-org-daytona-region-us",
          "proxyUrl": "https://proxy.example.com",
          "name": "us-east-1",
          "sshGatewayUrl": "ssh://ssh-gateway.example.com"
        },
        "properties": {
          "name": {
            "description": "Region name",
            "example": "us-east-1",
            "type": "string"
          },
          "proxyUrl": {
            "description": "Proxy URL for the region",
            "example": "https://proxy.example.com",
            "nullable": true,
            "type": "string"
          },
          "sshGatewayUrl": {
            "description": "SSH Gateway URL for the region",
            "example": "ssh://ssh-gateway.example.com",
            "nullable": true,
            "type": "string"
          },
          "snapshotManagerUrl": {
            "description": "Snapshot Manager URL for the region",
            "example": "https://snapshot-manager.example.com",
            "nullable": true,
            "type": "string"
          },
          "otelEndpoint": {
            "description": "OTel collector endpoint for sandboxes created in this region. When set, sandbox OTel data is sent to this endpoint instead of the Daytona-hosted collector and will not be available in the Daytona analytics API or dashboard.",
            "example": "https://otel-collector.example.com:4318",
            "nullable": true,
            "type": "string"
          },
          "buildContextBucket": {
            "description": "S3 bucket in your AWS account that declarative-build context is uploaded to for this region. Requires buildContextBucketRegion and buildContextRoleArn.",
            "example": "my-org-daytona-region-us",
            "nullable": true,
            "type": "string"
          },
          "buildContextBucketRegion": {
            "description": "AWS region of buildContextBucket (standard aws partition only)",
            "example": "us-east-1",
            "nullable": true,
            "type": "string"
          },
          "buildContextRoleArn": {
            "description": "IAM role Daytona assumes (with your organization ID as ExternalId) to issue upload credentials for buildContextBucket",
            "example": "arn:aws:iam::123456789012:role/daytona-build-context",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreateRegionResponse": {
        "example": {
          "proxyApiKey": "proxy-api-key-xyz",
          "snapshotManagerUsername": "daytona",
          "snapshotManagerPassword": "snapshotManagerPassword",
          "id": "region_12345",
          "sshGatewayApiKey": "ssh-gateway-api-key-abc"
        },
        "properties": {
          "id": {
            "description": "ID of the created region",
            "example": "region_12345",
            "type": "string"
          },
          "proxyApiKey": {
            "description": "Proxy API key for the region",
            "example": "proxy-api-key-xyz",
            "nullable": true,
            "type": "string"
          },
          "sshGatewayApiKey": {
            "description": "SSH Gateway API key for the region",
            "example": "ssh-gateway-api-key-abc",
            "nullable": true,
            "type": "string"
          },
          "snapshotManagerUsername": {
            "description": "Snapshot Manager username for the region",
            "example": "daytona",
            "nullable": true,
            "type": "string"
          },
          "snapshotManagerPassword": {
            "description": "Snapshot Manager password for the region",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "RegenerateApiKeyResponse": {
        "example": {
          "apiKey": "api-key-xyz123"
        },
        "properties": {
          "apiKey": {
            "description": "The newly generated API key",
            "example": "api-key-xyz123",
            "type": "string"
          }
        },
        "required": [
          "apiKey"
        ],
        "type": "object"
      },
      "UpdateRegion": {
        "example": {
          "otelEndpoint": "https://otel-collector.example.com:4318",
          "snapshotManagerUrl": "https://snapshot-manager.example.com",
          "buildContextBucketRegion": "us-east-1",
          "buildContextRoleArn": "arn:aws:iam::123456789012:role/daytona-build-context",
          "buildContextBucket": "my-org-daytona-region-us",
          "proxyUrl": "https://proxy.example.com",
          "sshGatewayUrl": "ssh://ssh-gateway.example.com"
        },
        "properties": {
          "proxyUrl": {
            "description": "Proxy URL for the region",
            "example": "https://proxy.example.com",
            "nullable": true,
            "type": "string"
          },
          "sshGatewayUrl": {
            "description": "SSH Gateway URL for the region",
            "example": "ssh://ssh-gateway.example.com",
            "nullable": true,
            "type": "string"
          },
          "snapshotManagerUrl": {
            "description": "Snapshot Manager URL for the region",
            "example": "https://snapshot-manager.example.com",
            "nullable": true,
            "type": "string"
          },
          "otelEndpoint": {
            "description": "OTel collector endpoint for sandboxes created in this region. When set, sandbox OTel data is sent to this endpoint instead of the Daytona-hosted collector and will not be available in the Daytona analytics API or dashboard.",
            "example": "https://otel-collector.example.com:4318",
            "nullable": true,
            "type": "string"
          },
          "buildContextBucket": {
            "description": "S3 bucket in your AWS account that declarative-build context is uploaded to for this region. Requires buildContextBucketRegion and buildContextRoleArn.",
            "example": "my-org-daytona-region-us",
            "nullable": true,
            "type": "string"
          },
          "buildContextBucketRegion": {
            "description": "AWS region of buildContextBucket (standard aws partition only)",
            "example": "us-east-1",
            "nullable": true,
            "type": "string"
          },
          "buildContextRoleArn": {
            "description": "IAM role Daytona assumes (with your organization ID as ExternalId) to issue upload credentials for buildContextBucket",
            "example": "arn:aws:iam::123456789012:role/daytona-build-context",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "SnapshotManagerCredentials": {
        "example": {
          "password": "password",
          "username": "daytona"
        },
        "properties": {
          "username": {
            "description": "Snapshot Manager username for the region",
            "example": "daytona",
            "type": "string"
          },
          "password": {
            "description": "Snapshot Manager password for the region",
            "type": "string"
          }
        },
        "required": [
          "password",
          "username"
        ],
        "type": "object"
      },
      "WorkosAdminPortalIntent": {
        "description": "Which setup flow to open: sso for a single sign-on connection, dsync for SCIM directory sync",
        "enum": [
          "sso",
          "dsync"
        ],
        "type": "string"
      },
      "GenerateWorkosAdminPortalLink": {
        "example": {
          "intent": ""
        },
        "properties": {
          "intent": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WorkosAdminPortalIntent"
              }
            ],
            "description": "Which setup flow to open: sso for a single sign-on connection, dsync for SCIM directory sync"
          }
        },
        "required": [
          "intent"
        ],
        "type": "object"
      },
      "WorkosAdminPortalLink": {
        "example": {
          "link": "link"
        },
        "properties": {
          "link": {
            "description": "Single-purpose WorkOS Admin Portal URL. Expires five minutes after issuance; open it immediately.",
            "type": "string"
          }
        },
        "required": [
          "link"
        ],
        "type": "object"
      },
      "WorkosSsoConnection": {
        "example": {
          "createdAt": "2000-01-23T04:56:07.000+00:00",
          "name": "name",
          "domains": [
            "domains",
            "domains"
          ],
          "id": "id",
          "state": "active",
          "connectionType": "OktaSAML",
          "updatedAt": "2000-01-23T04:56:07.000+00:00"
        },
        "properties": {
          "id": {
            "description": "WorkOS connection ID",
            "type": "string"
          },
          "name": {
            "description": "Connection name as set in the WorkOS Admin Portal",
            "type": "string"
          },
          "connectionType": {
            "description": "WorkOS connection type, e.g. OktaSAML, AzureSAML, GenericOIDC",
            "example": "OktaSAML",
            "type": "string"
          },
          "state": {
            "description": "WorkOS connection state: active means logins work; draft and requires_type mean setup is incomplete",
            "example": "active",
            "type": "string"
          },
          "domains": {
            "description": "Email domains routed to this connection",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "When the connection was created in WorkOS",
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "description": "When the connection was last changed in WorkOS",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "connectionType",
          "createdAt",
          "domains",
          "id",
          "name",
          "state",
          "updatedAt"
        ],
        "type": "object"
      },
      "OidcIdPConfig": {
        "properties": {
          "issuerUrl": {
            "description": "OIDC Issuer URL",
            "example": "https://company.okta.com",
            "type": "string"
          },
          "clientId": {
            "description": "OAuth Client ID",
            "example": "abc123",
            "type": "string"
          },
          "clientSecret": {
            "description": "OAuth Client Secret",
            "example": "secret123",
            "type": "string"
          },
          "scope": {
            "description": "OAuth scopes",
            "example": "openid email profile",
            "type": "string"
          }
        },
        "required": [
          "clientId",
          "clientSecret",
          "issuerUrl"
        ],
        "type": "object"
      },
      "CreateIdentityProvider": {
        "example": {
          "trustEmailVerified": false,
          "defaultAssignedRoleIds": [
            "00000000-0000-0000-0000-000000000001"
          ],
          "oidcConfig": "",
          "name": "Company Okta",
          "emailDomains": [
            "company.com",
            "corp.company.com"
          ],
          "allowAnyDomain": false,
          "enabled": true
        },
        "properties": {
          "name": {
            "description": "Display name for the identity provider",
            "example": "Company Okta",
            "type": "string"
          },
          "oidcConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OidcIdPConfig"
              }
            ],
            "description": "OIDC configuration"
          },
          "emailDomains": {
            "default": [],
            "description": "Email domains used for IdP discovery on the login form and to validate the user identity returned by the IdP. Required and must be non-empty unless `allowAnyDomain` is true.",
            "example": [
              "company.com",
              "corp.company.com"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "allowAnyDomain": {
            "default": false,
            "description": "When true, the IdP accepts any email domain returned by the external provider. Disables the post-callback domain check and allows `emailDomains` to be empty. Only enable for trusted IdPs that strictly control which users can authenticate.",
            "example": false,
            "type": "boolean"
          },
          "trustEmailVerified": {
            "default": false,
            "description": "When true, skip the `email_verified` claim check on SSO logins through this identity provider. Only intended for providers that never emit the claim (e.g. Microsoft Entra ID). Risky: only enable if the IdP strictly controls its users' email addresses.",
            "example": false,
            "type": "boolean"
          },
          "defaultAssignedRoleIds": {
            "default": [],
            "description": "Organization role IDs assigned to users who join the organization via SSO through this identity provider. Roles must be global or belong to this organization. Empty (default) grants the lowest access: membership with no resource permissions.",
            "example": [
              "00000000-0000-0000-0000-000000000001"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "enabled": {
            "default": true,
            "description": "Whether the identity provider is enabled",
            "example": true,
            "type": "boolean"
          }
        },
        "required": [
          "emailDomains",
          "name",
          "oidcConfig"
        ],
        "type": "object"
      },
      "OidcIdPConfigResponse": {
        "properties": {
          "issuerUrl": {
            "description": "OIDC Issuer URL",
            "example": "https://company.okta.com",
            "type": "string"
          },
          "clientId": {
            "description": "OAuth Client ID",
            "example": "abc123",
            "type": "string"
          },
          "scope": {
            "description": "OAuth scopes",
            "example": "openid email profile",
            "type": "string"
          }
        },
        "required": [
          "clientId",
          "issuerUrl"
        ],
        "type": "object"
      },
      "IdentityProvider": {
        "example": {
          "organizationId": "123e4567-e89b-12d3-a456-426614174000",
          "createdAt": "2025-01-01T00:00:00Z",
          "trustEmailVerified": false,
          "defaultAssignedRoleIds": [
            "00000000-0000-0000-0000-000000000001"
          ],
          "oidcConfig": "",
          "name": "Company Okta",
          "emailDomains": [
            "company.com",
            "corp.company.com"
          ],
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "allowAnyDomain": false,
          "enabled": true,
          "updatedAt": "2025-01-01T00:00:00Z"
        },
        "properties": {
          "id": {
            "description": "Unique identifier",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Display name for the identity provider",
            "example": "Company Okta",
            "type": "string"
          },
          "oidcConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/OidcIdPConfigResponse"
              }
            ],
            "description": "OIDC configuration (secret redacted)"
          },
          "emailDomains": {
            "description": "Email domains used for IdP discovery on the login form. May be empty when `allowAnyDomain` is true.",
            "example": [
              "company.com",
              "corp.company.com"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "allowAnyDomain": {
            "description": "Whether the IdP accepts any email domain returned by the external provider",
            "example": false,
            "type": "boolean"
          },
          "trustEmailVerified": {
            "description": "Whether the `email_verified` claim check is skipped on SSO logins through this identity provider",
            "example": false,
            "type": "boolean"
          },
          "defaultAssignedRoleIds": {
            "description": "Organization role IDs assigned to users who join via SSO through this identity provider",
            "example": [
              "00000000-0000-0000-0000-000000000001"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "enabled": {
            "description": "Whether the identity provider is enabled",
            "example": true,
            "type": "boolean"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "example": "2025-01-01T00:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "allowAnyDomain",
          "createdAt",
          "defaultAssignedRoleIds",
          "emailDomains",
          "enabled",
          "id",
          "name",
          "oidcConfig",
          "organizationId",
          "trustEmailVerified",
          "updatedAt"
        ],
        "type": "object"
      },
      "UpdateOidcIdPConfig": {
        "properties": {
          "issuerUrl": {
            "description": "OIDC Issuer URL",
            "example": "https://company.okta.com",
            "type": "string"
          },
          "clientId": {
            "description": "OAuth Client ID",
            "example": "abc123",
            "type": "string"
          },
          "clientSecret": {
            "description": "OAuth Client Secret",
            "example": "secret123",
            "type": "string"
          },
          "scope": {
            "description": "OAuth scopes",
            "example": "openid email profile",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateIdentityProvider": {
        "example": {
          "trustEmailVerified": false,
          "defaultAssignedRoleIds": [
            "00000000-0000-0000-0000-000000000001"
          ],
          "oidcConfig": "",
          "name": "Company Okta",
          "emailDomains": [
            "company.com",
            "corp.company.com"
          ],
          "allowAnyDomain": false,
          "enabled": true
        },
        "properties": {
          "name": {
            "description": "Display name for the identity provider",
            "example": "Company Okta",
            "type": "string"
          },
          "oidcConfig": {
            "allOf": [
              {
                "$ref": "#/components/schemas/UpdateOidcIdPConfig"
              }
            ],
            "description": "OIDC configuration"
          },
          "emailDomains": {
            "description": "Email domains used for IdP discovery on the login form and to validate the user identity returned by the IdP. If provided and `allowAnyDomain` is not being set to true, must contain at least one domain. To clear domains in the same request, set `allowAnyDomain: true` and `emailDomains: []`.",
            "example": [
              "company.com",
              "corp.company.com"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "allowAnyDomain": {
            "description": "When true, the IdP accepts any email domain returned by the external provider. Disables the post-callback domain check and allows `emailDomains` to be empty. Only enable for trusted IdPs that strictly control which users can authenticate.",
            "example": false,
            "type": "boolean"
          },
          "trustEmailVerified": {
            "description": "When true, skip the `email_verified` claim check on SSO logins through this identity provider. Only intended for providers that never emit the claim (e.g. Microsoft Entra ID). Risky: only enable if the IdP strictly controls its users' email addresses.",
            "example": false,
            "type": "boolean"
          },
          "defaultAssignedRoleIds": {
            "description": "Organization role IDs assigned to users who join the organization via SSO through this identity provider. Roles must be global or belong to this organization. Empty grants the lowest access: membership with no resource permissions.",
            "example": [
              "00000000-0000-0000-0000-000000000001"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "enabled": {
            "description": "Whether the identity provider is enabled",
            "example": true,
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "TestIdentityProviderConnection": {
        "example": {
          "issuerUrl": "https://company.okta.com"
        },
        "properties": {
          "issuerUrl": {
            "description": "OIDC Issuer URL to test",
            "example": "https://company.okta.com",
            "type": "string"
          }
        },
        "required": [
          "issuerUrl"
        ],
        "type": "object"
      },
      "TestIdentityProviderConnectionResponse": {
        "example": {
          "success": true,
          "error": "error",
          "issuer": "https://company.okta.com"
        },
        "properties": {
          "success": {
            "description": "Whether the connection test was successful",
            "example": true,
            "type": "boolean"
          },
          "issuer": {
            "description": "The discovered issuer from the OIDC configuration",
            "example": "https://company.okta.com",
            "type": "string"
          },
          "error": {
            "description": "Error message if the connection test failed",
            "type": "string"
          }
        },
        "required": [
          "success"
        ],
        "type": "object"
      },
      "UserPublicKey": {
        "example": {
          "name": "name",
          "key": "key"
        },
        "properties": {
          "key": {
            "description": "Public key",
            "type": "string"
          },
          "name": {
            "description": "Key name",
            "type": "string"
          }
        },
        "required": [
          "key",
          "name"
        ],
        "type": "object"
      },
      "User": {
        "example": {
          "emailVerified": true,
          "createdAt": "2000-01-23T04:56:07.000+00:00",
          "publicKeys": [
            {
              "name": "name",
              "key": "key"
            },
            {
              "name": "name",
              "key": "key"
            }
          ],
          "pylonEmailHash": "pylonEmailHash",
          "name": "name",
          "id": "id",
          "email": "email",
          "privacyPoliciesAccepted": true
        },
        "properties": {
          "id": {
            "description": "User ID",
            "type": "string"
          },
          "name": {
            "description": "User name",
            "type": "string"
          },
          "email": {
            "description": "User email",
            "type": "string"
          },
          "emailVerified": {
            "description": "Whether the user email address has been verified",
            "type": "boolean"
          },
          "pylonEmailHash": {
            "description": "HMAC of the user email for Pylon support-widget identity verification",
            "type": "string"
          },
          "privacyPoliciesAccepted": {
            "description": "Whether the user has accepted the current privacy policies. Populated on the /users/me endpoint.",
            "type": "boolean"
          },
          "publicKeys": {
            "description": "User public keys",
            "items": {
              "$ref": "#/components/schemas/UserPublicKey"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "email",
          "emailVerified",
          "id",
          "name",
          "publicKeys"
        ],
        "type": "object"
      },
      "AccountProvider": {
        "example": {
          "provider": "provider",
          "displayName": "displayName",
          "linked": true
        },
        "properties": {
          "provider": {
            "description": "WorkOS identity provider, e.g. GoogleOAuth or GitHubOAuth",
            "type": "string"
          },
          "displayName": {
            "description": "Human-readable provider name",
            "type": "string"
          },
          "linked": {
            "description": "Whether the authenticated user has an identity from this provider",
            "type": "boolean"
          }
        },
        "required": [
          "displayName",
          "linked",
          "provider"
        ],
        "type": "object"
      },
      "CreateLinkedAccount": {
        "example": {
          "provider": "provider",
          "userId": "userId"
        },
        "properties": {
          "provider": {
            "description": "The authentication provider of the secondary account",
            "type": "string"
          },
          "userId": {
            "description": "The user ID of the secondary account",
            "type": "string"
          }
        },
        "required": [
          "provider",
          "userId"
        ],
        "type": "object"
      },
      "SandboxState": {
        "enum": [
          "creating",
          "restoring",
          "destroyed",
          "destroying",
          "started",
          "stopped",
          "starting",
          "stopping",
          "error",
          "build_failed",
          "pending_build",
          "building_snapshot",
          "unknown",
          "pulling_snapshot",
          "archived",
          "archiving",
          "resizing",
          "snapshotting",
          "forking",
          "pausing",
          "paused",
          "resuming"
        ],
        "type": "string"
      },
      "SandboxListSortField": {
        "enum": [
          "name",
          "cpu",
          "memoryGib",
          "diskGib",
          "lastActivityAt",
          "createdAt"
        ],
        "type": "string"
      },
      "SandboxListSortDirection": {
        "enum": [
          "asc",
          "desc"
        ],
        "type": "string"
      },
      "SandboxDesiredState": {
        "description": "The desired state of the sandbox",
        "enum": [
          "destroyed",
          "started",
          "stopped",
          "resized",
          "archived",
          "paused"
        ],
        "type": "string"
      },
      "SandboxListItem": {
        "example": {
          "memory": 4,
          "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox",
          "lastActivityAt": "2024-10-01T12:00:00Z",
          "autoStopInterval": 30,
          "warmPoolId": "warmPoolId",
          "organizationId": "organization123",
          "autoPauseInterval": 60,
          "createdAt": "2024-10-01T12:00:00Z",
          "networkBlockAll": false,
          "autoDeleteInterval": 30,
          "domainAllowList": "example.com,*.daytona.io",
          "public": false,
          "errorReason": "The sandbox is not running",
          "runnerId": "runner123",
          "id": "sandbox123",
          "state": "creating",
          "sandboxClass": "linux-vm",
          "gpuType": "H100",
          "updatedAt": "2024-10-01T12:00:00Z",
          "desiredState": "destroyed",
          "networkAllowList": "192.168.1.0/16,10.0.0.0/24",
          "spotEvictedAt": "2026-08-13T12:00:00.000Z",
          "recoverable": true,
          "cpu": 2,
          "gpu": 0,
          "daemonVersion": "1.0.0",
          "target": "local",
          "labels": {
            "daytona.io/public": "true"
          },
          "disk": 10,
          "autoDestroyAt": "2026-07-15T12:00:00.000Z",
          "queueTimedOutAt": "2026-08-13T12:00:00.000Z",
          "spot": false,
          "name": "MySandbox",
          "backupState": "None",
          "user": "daytona",
          "autoArchiveInterval": 10080,
          "snapshot": "daytonaio/sandbox:latest",
          "queueTimeout": 5
        },
        "properties": {
          "id": {
            "description": "The ID of the sandbox",
            "example": "sandbox123",
            "type": "string"
          },
          "organizationId": {
            "description": "The organization ID of the sandbox",
            "example": "organization123",
            "type": "string"
          },
          "name": {
            "description": "The name of the sandbox",
            "example": "MySandbox",
            "type": "string"
          },
          "target": {
            "description": "The target environment for the sandbox",
            "example": "local",
            "type": "string"
          },
          "runnerId": {
            "description": "The runner ID of the sandbox",
            "example": "runner123",
            "type": "string"
          },
          "sandboxClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxClass"
              }
            ],
            "description": "The class of the sandbox",
            "example": "linux-vm"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxState"
              }
            ],
            "description": "The state of the sandbox",
            "example": "creating"
          },
          "desiredState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxDesiredState"
              }
            ],
            "description": "The desired state of the sandbox",
            "example": "destroyed"
          },
          "snapshot": {
            "description": "The snapshot used for the sandbox",
            "example": "daytonaio/sandbox:latest",
            "type": "string"
          },
          "user": {
            "description": "The user associated with the project",
            "example": "daytona",
            "type": "string"
          },
          "errorReason": {
            "description": "The error reason of the sandbox",
            "example": "The sandbox is not running",
            "type": "string"
          },
          "recoverable": {
            "description": "Whether the sandbox error is recoverable.",
            "example": true,
            "type": "boolean"
          },
          "public": {
            "description": "Whether the sandbox http preview is public",
            "example": false,
            "type": "boolean"
          },
          "networkBlockAll": {
            "description": "Whether to block all network access for the sandbox",
            "example": false,
            "type": "boolean"
          },
          "networkAllowList": {
            "description": "Comma-separated list of allowed CIDR network addresses for the sandbox",
            "example": "192.168.1.0/16,10.0.0.0/24",
            "type": "string"
          },
          "domainAllowList": {
            "description": "Comma-separated list of allowed domains for the sandbox",
            "example": "example.com,*.daytona.io",
            "type": "string"
          },
          "cpu": {
            "description": "The CPU quota for the sandbox",
            "example": 2,
            "type": "integer"
          },
          "gpu": {
            "description": "The GPU quota for the sandbox",
            "example": 0,
            "type": "integer"
          },
          "spot": {
            "default": false,
            "description": "Whether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.",
            "example": false,
            "type": "boolean"
          },
          "spotEvictedAt": {
            "description": "When this sandbox was evicted by spot preemption. Set as soon as the sandbox is marked for eviction, so it is already present while the sandbox is still winding down.",
            "example": "2026-08-13T12:00:00.000Z",
            "type": "string"
          },
          "queueTimedOutAt": {
            "description": "When this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.",
            "example": "2026-08-13T12:00:00.000Z",
            "type": "string"
          },
          "gpuType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GpuType"
              }
            ],
            "description": "The GPU type assigned to the sandbox",
            "example": "H100"
          },
          "memory": {
            "description": "The memory quota for the sandbox",
            "example": 4,
            "type": "integer"
          },
          "disk": {
            "description": "The disk quota for the sandbox",
            "example": 10,
            "type": "integer"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Labels for the sandbox",
            "example": {
              "daytona.io/public": "true"
            },
            "type": "object"
          },
          "backupState": {
            "description": "The state of the backup",
            "enum": [
              "None",
              "Pending",
              "InProgress",
              "Completed",
              "Error"
            ],
            "example": "None",
            "type": "string"
          },
          "autoStopInterval": {
            "description": "Auto-stop interval in minutes (0 means disabled)",
            "example": 30,
            "type": "number"
          },
          "autoPauseInterval": {
            "description": "Auto-pause interval in minutes (0 means disabled)",
            "example": 60,
            "type": "number"
          },
          "autoArchiveInterval": {
            "description": "Auto-archive interval in minutes",
            "example": 10080,
            "type": "number"
          },
          "autoDeleteInterval": {
            "description": "Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)",
            "example": 30,
            "type": "number"
          },
          "autoDestroyAt": {
            "description": "When the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)",
            "example": "2026-07-15T12:00:00.000Z",
            "type": "string"
          },
          "queueTimeout": {
            "description": "Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.",
            "example": 5,
            "nullable": true,
            "type": "integer"
          },
          "createdAt": {
            "description": "The creation timestamp of the sandbox",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "updatedAt": {
            "description": "The last update timestamp of the sandbox",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "lastActivityAt": {
            "description": "The last activity timestamp of the sandbox",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "daemonVersion": {
            "description": "The version of the daemon running in the sandbox",
            "example": "1.0.0",
            "type": "string"
          },
          "warmPoolId": {
            "description": "Id of the warm pool this sandbox waits in; set only while it is an unclaimed member",
            "type": "string"
          },
          "toolboxProxyUrl": {
            "description": "The toolbox proxy URL for the sandbox",
            "example": "https://proxy.app.daytona.io/toolbox",
            "type": "string"
          }
        },
        "required": [
          "cpu",
          "disk",
          "gpu",
          "id",
          "labels",
          "memory",
          "name",
          "networkBlockAll",
          "organizationId",
          "public",
          "target",
          "toolboxProxyUrl",
          "user"
        ],
        "type": "object"
      },
      "ListSandboxesResponse": {
        "example": {
          "nextCursor": "nextCursor",
          "items": [
            {
              "memory": 4,
              "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox",
              "lastActivityAt": "2024-10-01T12:00:00Z",
              "autoStopInterval": 30,
              "warmPoolId": "warmPoolId",
              "organizationId": "organization123",
              "autoPauseInterval": 60,
              "createdAt": "2024-10-01T12:00:00Z",
              "networkBlockAll": false,
              "autoDeleteInterval": 30,
              "domainAllowList": "example.com,*.daytona.io",
              "public": false,
              "errorReason": "The sandbox is not running",
              "runnerId": "runner123",
              "id": "sandbox123",
              "state": "creating",
              "sandboxClass": "linux-vm",
              "gpuType": "H100",
              "updatedAt": "2024-10-01T12:00:00Z",
              "desiredState": "destroyed",
              "networkAllowList": "192.168.1.0/16,10.0.0.0/24",
              "spotEvictedAt": "2026-08-13T12:00:00.000Z",
              "recoverable": true,
              "cpu": 2,
              "gpu": 0,
              "daemonVersion": "1.0.0",
              "target": "local",
              "labels": {
                "daytona.io/public": "true"
              },
              "disk": 10,
              "autoDestroyAt": "2026-07-15T12:00:00.000Z",
              "queueTimedOutAt": "2026-08-13T12:00:00.000Z",
              "spot": false,
              "name": "MySandbox",
              "backupState": "None",
              "user": "daytona",
              "autoArchiveInterval": 10080,
              "snapshot": "daytonaio/sandbox:latest",
              "queueTimeout": 5
            },
            {
              "memory": 4,
              "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox",
              "lastActivityAt": "2024-10-01T12:00:00Z",
              "autoStopInterval": 30,
              "warmPoolId": "warmPoolId",
              "organizationId": "organization123",
              "autoPauseInterval": 60,
              "createdAt": "2024-10-01T12:00:00Z",
              "networkBlockAll": false,
              "autoDeleteInterval": 30,
              "domainAllowList": "example.com,*.daytona.io",
              "public": false,
              "errorReason": "The sandbox is not running",
              "runnerId": "runner123",
              "id": "sandbox123",
              "state": "creating",
              "sandboxClass": "linux-vm",
              "gpuType": "H100",
              "updatedAt": "2024-10-01T12:00:00Z",
              "desiredState": "destroyed",
              "networkAllowList": "192.168.1.0/16,10.0.0.0/24",
              "spotEvictedAt": "2026-08-13T12:00:00.000Z",
              "recoverable": true,
              "cpu": 2,
              "gpu": 0,
              "daemonVersion": "1.0.0",
              "target": "local",
              "labels": {
                "daytona.io/public": "true"
              },
              "disk": 10,
              "autoDestroyAt": "2026-07-15T12:00:00.000Z",
              "queueTimedOutAt": "2026-08-13T12:00:00.000Z",
              "spot": false,
              "name": "MySandbox",
              "backupState": "None",
              "user": "daytona",
              "autoArchiveInterval": 10080,
              "snapshot": "daytonaio/sandbox:latest",
              "queueTimeout": 5
            }
          ]
        },
        "properties": {
          "items": {
            "description": "List of results for the current page",
            "items": {
              "$ref": "#/components/schemas/SandboxListItem"
            },
            "type": "array"
          },
          "nextCursor": {
            "description": "Cursor for the next page of results",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "items",
          "nextCursor"
        ],
        "type": "object"
      },
      "SandboxVolume": {
        "example": {
          "mountPath": "/data",
          "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "subpath": "users/alice"
        },
        "properties": {
          "volumeId": {
            "description": "The ID or name of the volume. Resolved to the volume ID on sandbox create.",
            "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "type": "string"
          },
          "mountPath": {
            "description": "The mount path for the volume",
            "example": "/data",
            "type": "string"
          },
          "subpath": {
            "description": "Optional subpath within the volume to mount. When specified, only this S3 prefix will be accessible. When omitted, the entire volume is mounted.",
            "example": "users/alice",
            "type": "string"
          }
        },
        "required": [
          "mountPath",
          "volumeId"
        ],
        "type": "object"
      },
      "CreateBuildInfo": {
        "properties": {
          "dockerfileContent": {
            "description": "The Dockerfile content used for the build",
            "example": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",
            "type": "string"
          },
          "contextHashes": {
            "description": "The context hashes used for the build",
            "example": [
              "hash1",
              "hash2"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "dockerfileContent"
        ],
        "type": "object"
      },
      "CreateSandbox": {
        "example": {
          "memory": 1,
          "buildInfo": "",
          "autoStopInterval": 30,
          "otelEndpointOverride": "https://otel-collector.example.com:4318",
          "autoPauseInterval": 60,
          "networkBlockAll": false,
          "autoDeleteInterval": 30,
          "domainAllowList": "example.com,*.daytona.io",
          "public": false,
          "linkedSandbox": "sandbox123",
          "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",
          "gpuType": [
            "H100"
          ],
          "kvm": false,
          "networkAllowList": "192.168.1.0/16,10.0.0.0/24",
          "volumes": [
            {
              "mountPath": "/data",
              "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
              "subpath": "users/alice"
            },
            {
              "mountPath": "/data",
              "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
              "subpath": "users/alice"
            }
          ],
          "cpu": 2,
          "ttlMinutes": 1440,
          "env": {
            "NODE_ENV": "production"
          },
          "gpu": 1,
          "secrets": [
            {
              "ANTHROPIC_API_KEY": "anthropic-prod"
            },
            {
              "DB_PASSWORD": "DB_PASSWORD"
            }
          ],
          "labels": {
            "daytona.io/public": "true"
          },
          "target": "us",
          "disk": 3,
          "spot": false,
          "name": "MySandbox",
          "user": "daytona",
          "autoArchiveInterval": 10080,
          "snapshot": "ubuntu-4vcpu-8ram-100gb",
          "queueTimeout": 5
        },
        "properties": {
          "name": {
            "description": "The name of the sandbox. If not provided, the sandbox ID will be used as the name",
            "example": "MySandbox",
            "type": "string"
          },
          "snapshot": {
            "description": "The ID or name of the snapshot used for the sandbox",
            "example": "ubuntu-4vcpu-8ram-100gb",
            "type": "string"
          },
          "user": {
            "description": "The user associated with the project",
            "example": "daytona",
            "type": "string"
          },
          "env": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Environment variables for the sandbox",
            "example": {
              "NODE_ENV": "production"
            },
            "type": "object"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Labels for the sandbox",
            "example": {
              "daytona.io/public": "true"
            },
            "type": "object"
          },
          "public": {
            "description": "Whether the sandbox http preview is publicly accessible",
            "example": false,
            "type": "boolean"
          },
          "networkBlockAll": {
            "description": "Whether to block all network access for the sandbox",
            "example": false,
            "type": "boolean"
          },
          "kvm": {
            "default": false,
            "description": "Expose KVM (/dev/kvm) inside the sandbox via nested virtualization. linux-vm snapshots only. Requires the sandbox_kvm feature for the organization.",
            "example": false,
            "type": "boolean"
          },
          "networkAllowList": {
            "description": "Comma-separated list of allowed CIDR network addresses for the sandbox",
            "example": "192.168.1.0/16,10.0.0.0/24",
            "type": "string"
          },
          "domainAllowList": {
            "description": "Comma-separated list of allowed domains for the sandbox",
            "example": "example.com,*.daytona.io",
            "type": "string"
          },
          "outboundProxyUrl": {
            "description": "Outbound proxy URL to route the sandbox HTTP(S) traffic through (http or https; credentials may be included in the URL). On its own this is convenience routing, not a security boundary: it is applied by injecting the standard HTTP(S)_PROXY environment variables at creation, so a process that clears those variables egresses directly. Combine with domainAllowList to have web-port (80/443) egress transparently redirected through the proxy chain at the network layer, which cannot be bypassed from inside the sandbox.",
            "example": "http://user:pass@proxy.example.com:3128",
            "type": "string"
          },
          "otelEndpointOverride": {
            "description": "OTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector (the Daytona-hosted collector or the region-configured endpoint) and will not be available in the Daytona analytics API or dashboard.",
            "example": "https://otel-collector.example.com:4318",
            "type": "string"
          },
          "target": {
            "description": "The target (region) where the sandbox will be created",
            "example": "us",
            "type": "string"
          },
          "cpu": {
            "description": "CPU cores allocated to the sandbox",
            "example": 2,
            "type": "integer"
          },
          "gpu": {
            "description": "GPU units allocated to the sandbox",
            "example": 1,
            "type": "integer"
          },
          "gpuType": {
            "description": "Preferred GPU type for the sandbox. Accepts a single value or an ordered preference list — the scheduler tries each in order and pins the sandbox to the first that has capacity.",
            "example": [
              "H100"
            ],
            "items": {
              "$ref": "#/components/schemas/GpuType"
            },
            "type": "array"
          },
          "spot": {
            "default": false,
            "description": "GPU-only. When true, the sandbox may be instantly terminated without notice to free GPU capacity for an on-demand (non-spot) GPU sandbox. Ignored / rejected when the sandbox requests no GPUs.",
            "example": false,
            "type": "boolean"
          },
          "memory": {
            "description": "Memory allocated to the sandbox in GB",
            "example": 1,
            "type": "integer"
          },
          "disk": {
            "description": "Disk space allocated to the sandbox in GB",
            "example": 3,
            "type": "integer"
          },
          "autoStopInterval": {
            "description": "Auto-stop interval in minutes (0 means disabled)",
            "example": 30,
            "type": "integer"
          },
          "autoPauseInterval": {
            "description": "Auto-pause interval in minutes (0 means disabled). Only supported for sandbox classes that support pausing. Not allowed for ephemeral sandboxes. At most one of autoStopInterval and autoPauseInterval may be non-zero. For non-ephemeral sandbox classes that support pausing, defaults to 60 minutes (with auto-stop disabled) when neither interval is provided.",
            "example": 60,
            "type": "integer"
          },
          "autoArchiveInterval": {
            "description": "Auto-archive interval in minutes (0 means the maximum interval will be used)",
            "example": 10080,
            "type": "integer"
          },
          "autoDeleteInterval": {
            "description": "Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)",
            "example": 30,
            "type": "integer"
          },
          "ttlMinutes": {
            "description": "Maximum time to live in minutes, counted as wall-clock time since creation regardless of sandbox state (0 means disabled). When it elapses the sandbox is destroyed, even if it is stopped, paused, or archived. Subject to the maximum sandbox lifespan configured for the organization region and sandbox class, in which case it also defaults to that maximum and cannot be disabled.",
            "example": 1440,
            "type": "integer"
          },
          "queueTimeout": {
            "description": "Minutes to wait for runner assignment before cancelling sandbox creation. Applies only while the sandbox is unassigned in pending_build or pulling_snapshot. Only honored when default queue timeout is enabled for the organization. Omit to use the organization default; null/omit with no organization default leaves the wait unlimited. Must be a positive integer.",
            "example": 5,
            "type": "integer"
          },
          "volumes": {
            "description": "Array of volumes to attach to the sandbox",
            "items": {
              "$ref": "#/components/schemas/SandboxVolume"
            },
            "type": "array"
          },
          "buildInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateBuildInfo"
              }
            ],
            "description": "Build information for the sandbox"
          },
          "linkedSandbox": {
            "description": "ID or name of an existing sandbox to link the new sandbox to. The new sandbox will be scheduled on the same runner as the linked sandbox so a local network can be established between them. Linked sandboxes must be ephemeral (autoDeleteInterval=0) and cannot themselves be linked to another sandbox. GPU sandboxes cannot participate in links in either direction: a GPU sandbox cannot specify linkedSandbox, and cannot be the link target of another sandbox.",
            "example": "sandbox123",
            "type": "string"
          },
          "secrets": {
            "description": "Secrets to mount in this sandbox. Each entry maps an env var name to a vault secret name.",
            "example": [
              {
                "ANTHROPIC_API_KEY": "anthropic-prod"
              },
              {
                "DB_PASSWORD": "DB_PASSWORD"
              }
            ],
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "BuildInfo": {
        "properties": {
          "dockerfileContent": {
            "description": "The Dockerfile content used for the build",
            "example": "FROM node:14\nWORKDIR /app\nCOPY . .\nRUN npm install\nCMD [\"npm\", \"start\"]",
            "type": "string"
          },
          "contextHashes": {
            "description": "The context hashes used for the build",
            "example": [
              "hash1",
              "hash2"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "The creation timestamp",
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "description": "The last update timestamp",
            "format": "date-time",
            "type": "string"
          },
          "snapshotRef": {
            "description": "The snapshot reference",
            "example": "daytonaio/sandbox:latest",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "snapshotRef",
          "updatedAt"
        ],
        "type": "object"
      },
      "Sandbox": {
        "example": {
          "memory": 4,
          "linkedSandboxId": "sandbox123",
          "buildInfo": "",
          "toolboxProxyUrl": "https://proxy.app.daytona.io/toolbox",
          "lastActivityAt": "2024-10-01T12:00:00Z",
          "warmPoolId": "warmPoolId",
          "autoStopInterval": 30,
          "organizationId": "organization123",
          "otelEndpointOverride": "https://otel-collector.example.com:4318",
          "autoPauseInterval": 60,
          "createdAt": "2024-10-01T12:00:00Z",
          "networkBlockAll": false,
          "autoDeleteInterval": 30,
          "domainAllowList": "example.com,*.daytona.io",
          "public": false,
          "outboundProxyUrl": "http://user:pass@proxy.example.com:3128",
          "errorReason": "The sandbox is not running",
          "runnerId": "runner123",
          "id": "sandbox123",
          "state": "creating",
          "gpuType": "H100",
          "updatedAt": "2024-10-01T12:00:00Z",
          "sandboxClass": "linux-vm",
          "desiredState": "destroyed",
          "kvm": false,
          "networkAllowList": "192.168.1.0/16,10.0.0.0/24",
          "spotEvictedAt": "2026-08-13T12:00:00.000Z",
          "volumes": [
            {
              "mountPath": "/data",
              "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
              "subpath": "users/alice"
            },
            {
              "mountPath": "/data",
              "volumeId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
              "subpath": "users/alice"
            }
          ],
          "cpu": 2,
          "recoverable": true,
          "env": {
            "NODE_ENV": "production"
          },
          "gpu": 0,
          "daemonVersion": "1.0.0",
          "backupCreatedAt": "2024-10-01T12:00:00Z",
          "labels": {
            "daytona.io/public": "true"
          },
          "target": "local",
          "disk": 10,
          "autoDestroyAt": "2026-07-15T12:00:00.000Z",
          "queueTimedOutAt": "2026-08-13T12:00:00.000Z",
          "networkPolicyError": "persist updated proxy policy binding: operation not permitted",
          "spot": false,
          "name": "MySandbox",
          "backupState": "None",
          "user": "daytona",
          "autoArchiveInterval": 10080,
          "snapshot": "daytonaio/sandbox:latest",
          "queueTimeout": 5
        },
        "properties": {
          "id": {
            "description": "The ID of the sandbox",
            "example": "sandbox123",
            "type": "string"
          },
          "organizationId": {
            "description": "The organization ID of the sandbox",
            "example": "organization123",
            "type": "string"
          },
          "name": {
            "description": "The name of the sandbox",
            "example": "MySandbox",
            "type": "string"
          },
          "snapshot": {
            "description": "The snapshot used for the sandbox",
            "example": "daytonaio/sandbox:latest",
            "type": "string"
          },
          "user": {
            "description": "The user associated with the project",
            "example": "daytona",
            "type": "string"
          },
          "env": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Environment variables for the sandbox",
            "example": {
              "NODE_ENV": "production"
            },
            "type": "object"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Labels for the sandbox",
            "example": {
              "daytona.io/public": "true"
            },
            "type": "object"
          },
          "public": {
            "description": "Whether the sandbox http preview is public",
            "example": false,
            "type": "boolean"
          },
          "networkBlockAll": {
            "description": "Whether to block all network access for the sandbox",
            "example": false,
            "type": "boolean"
          },
          "kvm": {
            "description": "Whether the sandbox exposes KVM (/dev/kvm) to its guest",
            "example": false,
            "type": "boolean"
          },
          "networkAllowList": {
            "description": "Comma-separated list of allowed CIDR network addresses for the sandbox",
            "example": "192.168.1.0/16,10.0.0.0/24",
            "type": "string"
          },
          "domainAllowList": {
            "description": "Comma-separated list of allowed domains for the sandbox",
            "example": "example.com,*.daytona.io",
            "type": "string"
          },
          "outboundProxyUrl": {
            "description": "Outbound proxy URL the sandbox HTTP(S) traffic is routed through. Applied via the HTTP(S)_PROXY environment variables (convenience routing); network-layer enforcement applies only when the sandbox also has a domainAllowList. Only returned on single-sandbox reads — never on list responses.",
            "example": "http://user:pass@proxy.example.com:3128",
            "type": "string"
          },
          "otelEndpointOverride": {
            "description": "OTel collector endpoint override for this sandbox. When set, sandbox OTel data is sent to this endpoint instead of the default collector and is not available in the Daytona analytics API or dashboard. Only returned on single-sandbox reads — never on list responses.",
            "example": "https://otel-collector.example.com:4318",
            "type": "string"
          },
          "target": {
            "description": "The target environment for the sandbox",
            "example": "local",
            "type": "string"
          },
          "cpu": {
            "description": "The CPU quota for the sandbox",
            "example": 2,
            "type": "integer"
          },
          "gpu": {
            "description": "The GPU quota for the sandbox",
            "example": 0,
            "type": "integer"
          },
          "spot": {
            "default": false,
            "description": "Whether this is a spot GPU sandbox. Spot sandboxes may be instantly terminated to free capacity for on-demand GPU sandboxes. Absent on APIs that predate this field; treat as false.",
            "example": false,
            "type": "boolean"
          },
          "spotEvictedAt": {
            "description": "When this sandbox was destroyed by spot preemption. Set only for spot-evicted sandboxes, which stay retrievable by ID for 24 hours after eviction.",
            "example": "2026-08-13T12:00:00.000Z",
            "type": "string"
          },
          "queueTimedOutAt": {
            "description": "When this sandbox was destroyed because it waited too long for a runner. Set only for queue-timeout sandboxes, which stay retrievable by ID for 24 hours after the timeout.",
            "example": "2026-08-13T12:00:00.000Z",
            "type": "string"
          },
          "gpuType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GpuType"
              }
            ],
            "description": "The GPU type assigned to the sandbox",
            "example": "H100"
          },
          "memory": {
            "description": "The memory quota for the sandbox",
            "example": 4,
            "type": "integer"
          },
          "disk": {
            "description": "The disk quota for the sandbox",
            "example": 10,
            "type": "integer"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxState"
              }
            ],
            "description": "The state of the sandbox",
            "example": "creating"
          },
          "desiredState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxDesiredState"
              }
            ],
            "description": "The desired state of the sandbox",
            "example": "destroyed"
          },
          "errorReason": {
            "description": "The error reason of the sandbox",
            "example": "The sandbox is not running",
            "type": "string"
          },
          "networkPolicyError": {
            "description": "Outcome of the runner's most recent network policy change: why the network settings fields (what was requested) are not what the runner enforces. Absent when the latest change was applied; a new request leaves it as it is until its own outcome is known.",
            "example": "persist updated proxy policy binding: operation not permitted",
            "type": "string"
          },
          "recoverable": {
            "description": "Whether the sandbox error is recoverable.",
            "example": true,
            "type": "boolean"
          },
          "warmPoolId": {
            "description": "Id of the warm pool this sandbox waits in; set only while it is an unclaimed member.",
            "type": "string"
          },
          "backupState": {
            "deprecated": true,
            "description": "The state of the backup",
            "enum": [
              "None",
              "Pending",
              "InProgress",
              "Completed",
              "Error"
            ],
            "example": "None",
            "type": "string"
          },
          "backupCreatedAt": {
            "deprecated": true,
            "description": "The creation timestamp of the last backup",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "autoStopInterval": {
            "description": "Auto-stop interval in minutes (0 means disabled)",
            "example": 30,
            "type": "number"
          },
          "autoPauseInterval": {
            "description": "Auto-pause interval in minutes (0 means disabled)",
            "example": 60,
            "type": "number"
          },
          "autoArchiveInterval": {
            "description": "Auto-archive interval in minutes",
            "example": 10080,
            "type": "number"
          },
          "autoDeleteInterval": {
            "description": "Auto-delete interval in minutes (negative value means disabled, 0 means delete immediately upon stopping)",
            "example": 30,
            "type": "number"
          },
          "autoDestroyAt": {
            "description": "When the sandbox will be automatically destroyed, regardless of its state (only set when a TTL is configured)",
            "example": "2026-07-15T12:00:00.000Z",
            "type": "string"
          },
          "queueTimeout": {
            "description": "Minutes to wait for runner assignment before cancelling sandbox creation. Null means the wait is unlimited.",
            "example": 5,
            "nullable": true,
            "type": "integer"
          },
          "volumes": {
            "description": "Array of volumes attached to the sandbox",
            "items": {
              "$ref": "#/components/schemas/SandboxVolume"
            },
            "type": "array"
          },
          "buildInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildInfo"
              }
            ],
            "description": "Build information for the sandbox"
          },
          "createdAt": {
            "description": "The creation timestamp of the sandbox",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "updatedAt": {
            "description": "The last update timestamp of the sandbox",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "lastActivityAt": {
            "description": "The last activity timestamp of the sandbox",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "sandboxClass": {
            "description": "The class of the sandbox",
            "enum": [
              "linux-vm",
              "container",
              "windows"
            ],
            "example": "linux-vm",
            "type": "string",
            "x-enum-varnames": [
              "LINUX_VM",
              "CONTAINER",
              "WINDOWS"
            ]
          },
          "daemonVersion": {
            "description": "The version of the daemon running in the sandbox",
            "example": "1.0.0",
            "type": "string"
          },
          "runnerId": {
            "description": "The runner ID of the sandbox",
            "example": "runner123",
            "type": "string"
          },
          "linkedSandboxId": {
            "description": "ID of the sandbox this sandbox is linked to. When set, the sandbox is co-located on the same runner as the linked sandbox.",
            "example": "sandbox123",
            "type": "string"
          },
          "toolboxProxyUrl": {
            "description": "The toolbox proxy URL for the sandbox",
            "example": "https://proxy.app.daytona.io/toolbox",
            "type": "string"
          }
        },
        "required": [
          "cpu",
          "disk",
          "env",
          "gpu",
          "id",
          "kvm",
          "labels",
          "memory",
          "name",
          "networkBlockAll",
          "organizationId",
          "public",
          "target",
          "toolboxProxyUrl",
          "user"
        ],
        "type": "object"
      },
      "ResizeSandbox": {
        "example": {
          "disk": 20,
          "memory": 4,
          "cpu": 2
        },
        "properties": {
          "cpu": {
            "description": "CPU cores to allocate to the sandbox (minimum: 1)",
            "example": 2,
            "minimum": 1,
            "type": "integer"
          },
          "memory": {
            "description": "Memory in GB to allocate to the sandbox (minimum: 1)",
            "example": 4,
            "minimum": 1,
            "type": "integer"
          },
          "disk": {
            "description": "Disk space in GB to allocate to the sandbox (can only be increased)",
            "example": 20,
            "minimum": 1,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "SandboxLabels": {
        "example": {
          "labels": {
            "environment": "dev",
            "team": "backend"
          }
        },
        "properties": {
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Key-value pairs of labels",
            "example": {
              "environment": "dev",
              "team": "backend"
            },
            "type": "object"
          }
        },
        "required": [
          "labels"
        ],
        "type": "object"
      },
      "UpdateSandboxStateDto": {
        "example": {
          "errorReason": "Failed to pull snapshot image",
          "recoverable": true,
          "state": "started"
        },
        "properties": {
          "state": {
            "description": "The new state for the sandbox",
            "enum": [
              "creating",
              "restoring",
              "destroyed",
              "destroying",
              "started",
              "stopped",
              "starting",
              "stopping",
              "error",
              "build_failed",
              "pending_build",
              "building_snapshot",
              "unknown",
              "pulling_snapshot",
              "archived",
              "archiving",
              "resizing",
              "snapshotting",
              "forking",
              "pausing",
              "paused",
              "resuming"
            ],
            "example": "started",
            "type": "string"
          },
          "errorReason": {
            "description": "Optional error message when reporting an error state",
            "example": "Failed to pull snapshot image",
            "type": "string"
          },
          "recoverable": {
            "description": "Whether the sandbox is recoverable",
            "example": true,
            "type": "boolean"
          }
        },
        "required": [
          "state"
        ],
        "type": "object"
      },
      "CreateSandboxSnapshot": {
        "example": {
          "includeMemory": false,
          "name": "my-dev-env-v1"
        },
        "properties": {
          "name": {
            "description": "Name for the new snapshot",
            "example": "my-dev-env-v1",
            "type": "string"
          },
          "includeMemory": {
            "default": false,
            "description": "Include the VM's memory in the snapshot. VM sandboxes only. When true the sandbox must be STARTED; when false (default) VM sandboxes must be STOPPED. Container sandboxes do not support memory snapshots.",
            "type": "boolean"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ForkSandbox": {
        "example": {
          "name": "my-forked-sandbox"
        },
        "properties": {
          "name": {
            "description": "The name for the forked sandbox. If not provided, a unique name will be generated.",
            "example": "my-forked-sandbox",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateLastActivity": {
        "example": {
          "activityType": "toolbox"
        },
        "properties": {
          "activityType": {
            "description": "Optional type of interaction that reset the activity timer.",
            "example": "toolbox",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateSandboxNetworkSettings": {
        "example": {
          "networkBlockAll": false,
          "domainAllowList": "example.com,*.daytona.io",
          "networkAllowList": "192.168.1.0/16,10.0.0.0/24"
        },
        "properties": {
          "networkBlockAll": {
            "description": "Whether to block all network access for the sandbox",
            "example": false,
            "type": "boolean"
          },
          "networkAllowList": {
            "description": "Comma-separated list of allowed CIDR network addresses for the sandbox",
            "example": "192.168.1.0/16,10.0.0.0/24",
            "type": "string"
          },
          "domainAllowList": {
            "description": "Comma-separated list of allowed domains for the sandbox",
            "example": "example.com,*.daytona.io",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdateSandboxSecrets": {
        "example": {
          "secrets": [
            {
              "ANTHROPIC_API_KEY": "anthropic-prod"
            },
            {
              "DB_PASSWORD": "DB_PASSWORD"
            }
          ]
        },
        "properties": {
          "secrets": {
            "description": "Secrets to mount in this sandbox, replacing the previously mounted set. Each entry maps an env var name to a vault secret name. Pass an empty array to detach all secrets.",
            "example": [
              {
                "ANTHROPIC_API_KEY": "anthropic-prod"
              },
              {
                "DB_PASSWORD": "DB_PASSWORD"
              }
            ],
            "items": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "secrets"
        ],
        "type": "object"
      },
      "PortPreviewUrl": {
        "example": {
          "sandboxId": "123456",
          "url": "https://{port}-{sandboxId}.{proxyDomain}",
          "token": "ul67qtv-jl6wb9z5o3eii-ljqt9qed6l"
        },
        "properties": {
          "sandboxId": {
            "description": "ID of the sandbox",
            "example": "123456",
            "type": "string"
          },
          "url": {
            "description": "Preview url",
            "example": "https://{port}-{sandboxId}.{proxyDomain}",
            "type": "string"
          },
          "token": {
            "description": "Access token",
            "example": "ul67qtv-jl6wb9z5o3eii-ljqt9qed6l",
            "type": "string"
          }
        },
        "required": [
          "sandboxId",
          "token",
          "url"
        ],
        "type": "object"
      },
      "SignedPortPreviewUrl": {
        "example": {
          "port": 3000,
          "sandboxId": "123456",
          "url": "https://{port}-{token}.{proxyDomain}",
          "token": "jl6wb9z5o3eii"
        },
        "properties": {
          "sandboxId": {
            "description": "ID of the sandbox",
            "example": "123456",
            "type": "string"
          },
          "port": {
            "description": "Port number of the signed preview URL",
            "example": 3000,
            "type": "integer"
          },
          "token": {
            "description": "Token of the signed preview URL",
            "example": "jl6wb9z5o3eii",
            "type": "string"
          },
          "url": {
            "description": "Signed preview url",
            "example": "https://{port}-{token}.{proxyDomain}",
            "type": "string"
          }
        },
        "required": [
          "port",
          "sandboxId",
          "token",
          "url"
        ],
        "type": "object"
      },
      "Url": {
        "example": {
          "url": "url"
        },
        "properties": {
          "url": {
            "description": "URL response",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "SshAccessDto": {
        "example": {
          "createdAt": "2025-01-01T11:00:00Z",
          "sshCommand": "ssh -p 2222 token@localhost",
          "sandboxId": "123e4567-e89b-12d3-a456-426614174000",
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "expiresAt": "2025-01-01T12:00:00Z",
          "token": "abc123def456ghi789jkl012mno345pqr678stu901vwx234yz",
          "updatedAt": "2025-01-01T11:00:00Z"
        },
        "properties": {
          "id": {
            "description": "Unique identifier for the SSH access",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "sandboxId": {
            "description": "ID of the sandbox this SSH access is for",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "token": {
            "description": "SSH access token",
            "example": "abc123def456ghi789jkl012mno345pqr678stu901vwx234yz",
            "type": "string"
          },
          "expiresAt": {
            "description": "When the SSH access expires",
            "example": "2025-01-01T12:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "createdAt": {
            "description": "When the SSH access was created",
            "example": "2025-01-01T11:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "description": "When the SSH access was last updated",
            "example": "2025-01-01T11:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "sshCommand": {
            "description": "SSH command to connect to the sandbox",
            "example": "ssh -p 2222 token@localhost",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "expiresAt",
          "id",
          "sandboxId",
          "sshCommand",
          "token",
          "updatedAt"
        ],
        "type": "object"
      },
      "SshAccessValidationDto": {
        "example": {
          "valid": true,
          "sandboxId": "123e4567-e89b-12d3-a456-426614174000"
        },
        "properties": {
          "valid": {
            "description": "Whether the SSH access token is valid",
            "example": true,
            "type": "boolean"
          },
          "sandboxId": {
            "description": "ID of the sandbox this SSH access is for",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          }
        },
        "required": [
          "sandboxId",
          "valid"
        ],
        "type": "object"
      },
      "ToolboxProxyUrl": {
        "example": {
          "url": "https://proxy.app.daytona.io/toolbox"
        },
        "properties": {
          "url": {
            "description": "The toolbox proxy URL for the sandbox",
            "example": "https://proxy.app.daytona.io/toolbox",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "RegionQuota": {
        "example": {
          "totalCpuQuota": 0.8008281904610115,
          "maxSandboxLifespan": 7.386281948385884,
          "allowedGpuTypes": [
            "H100",
            "H100"
          ],
          "totalGpuQuota": 5.962133916683182,
          "maxMemoryPerGpu": 2.027123023002322,
          "organizationId": "organizationId",
          "maxCpuPerSandbox": 5.637376656633329,
          "maxDiskPerSandbox": 7.061401241503109,
          "maxDiskPerNonEphemeralSandbox": 9.301444243932576,
          "regionId": "regionId",
          "maxCpuPerGpu": 3.616076749251911,
          "maxMemoryPerSandbox": 2.3021358869347655,
          "maxDiskPerGpu": 4.145608029883936,
          "totalMemoryQuota": 6.027456183070403,
          "totalDiskQuota": 1.4658129805029452,
          "sandboxClass": ""
        },
        "properties": {
          "organizationId": {
            "type": "string"
          },
          "regionId": {
            "type": "string"
          },
          "sandboxClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxClass"
              }
            ]
          },
          "totalCpuQuota": {
            "type": "number"
          },
          "totalMemoryQuota": {
            "type": "number"
          },
          "totalDiskQuota": {
            "type": "number"
          },
          "totalGpuQuota": {
            "type": "number"
          },
          "allowedGpuTypes": {
            "items": {
              "$ref": "#/components/schemas/GpuType"
            },
            "type": "array"
          },
          "maxCpuPerSandbox": {
            "nullable": true,
            "type": "number"
          },
          "maxMemoryPerSandbox": {
            "nullable": true,
            "type": "number"
          },
          "maxDiskPerSandbox": {
            "nullable": true,
            "type": "number"
          },
          "maxDiskPerNonEphemeralSandbox": {
            "nullable": true,
            "type": "number"
          },
          "maxCpuPerGpu": {
            "description": "CPU maximum per requested GPU unit for GPU sandboxes.",
            "nullable": true,
            "type": "number"
          },
          "maxMemoryPerGpu": {
            "description": "Memory maximum per requested GPU unit for GPU sandboxes.",
            "nullable": true,
            "type": "number"
          },
          "maxDiskPerGpu": {
            "description": "Disk maximum per requested GPU unit for GPU sandboxes.",
            "nullable": true,
            "type": "number"
          },
          "maxSandboxLifespan": {
            "description": "Maximum sandbox lifespan in minutes, measured from sandbox creation to its auto-destroy deadline. If null or 0, lifespan is unrestricted. When set, sandboxes created without a TTL default to this lifespan and TTL cannot be disabled.",
            "nullable": true,
            "type": "number"
          }
        },
        "required": [
          "maxCpuPerGpu",
          "maxCpuPerSandbox",
          "maxDiskPerGpu",
          "maxDiskPerNonEphemeralSandbox",
          "maxDiskPerSandbox",
          "maxMemoryPerGpu",
          "maxMemoryPerSandbox",
          "maxSandboxLifespan",
          "organizationId",
          "regionId",
          "sandboxClass",
          "totalCpuQuota",
          "totalDiskQuota",
          "totalGpuQuota",
          "totalMemoryQuota"
        ],
        "type": "object"
      },
      "CreateRunnerSandboxClass": {
        "description": "The sandbox class supported by the runner. Defaults to container when omitted or null.",
        "enum": [
          "container",
          "linux-vm",
          "windows",
          null
        ],
        "nullable": true,
        "type": "string"
      },
      "CreateRunner": {
        "example": {
          "regionId": "regionId",
          "name": "name",
          "tags": [
            "gpu",
            "us-east"
          ],
          "sandboxClass": "container"
        },
        "properties": {
          "regionId": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "description": "Tags to associate with the runner",
            "example": [
              "gpu",
              "us-east"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "sandboxClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateRunnerSandboxClass"
              }
            ],
            "default": "container",
            "description": "The sandbox class supported by the runner. Defaults to container when omitted or null.",
            "example": "container"
          }
        },
        "required": [
          "name",
          "regionId"
        ],
        "type": "object"
      },
      "CreateRunnerResponse": {
        "example": {
          "apiKey": "dtn_1234567890",
          "id": "runner123"
        },
        "properties": {
          "id": {
            "description": "The ID of the runner",
            "example": "runner123",
            "type": "string"
          },
          "apiKey": {
            "description": "The API key for the runner",
            "example": "dtn_1234567890",
            "type": "string"
          }
        },
        "required": [
          "apiKey",
          "id"
        ],
        "type": "object"
      },
      "RunnerState": {
        "description": "The state of the runner",
        "enum": [
          "initializing",
          "ready",
          "disabled",
          "decommissioned",
          "unresponsive"
        ],
        "type": "string"
      },
      "RunnerClass": {
        "description": "The class of the runner. Deprecated and always returns \"container\" for backward compatibility - use sandboxClass instead.",
        "enum": [
          "container"
        ],
        "type": "string"
      },
      "RunnerFull": {
        "example": {
          "currentStartedSandboxes": 5,
          "appVersion": "v0.0.0-dev",
          "memory": 16,
          "currentMemoryUsagePercentage": 68.2,
          "apiKey": "dtn_1234567890",
          "availabilityScore": 85,
          "currentDiskUsagePercentage": 33.8,
          "currentCpuUsagePercentage": 45.6,
          "createdAt": "2023-10-01T12:00:00Z",
          "apiVersion": "0",
          "apiUrl": "https://api.runner1.example.com",
          "regionType": "shared",
          "id": "runner123",
          "state": "initializing",
          "unschedulable": false,
          "currentAllocatedDiskGiB": 50000,
          "class": "small",
          "currentAllocatedMemoryGiB": 8000,
          "gpuType": "gpuType",
          "sandboxClass": "linux-vm",
          "currentAllocatedCpu": 4000,
          "updatedAt": "2023-10-01T12:00:00Z",
          "proxyUrl": "https://proxy.runner1.example.com",
          "cpu": 8,
          "gpu": 1,
          "currentSnapshotCount": 12,
          "version": "0",
          "tags": [
            "gpu",
            "us-east"
          ],
          "disk": 100,
          "domain": "runner1.example.com",
          "name": "runner1",
          "runnerClass": "container",
          "region": "us",
          "lastChecked": "2024-10-01T12:00:00Z"
        },
        "properties": {
          "id": {
            "description": "The ID of the runner",
            "example": "runner123",
            "type": "string"
          },
          "domain": {
            "description": "The domain of the runner",
            "example": "runner1.example.com",
            "type": "string"
          },
          "apiUrl": {
            "description": "The API URL of the runner",
            "example": "https://api.runner1.example.com",
            "type": "string"
          },
          "proxyUrl": {
            "description": "The proxy URL of the runner",
            "example": "https://proxy.runner1.example.com",
            "type": "string"
          },
          "cpu": {
            "description": "The CPU capacity of the runner",
            "example": 8,
            "type": "number"
          },
          "memory": {
            "description": "The memory capacity of the runner in GiB",
            "example": 16,
            "type": "number"
          },
          "disk": {
            "description": "The disk capacity of the runner in GiB",
            "example": 100,
            "type": "number"
          },
          "gpu": {
            "description": "The GPU capacity of the runner",
            "example": 1,
            "type": "number"
          },
          "gpuType": {
            "description": "The type of GPU",
            "type": "string"
          },
          "sandboxClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxClass"
              }
            ],
            "description": "The sandbox class supported by this runner",
            "example": "linux-vm"
          },
          "currentCpuUsagePercentage": {
            "description": "Current CPU usage percentage",
            "example": 45.6,
            "type": "number"
          },
          "currentMemoryUsagePercentage": {
            "description": "Current RAM usage percentage",
            "example": 68.2,
            "type": "number"
          },
          "currentDiskUsagePercentage": {
            "description": "Current disk usage percentage",
            "example": 33.8,
            "type": "number"
          },
          "currentAllocatedCpu": {
            "description": "Current allocated CPU",
            "example": 4000,
            "type": "number"
          },
          "currentAllocatedMemoryGiB": {
            "description": "Current allocated memory in GiB",
            "example": 8000,
            "type": "number"
          },
          "currentAllocatedDiskGiB": {
            "description": "Current allocated disk in GiB",
            "example": 50000,
            "type": "number"
          },
          "currentSnapshotCount": {
            "description": "Current snapshot count",
            "example": 12,
            "type": "number"
          },
          "currentStartedSandboxes": {
            "description": "Current number of started sandboxes",
            "example": 5,
            "type": "number"
          },
          "availabilityScore": {
            "description": "Runner availability score",
            "example": 85,
            "type": "number"
          },
          "region": {
            "description": "The region of the runner",
            "example": "us",
            "type": "string"
          },
          "name": {
            "description": "The name of the runner",
            "example": "runner1",
            "type": "string"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RunnerState"
              }
            ],
            "description": "The state of the runner",
            "example": "initializing"
          },
          "lastChecked": {
            "description": "The last time the runner was checked",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "unschedulable": {
            "description": "Whether the runner is unschedulable",
            "example": false,
            "type": "boolean"
          },
          "tags": {
            "description": "Tags associated with the runner",
            "example": [
              "gpu",
              "us-east"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "The creation timestamp of the runner",
            "example": "2023-10-01T12:00:00Z",
            "type": "string"
          },
          "updatedAt": {
            "description": "The last update timestamp of the runner",
            "example": "2023-10-01T12:00:00Z",
            "type": "string"
          },
          "version": {
            "deprecated": true,
            "description": "The version of the runner (deprecated in favor of apiVersion)",
            "example": "0",
            "type": "string"
          },
          "apiVersion": {
            "deprecated": true,
            "description": "The api version of the runner",
            "example": "0",
            "type": "string"
          },
          "runnerClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RunnerClass"
              }
            ],
            "deprecated": true,
            "description": "The class of the runner. Deprecated and always returns \"container\" for backward compatibility - use sandboxClass instead.",
            "example": "container"
          },
          "appVersion": {
            "deprecated": true,
            "description": "The app version of the runner",
            "example": "v0.0.0-dev",
            "type": "string"
          },
          "class": {
            "deprecated": true,
            "description": "Deprecated runner class property",
            "example": "small",
            "type": "string"
          },
          "apiKey": {
            "description": "The API key for the runner",
            "example": "dtn_1234567890",
            "type": "string"
          },
          "regionType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RegionType"
              }
            ],
            "description": "The region type of the runner",
            "example": "shared"
          }
        },
        "required": [
          "apiKey",
          "apiVersion",
          "cpu",
          "createdAt",
          "disk",
          "id",
          "memory",
          "name",
          "region",
          "runnerClass",
          "state",
          "tags",
          "unschedulable",
          "updatedAt",
          "version"
        ],
        "type": "object"
      },
      "RunnerSnapshotDto": {
        "example": {
          "runnerDomain": "runner.example.com",
          "runnerId": "123e4567-e89b-12d3-a456-426614174000",
          "runnerSnapshotId": "123e4567-e89b-12d3-a456-426614174000"
        },
        "properties": {
          "runnerSnapshotId": {
            "description": "Runner snapshot ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "runnerId": {
            "description": "Runner ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "runnerDomain": {
            "description": "Runner domain",
            "example": "runner.example.com",
            "type": "string"
          }
        },
        "required": [
          "runnerId",
          "runnerSnapshotId"
        ],
        "type": "object"
      },
      "Runner": {
        "example": {
          "currentStartedSandboxes": 5,
          "appVersion": "v0.0.0-dev",
          "memory": 16,
          "currentMemoryUsagePercentage": 68.2,
          "availabilityScore": 85,
          "currentDiskUsagePercentage": 33.8,
          "currentCpuUsagePercentage": 45.6,
          "createdAt": "2023-10-01T12:00:00Z",
          "apiVersion": "0",
          "apiUrl": "https://api.runner1.example.com",
          "id": "runner123",
          "state": "initializing",
          "unschedulable": false,
          "currentAllocatedDiskGiB": 50000,
          "class": "small",
          "currentAllocatedMemoryGiB": 8000,
          "gpuType": "gpuType",
          "sandboxClass": "linux-vm",
          "currentAllocatedCpu": 4000,
          "updatedAt": "2023-10-01T12:00:00Z",
          "proxyUrl": "https://proxy.runner1.example.com",
          "cpu": 8,
          "gpu": 1,
          "currentSnapshotCount": 12,
          "version": "0",
          "tags": [
            "gpu",
            "us-east"
          ],
          "disk": 100,
          "domain": "runner1.example.com",
          "name": "runner1",
          "runnerClass": "container",
          "region": "us",
          "lastChecked": "2024-10-01T12:00:00Z"
        },
        "properties": {
          "id": {
            "description": "The ID of the runner",
            "example": "runner123",
            "type": "string"
          },
          "domain": {
            "description": "The domain of the runner",
            "example": "runner1.example.com",
            "type": "string"
          },
          "apiUrl": {
            "description": "The API URL of the runner",
            "example": "https://api.runner1.example.com",
            "type": "string"
          },
          "proxyUrl": {
            "description": "The proxy URL of the runner",
            "example": "https://proxy.runner1.example.com",
            "type": "string"
          },
          "cpu": {
            "description": "The CPU capacity of the runner",
            "example": 8,
            "type": "number"
          },
          "memory": {
            "description": "The memory capacity of the runner in GiB",
            "example": 16,
            "type": "number"
          },
          "disk": {
            "description": "The disk capacity of the runner in GiB",
            "example": 100,
            "type": "number"
          },
          "gpu": {
            "description": "The GPU capacity of the runner",
            "example": 1,
            "type": "number"
          },
          "gpuType": {
            "description": "The type of GPU",
            "type": "string"
          },
          "sandboxClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxClass"
              }
            ],
            "description": "The sandbox class supported by this runner",
            "example": "linux-vm"
          },
          "currentCpuUsagePercentage": {
            "description": "Current CPU usage percentage",
            "example": 45.6,
            "type": "number"
          },
          "currentMemoryUsagePercentage": {
            "description": "Current RAM usage percentage",
            "example": 68.2,
            "type": "number"
          },
          "currentDiskUsagePercentage": {
            "description": "Current disk usage percentage",
            "example": 33.8,
            "type": "number"
          },
          "currentAllocatedCpu": {
            "description": "Current allocated CPU",
            "example": 4000,
            "type": "number"
          },
          "currentAllocatedMemoryGiB": {
            "description": "Current allocated memory in GiB",
            "example": 8000,
            "type": "number"
          },
          "currentAllocatedDiskGiB": {
            "description": "Current allocated disk in GiB",
            "example": 50000,
            "type": "number"
          },
          "currentSnapshotCount": {
            "description": "Current snapshot count",
            "example": 12,
            "type": "number"
          },
          "currentStartedSandboxes": {
            "description": "Current number of started sandboxes",
            "example": 5,
            "type": "number"
          },
          "availabilityScore": {
            "description": "Runner availability score",
            "example": 85,
            "type": "number"
          },
          "region": {
            "description": "The region of the runner",
            "example": "us",
            "type": "string"
          },
          "name": {
            "description": "The name of the runner",
            "example": "runner1",
            "type": "string"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RunnerState"
              }
            ],
            "description": "The state of the runner",
            "example": "initializing"
          },
          "lastChecked": {
            "description": "The last time the runner was checked",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "unschedulable": {
            "description": "Whether the runner is unschedulable",
            "example": false,
            "type": "boolean"
          },
          "tags": {
            "description": "Tags associated with the runner",
            "example": [
              "gpu",
              "us-east"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "createdAt": {
            "description": "The creation timestamp of the runner",
            "example": "2023-10-01T12:00:00Z",
            "type": "string"
          },
          "updatedAt": {
            "description": "The last update timestamp of the runner",
            "example": "2023-10-01T12:00:00Z",
            "type": "string"
          },
          "version": {
            "deprecated": true,
            "description": "The version of the runner (deprecated in favor of apiVersion)",
            "example": "0",
            "type": "string"
          },
          "apiVersion": {
            "deprecated": true,
            "description": "The api version of the runner",
            "example": "0",
            "type": "string"
          },
          "runnerClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RunnerClass"
              }
            ],
            "deprecated": true,
            "description": "The class of the runner. Deprecated and always returns \"container\" for backward compatibility - use sandboxClass instead.",
            "example": "container"
          },
          "appVersion": {
            "deprecated": true,
            "description": "The app version of the runner",
            "example": "v0.0.0-dev",
            "type": "string"
          },
          "class": {
            "deprecated": true,
            "description": "Deprecated runner class property",
            "example": "small",
            "type": "string"
          }
        },
        "required": [
          "apiVersion",
          "cpu",
          "createdAt",
          "disk",
          "id",
          "memory",
          "name",
          "region",
          "runnerClass",
          "state",
          "tags",
          "unschedulable",
          "updatedAt",
          "version"
        ],
        "type": "object"
      },
      "RunnerHealthMetrics": {
        "properties": {
          "currentCpuLoadAverage": {
            "description": "Current CPU load average",
            "example": 0.98,
            "type": "number"
          },
          "currentCpuUsagePercentage": {
            "description": "Current CPU usage percentage",
            "example": 45.5,
            "type": "number"
          },
          "currentMemoryUsagePercentage": {
            "description": "Current memory usage percentage",
            "example": 60.2,
            "type": "number"
          },
          "currentDiskUsagePercentage": {
            "description": "Current disk usage percentage",
            "example": 35.8,
            "type": "number"
          },
          "currentAllocatedCpu": {
            "description": "Currently allocated CPU cores",
            "example": 8,
            "type": "number"
          },
          "currentAllocatedMemoryGiB": {
            "description": "Currently allocated memory in GiB",
            "example": 16,
            "type": "number"
          },
          "currentAllocatedDiskGiB": {
            "description": "Currently allocated disk in GiB",
            "example": 100,
            "type": "number"
          },
          "currentSnapshotCount": {
            "description": "Number of snapshots currently stored",
            "example": 5,
            "type": "number"
          },
          "currentStartedSandboxes": {
            "description": "Number of started sandboxes",
            "example": 10,
            "type": "number"
          },
          "cpu": {
            "description": "Total CPU cores on the runner",
            "example": 8,
            "type": "number"
          },
          "memoryGiB": {
            "description": "Total RAM in GiB on the runner",
            "example": 16,
            "type": "number"
          },
          "diskGiB": {
            "description": "Total disk space in GiB on the runner",
            "example": 100,
            "type": "number"
          },
          "gpu": {
            "description": "Total number of GPUs on the runner",
            "example": 4,
            "type": "number"
          },
          "gpuType": {
            "description": "GPU model name",
            "example": "NVIDIA H100 80GB HBM3",
            "type": "string"
          }
        },
        "required": [
          "cpu",
          "currentAllocatedCpu",
          "currentAllocatedDiskGiB",
          "currentAllocatedMemoryGiB",
          "currentCpuLoadAverage",
          "currentCpuUsagePercentage",
          "currentDiskUsagePercentage",
          "currentMemoryUsagePercentage",
          "currentSnapshotCount",
          "currentStartedSandboxes",
          "diskGiB",
          "memoryGiB"
        ],
        "type": "object"
      },
      "RunnerServiceHealth": {
        "example": {
          "healthy": false,
          "errorReason": "Cannot connect to the runner",
          "serviceName": "runner"
        },
        "properties": {
          "serviceName": {
            "description": "Name of the service being checked",
            "example": "runner",
            "type": "string"
          },
          "healthy": {
            "description": "Whether the service is healthy",
            "example": false,
            "type": "boolean"
          },
          "errorReason": {
            "description": "Error reason if the service is unhealthy",
            "example": "Cannot connect to the runner",
            "type": "string"
          }
        },
        "required": [
          "healthy",
          "serviceName"
        ],
        "type": "object"
      },
      "RunnerHealthcheck": {
        "example": {
          "appVersion": "v0.0.0-dev",
          "apiUrl": "http://api.daytona.example.com:8080",
          "proxyUrl": "http://proxy.daytona.example.com:8080",
          "domain": "runner-123.daytona.example.com",
          "serviceHealth": [
            {
              "healthy": false,
              "errorReason": "Cannot connect to the runner",
              "serviceName": "runner"
            },
            {
              "healthy": false,
              "errorReason": "Cannot connect to the runner",
              "serviceName": "runner"
            }
          ],
          "metrics": ""
        },
        "properties": {
          "metrics": {
            "allOf": [
              {
                "$ref": "#/components/schemas/RunnerHealthMetrics"
              }
            ],
            "description": "Runner metrics"
          },
          "serviceHealth": {
            "description": "Health status of individual services on the runner",
            "items": {
              "$ref": "#/components/schemas/RunnerServiceHealth"
            },
            "type": "array"
          },
          "domain": {
            "description": "Runner domain",
            "example": "runner-123.daytona.example.com",
            "type": "string"
          },
          "proxyUrl": {
            "description": "Runner proxy URL",
            "example": "http://proxy.daytona.example.com:8080",
            "type": "string"
          },
          "apiUrl": {
            "description": "Runner API URL",
            "example": "http://api.daytona.example.com:8080",
            "type": "string"
          },
          "appVersion": {
            "description": "Runner app version",
            "example": "v0.0.0-dev",
            "type": "string"
          }
        },
        "required": [
          "appVersion"
        ],
        "type": "object"
      },
      "CreateSnapshot": {
        "example": {
          "disk": 3,
          "imageName": "ubuntu:22.04",
          "memory": 1,
          "buildInfo": "",
          "regionId": "regionId",
          "entrypoint": "sleep infinity",
          "name": "ubuntu-4vcpu-8ram-100gb",
          "cpu": 1,
          "gpu": 0,
          "gpuType": [
            "H100"
          ],
          "sandboxClass": "linux-vm"
        },
        "properties": {
          "name": {
            "description": "The name of the snapshot",
            "example": "ubuntu-4vcpu-8ram-100gb",
            "type": "string"
          },
          "imageName": {
            "description": "The image name of the snapshot",
            "example": "ubuntu:22.04",
            "type": "string"
          },
          "entrypoint": {
            "description": "The entrypoint command for the snapshot",
            "example": "sleep infinity",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "cpu": {
            "description": "CPU cores allocated to the resulting sandbox",
            "example": 1,
            "type": "integer"
          },
          "gpu": {
            "description": "GPU units allocated to the resulting sandbox",
            "example": 0,
            "type": "integer"
          },
          "gpuType": {
            "description": "Preferred GPU type for the resulting sandbox.",
            "example": [
              "H100"
            ],
            "items": {
              "$ref": "#/components/schemas/GpuType"
            },
            "type": "array"
          },
          "memory": {
            "description": "Memory allocated to the resulting sandbox in GB",
            "example": 1,
            "type": "integer"
          },
          "disk": {
            "description": "Disk space allocated to the sandbox in GB",
            "example": 3,
            "type": "integer"
          },
          "buildInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/CreateBuildInfo"
              }
            ],
            "description": "Build information for the snapshot"
          },
          "regionId": {
            "description": "ID of the region where the snapshot will be available. Defaults to organization default region if not specified.",
            "type": "string"
          },
          "sandboxClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxClass"
              }
            ],
            "description": "Target sandbox class. Determines which runners can host sandboxes created from this snapshot.",
            "example": "linux-vm"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "SnapshotState": {
        "enum": [
          "building",
          "pending",
          "pulling",
          "snapshotting",
          "active",
          "inactive",
          "error",
          "build_failed",
          "removing"
        ],
        "type": "string"
      },
      "SnapshotDto": {
        "example": {
          "imageName": "imageName",
          "buildInfo": "",
          "cpu": 6.027456183070403,
          "regionIds": [
            "regionIds",
            "regionIds"
          ],
          "gpu": 1.4658129805029452,
          "organizationId": "organizationId",
          "general": true,
          "createdAt": "2000-01-23T04:56:07.000+00:00",
          "disk": 5.637376656633329,
          "ref": "daytonaio/sandbox:latest",
          "size": 0.8008281904610115,
          "mem": 5.962133916683182,
          "lastUsedAt": "2000-01-23T04:56:07.000+00:00",
          "entrypoint": [
            "entrypoint",
            "entrypoint"
          ],
          "errorReason": "errorReason",
          "sourceSandboxId": "sandbox123",
          "name": "name",
          "id": "id",
          "state": "",
          "initialRunnerId": "runner123",
          "gpuType": "H100",
          "updatedAt": "2000-01-23T04:56:07.000+00:00",
          "sandboxClass": "linux-vm"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "general": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "imageName": {
            "type": "string"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SnapshotState"
              }
            ]
          },
          "size": {
            "nullable": true,
            "type": "number"
          },
          "entrypoint": {
            "items": {
              "type": "string"
            },
            "nullable": true,
            "type": "array"
          },
          "cpu": {
            "type": "number"
          },
          "gpu": {
            "type": "number"
          },
          "gpuType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GpuType"
              }
            ],
            "description": "The GPU type assigned to the snapshot",
            "example": "H100"
          },
          "mem": {
            "type": "number"
          },
          "disk": {
            "type": "number"
          },
          "errorReason": {
            "nullable": true,
            "type": "string"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "format": "date-time",
            "type": "string"
          },
          "lastUsedAt": {
            "format": "date-time",
            "nullable": true,
            "type": "string"
          },
          "buildInfo": {
            "allOf": [
              {
                "$ref": "#/components/schemas/BuildInfo"
              }
            ],
            "description": "Build information for the snapshot"
          },
          "regionIds": {
            "description": "IDs of regions where the snapshot is available",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "initialRunnerId": {
            "description": "The initial runner ID of the snapshot",
            "example": "runner123",
            "type": "string"
          },
          "ref": {
            "description": "The snapshot reference",
            "example": "daytonaio/sandbox:latest",
            "type": "string"
          },
          "sourceSandboxId": {
            "description": "The ID of the sandbox the snapshot was created from",
            "example": "sandbox123",
            "nullable": true,
            "type": "string"
          },
          "sandboxClass": {
            "description": "The sandbox class of the snapshot",
            "enum": [
              "linux-vm",
              "container",
              "windows"
            ],
            "example": "linux-vm",
            "type": "string",
            "x-enum-varnames": [
              "LINUX_VM",
              "CONTAINER",
              "WINDOWS"
            ]
          }
        },
        "required": [
          "cpu",
          "createdAt",
          "disk",
          "entrypoint",
          "errorReason",
          "general",
          "gpu",
          "id",
          "lastUsedAt",
          "mem",
          "name",
          "size",
          "sourceSandboxId",
          "state",
          "updatedAt"
        ],
        "type": "object"
      },
      "PaginatedSnapshots": {
        "example": {
          "total": 2,
          "totalPages": 9,
          "page": 7,
          "items": [
            {
              "imageName": "imageName",
              "buildInfo": "",
              "cpu": 6.027456183070403,
              "regionIds": [
                "regionIds",
                "regionIds"
              ],
              "gpu": 1.4658129805029452,
              "organizationId": "organizationId",
              "general": true,
              "createdAt": "2000-01-23T04:56:07.000+00:00",
              "disk": 5.637376656633329,
              "ref": "daytonaio/sandbox:latest",
              "size": 0.8008281904610115,
              "mem": 5.962133916683182,
              "lastUsedAt": "2000-01-23T04:56:07.000+00:00",
              "entrypoint": [
                "entrypoint",
                "entrypoint"
              ],
              "errorReason": "errorReason",
              "sourceSandboxId": "sandbox123",
              "name": "name",
              "id": "id",
              "state": "",
              "initialRunnerId": "runner123",
              "gpuType": "H100",
              "updatedAt": "2000-01-23T04:56:07.000+00:00",
              "sandboxClass": "linux-vm"
            },
            {
              "imageName": "imageName",
              "buildInfo": "",
              "cpu": 6.027456183070403,
              "regionIds": [
                "regionIds",
                "regionIds"
              ],
              "gpu": 1.4658129805029452,
              "organizationId": "organizationId",
              "general": true,
              "createdAt": "2000-01-23T04:56:07.000+00:00",
              "disk": 5.637376656633329,
              "ref": "daytonaio/sandbox:latest",
              "size": 0.8008281904610115,
              "mem": 5.962133916683182,
              "lastUsedAt": "2000-01-23T04:56:07.000+00:00",
              "entrypoint": [
                "entrypoint",
                "entrypoint"
              ],
              "errorReason": "errorReason",
              "sourceSandboxId": "sandbox123",
              "name": "name",
              "id": "id",
              "state": "",
              "initialRunnerId": "runner123",
              "gpuType": "H100",
              "updatedAt": "2000-01-23T04:56:07.000+00:00",
              "sandboxClass": "linux-vm"
            }
          ]
        },
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/SnapshotDto"
            },
            "type": "array"
          },
          "total": {
            "type": "integer"
          },
          "page": {
            "type": "integer"
          },
          "totalPages": {
            "type": "integer"
          }
        },
        "required": [
          "items",
          "page",
          "total",
          "totalPages"
        ],
        "type": "object"
      },
      "PreviewWarning": {
        "example": {
          "enabled": true
        },
        "properties": {
          "enabled": {
            "description": "Whether the preview warning page is enabled for the sandbox",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "type": "object"
      },
      "VolumeState": {
        "description": "Volume state",
        "enum": [
          "creating",
          "ready",
          "pending_create",
          "pending_delete",
          "deleting",
          "deleted",
          "error"
        ],
        "type": "string"
      },
      "VolumeDto": {
        "example": {
          "organizationId": "123e4567-e89b-12d3-a456-426614174000",
          "createdAt": "2023-01-01T00:00:00.000Z",
          "lastUsedAt": "2023-01-01T00:00:00.000Z",
          "errorReason": "Error processing volume",
          "name": "my-volume",
          "id": "vol-12345678",
          "state": "ready",
          "updatedAt": "2023-01-01T00:00:00.000Z"
        },
        "properties": {
          "id": {
            "description": "Volume ID",
            "example": "vol-12345678",
            "type": "string"
          },
          "name": {
            "description": "Volume name",
            "example": "my-volume",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeState"
              }
            ],
            "description": "Volume state",
            "example": "ready"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "example": "2023-01-01T00:00:00.000Z",
            "type": "string"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "example": "2023-01-01T00:00:00.000Z",
            "type": "string"
          },
          "lastUsedAt": {
            "description": "Last used timestamp",
            "example": "2023-01-01T00:00:00.000Z",
            "nullable": true,
            "type": "string"
          },
          "errorReason": {
            "description": "The error reason of the volume",
            "example": "Error processing volume",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "errorReason",
          "id",
          "name",
          "organizationId",
          "state",
          "updatedAt"
        ],
        "type": "object"
      },
      "CreateVolume": {
        "example": {
          "name": "name"
        },
        "properties": {
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "JobStatus": {
        "enum": [
          "PENDING",
          "IN_PROGRESS",
          "COMPLETED",
          "FAILED"
        ],
        "type": "string"
      },
      "JobType": {
        "description": "The type of the job",
        "enum": [
          "CREATE_SANDBOX",
          "START_SANDBOX",
          "STOP_SANDBOX",
          "DESTROY_SANDBOX",
          "RESIZE_SANDBOX",
          "CREATE_BACKUP",
          "BUILD_SNAPSHOT",
          "PULL_SNAPSHOT",
          "RECOVER_SANDBOX",
          "INSPECT_SNAPSHOT_IN_REGISTRY",
          "REMOVE_SNAPSHOT",
          "UPDATE_SANDBOX_NETWORK_SETTINGS",
          "UPDATE_SANDBOX_SECRETS",
          "SNAPSHOT_SANDBOX",
          "FORK_SANDBOX",
          "PAUSE_SANDBOX"
        ],
        "type": "string"
      },
      "Job": {
        "example": {
          "createdAt": "2024-10-01T12:00:00Z",
          "resourceId": "sandbox123",
          "payload": "payload",
          "errorMessage": "Failed to create sandbox",
          "id": "job123",
          "type": "CREATE_SANDBOX",
          "traceContext": {
            "traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
          },
          "status": "PENDING",
          "resourceType": "SANDBOX",
          "updatedAt": "2024-10-01T12:00:00Z"
        },
        "properties": {
          "id": {
            "description": "The ID of the job",
            "example": "job123",
            "type": "string"
          },
          "type": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobType"
              }
            ],
            "description": "The type of the job",
            "example": "CREATE_SANDBOX"
          },
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobStatus"
              }
            ],
            "description": "The status of the job",
            "example": "PENDING"
          },
          "resourceType": {
            "description": "The type of resource this job operates on",
            "enum": [
              "SANDBOX",
              "SNAPSHOT",
              "BACKUP"
            ],
            "example": "SANDBOX",
            "type": "string"
          },
          "resourceId": {
            "description": "The ID of the resource this job operates on (sandboxId, snapshotRef, etc.)",
            "example": "sandbox123",
            "type": "string"
          },
          "payload": {
            "description": "Job-specific JSON-encoded payload data (operational metadata)",
            "type": "string"
          },
          "traceContext": {
            "additionalProperties": true,
            "description": "OpenTelemetry trace context for distributed tracing (W3C Trace Context format)",
            "example": {
              "traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
            },
            "type": "object"
          },
          "errorMessage": {
            "description": "Error message if the job failed",
            "example": "Failed to create sandbox",
            "type": "string"
          },
          "createdAt": {
            "description": "The creation timestamp of the job",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          },
          "updatedAt": {
            "description": "The last update timestamp of the job",
            "example": "2024-10-01T12:00:00Z",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "id",
          "resourceId",
          "resourceType",
          "status",
          "type"
        ],
        "type": "object"
      },
      "PaginatedJobs": {
        "example": {
          "total": 0,
          "totalPages": 1,
          "page": 6,
          "items": [
            {
              "createdAt": "2024-10-01T12:00:00Z",
              "resourceId": "sandbox123",
              "payload": "payload",
              "errorMessage": "Failed to create sandbox",
              "id": "job123",
              "type": "CREATE_SANDBOX",
              "traceContext": {
                "traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
              },
              "status": "PENDING",
              "resourceType": "SANDBOX",
              "updatedAt": "2024-10-01T12:00:00Z"
            },
            {
              "createdAt": "2024-10-01T12:00:00Z",
              "resourceId": "sandbox123",
              "payload": "payload",
              "errorMessage": "Failed to create sandbox",
              "id": "job123",
              "type": "CREATE_SANDBOX",
              "traceContext": {
                "traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
              },
              "status": "PENDING",
              "resourceType": "SANDBOX",
              "updatedAt": "2024-10-01T12:00:00Z"
            }
          ]
        },
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/Job"
            },
            "type": "array"
          },
          "total": {
            "type": "integer"
          },
          "page": {
            "type": "integer"
          },
          "totalPages": {
            "type": "integer"
          }
        },
        "required": [
          "items",
          "page",
          "total",
          "totalPages"
        ],
        "type": "object"
      },
      "PollJobsResponse": {
        "example": {
          "jobs": [
            {
              "createdAt": "2024-10-01T12:00:00Z",
              "resourceId": "sandbox123",
              "payload": "payload",
              "errorMessage": "Failed to create sandbox",
              "id": "job123",
              "type": "CREATE_SANDBOX",
              "traceContext": {
                "traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
              },
              "status": "PENDING",
              "resourceType": "SANDBOX",
              "updatedAt": "2024-10-01T12:00:00Z"
            },
            {
              "createdAt": "2024-10-01T12:00:00Z",
              "resourceId": "sandbox123",
              "payload": "payload",
              "errorMessage": "Failed to create sandbox",
              "id": "job123",
              "type": "CREATE_SANDBOX",
              "traceContext": {
                "traceparent": "00-4bf92f3577b34da6a3ce929d0e0e4736-00f067aa0ba902b7-01"
              },
              "status": "PENDING",
              "resourceType": "SANDBOX",
              "updatedAt": "2024-10-01T12:00:00Z"
            }
          ]
        },
        "properties": {
          "jobs": {
            "description": "List of jobs",
            "items": {
              "$ref": "#/components/schemas/Job"
            },
            "type": "array"
          }
        },
        "required": [
          "jobs"
        ],
        "type": "object"
      },
      "RegistryMtlsCredentialsDto": {
        "example": {
          "certificatePem": "certificatePem",
          "privateKeyPem": "privateKeyPem",
          "caBundlePem": "caBundlePem"
        },
        "properties": {
          "certificatePem": {
            "description": "PEM-encoded client certificate chain",
            "type": "string"
          },
          "privateKeyPem": {
            "description": "PEM-encoded unencrypted client private key",
            "type": "string"
          },
          "caBundlePem": {
            "description": "PEM-encoded registry CA bundle",
            "type": "string"
          }
        },
        "required": [
          "certificatePem",
          "privateKeyPem"
        ],
        "type": "object"
      },
      "UpdateJobStatus": {
        "example": {
          "resultMetadata": "resultMetadata",
          "errorMessage": "Failed to create sandbox",
          "status": "IN_PROGRESS"
        },
        "properties": {
          "status": {
            "allOf": [
              {
                "$ref": "#/components/schemas/JobStatus"
              }
            ],
            "description": "The new status of the job",
            "example": "IN_PROGRESS"
          },
          "errorMessage": {
            "description": "Error message if the job failed",
            "example": "Failed to create sandbox",
            "type": "string"
          },
          "resultMetadata": {
            "description": "Result metadata for the job",
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "WarmPool": {
        "example": {
          "pool": 0.8008281904610115,
          "cpu": 1.4658129805029452,
          "osUser": "osUser",
          "env": {
            "key": "env"
          },
          "target": "target",
          "currentSize": 6.027456183070403,
          "organizationId": "organizationId",
          "createdAt": "createdAt",
          "disk": 5.637376656633329,
          "mem": 5.962133916683182,
          "errorReason": "errorReason",
          "id": "id",
          "snapshot": "snapshot",
          "updatedAt": "updatedAt"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "snapshot": {
            "type": "string"
          },
          "target": {
            "type": "string"
          },
          "pool": {
            "description": "Desired number of warm sandboxes",
            "type": "number"
          },
          "currentSize": {
            "description": "Current number of ready warm sandboxes in the pool",
            "type": "number"
          },
          "cpu": {
            "type": "number"
          },
          "mem": {
            "type": "number"
          },
          "disk": {
            "type": "number"
          },
          "osUser": {
            "type": "string"
          },
          "env": {
            "additionalProperties": {
              "type": "string"
            },
            "type": "object"
          },
          "errorReason": {
            "nullable": true,
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "updatedAt": {
            "type": "string"
          }
        },
        "required": [
          "cpu",
          "createdAt",
          "currentSize",
          "disk",
          "env",
          "id",
          "mem",
          "organizationId",
          "osUser",
          "pool",
          "snapshot",
          "target",
          "updatedAt"
        ],
        "type": "object"
      },
      "CreateWarmPool": {
        "example": {
          "pool": 3,
          "snapshot": "my-snapshot",
          "target": "us"
        },
        "properties": {
          "snapshot": {
            "description": "The snapshot (id or name) to keep warm sandboxes for. A pool only serves sandbox creates that use this snapshot with the default OS user and no custom env, volumes or secrets.",
            "example": "my-snapshot",
            "type": "string"
          },
          "pool": {
            "description": "Number of warm sandboxes to keep ready (capped by the organization quota)",
            "example": 3,
            "minimum": 1,
            "type": "number"
          },
          "target": {
            "description": "Target region for the warm pool. Defaults to the organization default region.",
            "example": "us",
            "type": "string"
          }
        },
        "required": [
          "pool",
          "snapshot"
        ],
        "type": "object"
      },
      "UpdateWarmPool": {
        "example": {
          "pool": 5
        },
        "properties": {
          "pool": {
            "description": "New desired number of warm sandboxes (0 drains the pool)",
            "example": 5,
            "minimum": 0,
            "type": "number"
          }
        },
        "required": [
          "pool"
        ],
        "type": "object"
      },
      "GpuCapacity": {
        "example": {
          "availableOnDemand": 0,
          "gpuType": "H100",
          "availableSpot": 0
        },
        "properties": {
          "gpuType": {
            "allOf": [
              {
                "$ref": "#/components/schemas/GpuType"
              }
            ],
            "example": "H100"
          },
          "availableOnDemand": {
            "description": "GPU units available for on-demand placement across schedulable runners, including capacity occupied by spot sandboxes that are immediately reclaimable.",
            "minimum": 0,
            "type": "integer"
          },
          "availableSpot": {
            "description": "GPU units currently free for spot placement across schedulable runners.",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "availableOnDemand",
          "availableSpot",
          "gpuType"
        ],
        "type": "object"
      },
      "GpuCapacityResponse": {
        "example": {
          "observedAt": "2000-01-23T04:56:07.000+00:00",
          "capacity": [
            {
              "availableOnDemand": 0,
              "gpuType": "H100",
              "availableSpot": 0
            },
            {
              "availableOnDemand": 0,
              "gpuType": "H100",
              "availableSpot": 0
            }
          ]
        },
        "properties": {
          "observedAt": {
            "description": "Time at which this capacity snapshot was calculated. Responses may be cached for up to five seconds.",
            "format": "date-time",
            "type": "string"
          },
          "capacity": {
            "items": {
              "$ref": "#/components/schemas/GpuCapacity"
            },
            "type": "array"
          }
        },
        "required": [
          "capacity",
          "observedAt"
        ],
        "type": "object"
      },
      "CreateDockerRegistry": {
        "example": {
          "mtlsSecretArn": "mtlsSecretArn",
          "password": "password",
          "name": "name",
          "project": "project",
          "mtlsRoleArn": "mtlsRoleArn",
          "url": "url",
          "username": "username"
        },
        "properties": {
          "mtlsRoleArn": {
            "description": "IAM role ARN for registry mTLS; supply with mtlsSecretArn, or set both to null to clear",
            "nullable": true,
            "type": "string"
          },
          "mtlsSecretArn": {
            "description": "Secrets Manager ARN for registry mTLS; supply with mtlsRoleArn, or set both to null to clear",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Registry name",
            "type": "string"
          },
          "url": {
            "description": "Registry URL",
            "type": "string"
          },
          "username": {
            "description": "Registry username",
            "type": "string"
          },
          "password": {
            "description": "Registry password",
            "type": "string"
          },
          "project": {
            "description": "Registry project",
            "type": "string"
          }
        },
        "required": [
          "name",
          "password",
          "url",
          "username"
        ],
        "type": "object"
      },
      "DockerRegistry": {
        "example": {
          "mtlsSecretArn": "mtlsSecretArn",
          "registryType": "internal",
          "createdAt": "2024-01-31T12:00:00Z",
          "name": "My Docker Hub",
          "project": "my-project",
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "url": "https://registry.hub.docker.com",
          "mtlsRoleArn": "mtlsRoleArn",
          "username": "username",
          "updatedAt": "2024-01-31T12:00:00Z"
        },
        "properties": {
          "id": {
            "description": "Registry ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Registry name",
            "example": "My Docker Hub",
            "type": "string"
          },
          "url": {
            "description": "Registry URL",
            "example": "https://registry.hub.docker.com",
            "type": "string"
          },
          "username": {
            "description": "Registry username",
            "example": "username",
            "type": "string"
          },
          "mtlsRoleArn": {
            "description": "IAM role ARN for registry mTLS",
            "nullable": true,
            "type": "string"
          },
          "mtlsSecretArn": {
            "description": "Secrets Manager ARN for registry mTLS",
            "nullable": true,
            "type": "string"
          },
          "project": {
            "description": "Registry project",
            "example": "my-project",
            "type": "string"
          },
          "registryType": {
            "description": "Registry type",
            "enum": [
              "internal",
              "organization",
              "transient",
              "backup"
            ],
            "example": "internal",
            "type": "string"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "example": "2024-01-31T12:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "example": "2024-01-31T12:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "id",
          "mtlsRoleArn",
          "mtlsSecretArn",
          "name",
          "project",
          "registryType",
          "updatedAt",
          "url",
          "username"
        ],
        "type": "object"
      },
      "RegistryPushAccessDto": {
        "example": {
          "registryUrl": "registry.example.com",
          "registryId": "123e4567-e89b-12d3-a456-426614174000",
          "project": "library",
          "secret": "eyJhbGciOiJIUzI1NiIs...",
          "expiresAt": "2023-12-31T23:59:59Z",
          "username": "temp-user-123"
        },
        "properties": {
          "username": {
            "description": "Temporary username for registry authentication",
            "example": "temp-user-123",
            "type": "string"
          },
          "secret": {
            "description": "Temporary secret for registry authentication",
            "example": "eyJhbGciOiJIUzI1NiIs...",
            "type": "string"
          },
          "registryUrl": {
            "description": "Registry URL",
            "example": "registry.example.com",
            "type": "string"
          },
          "registryId": {
            "description": "Registry ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "project": {
            "description": "Registry project ID",
            "example": "library",
            "type": "string"
          },
          "expiresAt": {
            "description": "Token expiration time in ISO format",
            "example": "2023-12-31T23:59:59Z",
            "type": "string"
          }
        },
        "required": [
          "expiresAt",
          "project",
          "registryId",
          "registryUrl",
          "secret",
          "username"
        ],
        "type": "object"
      },
      "UpdateDockerRegistry": {
        "example": {
          "mtlsSecretArn": "mtlsSecretArn",
          "password": "password",
          "name": "name",
          "project": "project",
          "mtlsRoleArn": "mtlsRoleArn",
          "url": "url",
          "username": "username"
        },
        "properties": {
          "mtlsRoleArn": {
            "description": "IAM role ARN for registry mTLS; supply with mtlsSecretArn, or set both to null to clear",
            "nullable": true,
            "type": "string"
          },
          "mtlsSecretArn": {
            "description": "Secrets Manager ARN for registry mTLS; supply with mtlsRoleArn, or set both to null to clear",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Registry name",
            "type": "string"
          },
          "url": {
            "description": "Registry URL",
            "type": "string"
          },
          "username": {
            "description": "Registry username",
            "type": "string"
          },
          "password": {
            "description": "Registry password",
            "type": "string"
          },
          "project": {
            "description": "Registry project",
            "type": "string"
          }
        },
        "required": [
          "name",
          "url",
          "username"
        ],
        "type": "object"
      },
      "CreateSecret": {
        "example": {
          "hosts": [
            "api.anthropic.com"
          ],
          "name": "MY_API_KEY",
          "description": "description",
          "value": "value"
        },
        "properties": {
          "name": {
            "description": "Secret name (alphanumeric, hyphens, underscores)",
            "example": "MY_API_KEY",
            "type": "string"
          },
          "value": {
            "description": "Secret value",
            "type": "string"
          },
          "description": {
            "description": "Optional description of the secret",
            "type": "string"
          },
          "hosts": {
            "description": "Allowed hosts this secret may be sent to",
            "example": [
              "api.anthropic.com"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "name",
          "value"
        ],
        "type": "object"
      },
      "Secret": {
        "example": {
          "createdAt": "2024-01-31T12:00:00Z",
          "hosts": [
            "api.anthropic.com"
          ],
          "name": "MY_API_KEY",
          "description": "API key for external service",
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "placeholder": "dtn_secret_a7f3b2c1e9d4f6g8",
          "updatedAt": "2024-01-31T12:00:00Z"
        },
        "properties": {
          "id": {
            "description": "Secret ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "name": {
            "description": "Secret name",
            "example": "MY_API_KEY",
            "type": "string"
          },
          "description": {
            "description": "Optional description of the secret",
            "example": "API key for external service",
            "type": "string"
          },
          "createdAt": {
            "description": "Creation timestamp",
            "example": "2024-01-31T12:00:00Z",
            "format": "date-time",
            "type": "string"
          },
          "placeholder": {
            "description": "Opaque placeholder token injected as env var value in sandboxes",
            "example": "dtn_secret_a7f3b2c1e9d4f6g8",
            "type": "string"
          },
          "hosts": {
            "description": "Allowed hosts this secret may be sent to",
            "example": [
              "api.anthropic.com"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "updatedAt": {
            "description": "Last update timestamp",
            "example": "2024-01-31T12:00:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "hosts",
          "id",
          "name",
          "placeholder",
          "updatedAt"
        ],
        "type": "object"
      },
      "ListSecretsResponse": {
        "example": {
          "nextCursor": "nextCursor",
          "total": 0,
          "items": [
            {
              "createdAt": "2024-01-31T12:00:00Z",
              "hosts": [
                "api.anthropic.com"
              ],
              "name": "MY_API_KEY",
              "description": "API key for external service",
              "id": "123e4567-e89b-12d3-a456-426614174000",
              "placeholder": "dtn_secret_a7f3b2c1e9d4f6g8",
              "updatedAt": "2024-01-31T12:00:00Z"
            },
            {
              "createdAt": "2024-01-31T12:00:00Z",
              "hosts": [
                "api.anthropic.com"
              ],
              "name": "MY_API_KEY",
              "description": "API key for external service",
              "id": "123e4567-e89b-12d3-a456-426614174000",
              "placeholder": "dtn_secret_a7f3b2c1e9d4f6g8",
              "updatedAt": "2024-01-31T12:00:00Z"
            }
          ]
        },
        "properties": {
          "items": {
            "description": "List of results for the current page",
            "items": {
              "$ref": "#/components/schemas/Secret"
            },
            "type": "array"
          },
          "total": {
            "description": "Total number of secrets matching the filters",
            "type": "integer"
          },
          "nextCursor": {
            "description": "Cursor for the next page of results",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "items",
          "nextCursor",
          "total"
        ],
        "type": "object"
      },
      "UpdateSecret": {
        "example": {
          "hosts": [
            "api.anthropic.com"
          ],
          "description": "description",
          "value": "value"
        },
        "properties": {
          "value": {
            "description": "New secret value",
            "type": "string"
          },
          "description": {
            "description": "Optional description of the secret",
            "type": "string"
          },
          "hosts": {
            "description": "Allowed hosts this secret may be sent to",
            "example": [
              "api.anthropic.com"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "PendingSsoLink": {
        "example": {
          "organizationId": "organizationId",
          "createdAt": "createdAt",
          "idpName": "idpName",
          "id": "id",
          "providerEmail": "providerEmail",
          "expiresAt": "expiresAt"
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "idpName": {
            "description": "Display name of the identity provider requesting to be linked",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization that configured the identity provider",
            "type": "string"
          },
          "providerEmail": {
            "description": "Email asserted by the identity provider",
            "nullable": true,
            "type": "string"
          },
          "createdAt": {
            "type": "string"
          },
          "expiresAt": {
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "expiresAt",
          "id",
          "idpName",
          "organizationId",
          "providerEmail"
        ],
        "type": "object"
      },
      "WebhookAppPortalAccess": {
        "example": {
          "url": "https://app.svix.com/app_1234567890",
          "token": "appsk_..."
        },
        "properties": {
          "token": {
            "description": "The authentication token for the Svix consumer app portal",
            "example": "appsk_...",
            "type": "string"
          },
          "url": {
            "description": "The URL to the webhook app portal",
            "example": "https://app.svix.com/app_1234567890",
            "type": "string"
          }
        },
        "required": [
          "token",
          "url"
        ],
        "type": "object"
      },
      "WebhookInitializationStatus": {
        "example": {
          "organizationId": "123e4567-e89b-12d3-a456-426614174000",
          "createdAt": "2023-01-01T00:00:00.000Z",
          "lastError": "Failed to create Svix application",
          "retryCount": 3,
          "svixApplicationId": "app_1234567890",
          "updatedAt": "2023-01-01T00:00:00.000Z"
        },
        "properties": {
          "organizationId": {
            "description": "Organization ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "svixApplicationId": {
            "description": "The ID of the Svix application",
            "example": "app_1234567890",
            "nullable": true,
            "type": "string"
          },
          "lastError": {
            "description": "The error reason for the last initialization attempt",
            "example": "Failed to create Svix application",
            "nullable": true,
            "type": "string"
          },
          "retryCount": {
            "description": "The number of times the initialization has been attempted",
            "example": 3,
            "type": "number"
          },
          "createdAt": {
            "description": "When the webhook initialization was created",
            "example": "2023-01-01T00:00:00.000Z",
            "type": "string"
          },
          "updatedAt": {
            "description": "When the webhook initialization was last updated",
            "example": "2023-01-01T00:00:00.000Z",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "lastError",
          "organizationId",
          "retryCount",
          "svixApplicationId",
          "updatedAt"
        ],
        "type": "object"
      },
      "StringFilter": {
        "properties": {
          "eq": {
            "description": "Match values equal to this value.",
            "type": "string"
          },
          "not": {
            "description": "Match values not equal to this value.",
            "type": "string"
          },
          "in": {
            "description": "Match values present in this list. Accepts comma-separated values or repeated query parameters. Maximum 100 entries.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "notIn": {
            "description": "Match values not present in this list. Accepts comma-separated values or repeated query parameters. Maximum 100 entries.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "IntFilter": {
        "properties": {
          "eq": {
            "description": "Match values equal to this value.",
            "type": "number"
          },
          "not": {
            "description": "Match values not equal to this value.",
            "type": "number"
          },
          "in": {
            "description": "Match values present in this list. Accepts comma-separated values or repeated query parameters. Maximum 100 entries.",
            "items": {
              "type": "number"
            },
            "type": "array"
          },
          "notIn": {
            "description": "Match values not present in this list. Accepts comma-separated values or repeated query parameters. Maximum 100 entries.",
            "items": {
              "type": "number"
            },
            "type": "array"
          },
          "gte": {
            "description": "Match values greater than or equal to this value.",
            "type": "number"
          },
          "lte": {
            "description": "Match values less than or equal to this value.",
            "type": "number"
          },
          "gt": {
            "description": "Match values strictly greater than this value.",
            "type": "number"
          },
          "lt": {
            "description": "Match values strictly less than this value.",
            "type": "number"
          }
        },
        "type": "object"
      },
      "DateFilter": {
        "properties": {
          "gte": {
            "description": "Match values greater than or equal to this timestamp (ISO 8601).",
            "format": "date-time",
            "type": "string"
          },
          "lte": {
            "description": "Match values less than or equal to this timestamp (ISO 8601).",
            "format": "date-time",
            "type": "string"
          },
          "gt": {
            "description": "Match values strictly greater than this timestamp (ISO 8601).",
            "format": "date-time",
            "type": "string"
          },
          "lt": {
            "description": "Match values strictly less than this timestamp (ISO 8601).",
            "format": "date-time",
            "type": "string"
          }
        },
        "type": "object"
      },
      "AuditLog": {
        "example": {
          "actorApiKeyPrefix": "actorApiKeyPrefix",
          "metadata": {
            "key": ""
          },
          "targetId": "targetId",
          "errorMessage": "errorMessage",
          "ipAddress": "ipAddress",
          "actorEmail": "actorEmail",
          "targetType": "targetType",
          "userAgent": "userAgent",
          "source": "source",
          "organizationId": "organizationId",
          "createdAt": "2000-01-23T04:56:07.000+00:00",
          "actorId": "actorId",
          "action": "action",
          "id": "id",
          "actorApiKeySuffix": "actorApiKeySuffix",
          "statusCode": 0.8008281904610115
        },
        "properties": {
          "id": {
            "type": "string"
          },
          "actorId": {
            "type": "string"
          },
          "actorEmail": {
            "type": "string"
          },
          "actorApiKeyPrefix": {
            "type": "string"
          },
          "actorApiKeySuffix": {
            "type": "string"
          },
          "organizationId": {
            "type": "string"
          },
          "action": {
            "type": "string"
          },
          "targetType": {
            "type": "string"
          },
          "targetId": {
            "type": "string"
          },
          "statusCode": {
            "type": "number"
          },
          "errorMessage": {
            "type": "string"
          },
          "ipAddress": {
            "type": "string"
          },
          "userAgent": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "metadata": {
            "additionalProperties": true,
            "type": "object"
          },
          "createdAt": {
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "action",
          "actorEmail",
          "actorId",
          "createdAt",
          "id"
        ],
        "type": "object"
      },
      "PaginatedAuditLogs": {
        "example": {
          "total": 6,
          "nextToken": "nextToken",
          "totalPages": 5,
          "page": 1,
          "items": [
            {
              "actorApiKeyPrefix": "actorApiKeyPrefix",
              "metadata": {
                "key": ""
              },
              "targetId": "targetId",
              "errorMessage": "errorMessage",
              "ipAddress": "ipAddress",
              "actorEmail": "actorEmail",
              "targetType": "targetType",
              "userAgent": "userAgent",
              "source": "source",
              "organizationId": "organizationId",
              "createdAt": "2000-01-23T04:56:07.000+00:00",
              "actorId": "actorId",
              "action": "action",
              "id": "id",
              "actorApiKeySuffix": "actorApiKeySuffix",
              "statusCode": 0.8008281904610115
            },
            {
              "actorApiKeyPrefix": "actorApiKeyPrefix",
              "metadata": {
                "key": ""
              },
              "targetId": "targetId",
              "errorMessage": "errorMessage",
              "ipAddress": "ipAddress",
              "actorEmail": "actorEmail",
              "targetType": "targetType",
              "userAgent": "userAgent",
              "source": "source",
              "organizationId": "organizationId",
              "createdAt": "2000-01-23T04:56:07.000+00:00",
              "actorId": "actorId",
              "action": "action",
              "id": "id",
              "actorApiKeySuffix": "actorApiKeySuffix",
              "statusCode": 0.8008281904610115
            }
          ]
        },
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/AuditLog"
            },
            "type": "array"
          },
          "total": {
            "type": "integer"
          },
          "page": {
            "type": "integer"
          },
          "totalPages": {
            "type": "integer"
          },
          "nextToken": {
            "description": "Token for next page in cursor-based pagination",
            "type": "string"
          }
        },
        "required": [
          "items",
          "page",
          "total",
          "totalPages"
        ],
        "type": "object"
      },
      "AuditTargetScenario": {
        "example": {
          "targetType": "api_key",
          "actions": [
            "create",
            "create"
          ]
        },
        "properties": {
          "targetType": {
            "description": "Resource type the actions apply to. Scenarios that are not scoped to a specific resource type (e.g. leaving an organization) are grouped under \"other\".",
            "enum": [
              "api_key",
              "organization",
              "organization_invitation",
              "organization_role",
              "organization_user",
              "docker_registry",
              "runner",
              "sandbox",
              "snapshot",
              "user",
              "volume",
              "warm_pool",
              "region",
              "secret",
              "other",
              "identity_provider"
            ],
            "type": "string"
          },
          "actions": {
            "description": "Actions that can be audited against this target type, sorted alphabetically.",
            "items": {
              "enum": [
                "create",
                "read",
                "update",
                "delete",
                "login",
                "register",
                "change_password",
                "set_default",
                "update_access",
                "update_quota",
                "create_region_quota",
                "update_region_quota",
                "delete_region_quota",
                "suspend",
                "unsuspend",
                "accept",
                "decline",
                "link_account",
                "unlink_account",
                "accept_privacy_policies",
                "leave_organization",
                "regenerate_key_pair",
                "update_scheduling",
                "update_draining",
                "start",
                "stop",
                "resize",
                "replace_labels",
                "create_backup",
                "update_public_status",
                "rotate_signing_key",
                "set_auto_stop_interval",
                "set_auto_pause_interval",
                "set_ttl",
                "set_auto_archive_interval",
                "set_auto_delete_interval",
                "archive",
                "snapshot",
                "fork",
                "pause",
                "get_port_preview_url",
                "set_general_status",
                "activate",
                "deactivate",
                "update_network_settings",
                "update_secrets",
                "send_webhook_message",
                "initialize_webhooks",
                "update_sandbox_default_limited_network_egress",
                "update_preview_warning",
                "update_sso_enabled",
                "generate_workos_admin_portal_link",
                "update_scim_enabled",
                "mirror_from_workos",
                "update_otel_config",
                "delete_otel_config",
                "update_default_queue_timeout",
                "create_ssh_access",
                "revoke_ssh_access",
                "recover",
                "regenerate_proxy_api_key",
                "regenerate_ssh_gateway_api_key",
                "regenerate_snapshot_manager_credentials",
                "auto_stop",
                "auto_archive",
                "auto_delete",
                "ttl_expire",
                "queue_timeout_expire",
                "spot_evict"
              ],
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "actions",
          "targetType"
        ],
        "type": "object"
      },
      "AuditScenarios": {
        "example": {
          "targets": [
            {
              "targetType": "api_key",
              "actions": [
                "create",
                "create"
              ]
            },
            {
              "targetType": "api_key",
              "actions": [
                "create",
                "create"
              ]
            }
          ]
        },
        "properties": {
          "targets": {
            "description": "Supported audit log scenarios grouped by target type. Derived at runtime from the audited routes and system events, sorted by target type.",
            "items": {
              "$ref": "#/components/schemas/AuditTargetScenario"
            },
            "type": "array"
          }
        },
        "required": [
          "targets"
        ],
        "type": "object"
      },
      "StorageAccessDto": {
        "example": {
          "organizationId": "123e4567-e89b-12d3-a456-426614174000",
          "bucket": "daytona",
          "accessKey": "temp-user-123",
          "sessionToken": "eyJhbGciOiJIUzI1NiIs...",
          "secret": "abchbGciOiJIUzI1NiIs...",
          "region": "us-east-1",
          "storageUrl": "storage.example.com"
        },
        "properties": {
          "accessKey": {
            "description": "Access key for storage authentication",
            "example": "temp-user-123",
            "type": "string"
          },
          "secret": {
            "description": "Secret key for storage authentication",
            "example": "abchbGciOiJIUzI1NiIs...",
            "type": "string"
          },
          "sessionToken": {
            "description": "Session token for storage authentication",
            "example": "eyJhbGciOiJIUzI1NiIs...",
            "type": "string"
          },
          "storageUrl": {
            "description": "Storage URL",
            "example": "storage.example.com",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "type": "string"
          },
          "bucket": {
            "description": "S3 bucket name",
            "example": "daytona",
            "type": "string"
          },
          "region": {
            "description": "Region for the storage backend (e.g. \"us-east-2\")",
            "example": "us-east-1",
            "type": "string"
          }
        },
        "required": [
          "accessKey",
          "bucket",
          "organizationId",
          "region",
          "secret",
          "sessionToken",
          "storageUrl"
        ],
        "type": "object"
      },
      "LogEntry": {
        "example": {
          "traceId": "traceId",
          "spanId": "spanId",
          "severityText": "severityText",
          "severityNumber": 0.8008281904610115,
          "logAttributes": {
            "key": "logAttributes"
          },
          "body": "body",
          "serviceName": "serviceName",
          "resourceAttributes": {
            "key": "resourceAttributes"
          },
          "timestamp": "timestamp"
        },
        "properties": {
          "timestamp": {
            "description": "Timestamp of the log entry",
            "type": "string"
          },
          "body": {
            "description": "Log message body",
            "type": "string"
          },
          "severityText": {
            "description": "Severity level text (e.g., INFO, WARN, ERROR)",
            "type": "string"
          },
          "severityNumber": {
            "description": "Severity level number",
            "type": "number"
          },
          "serviceName": {
            "description": "Service name that generated the log",
            "type": "string"
          },
          "resourceAttributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Resource attributes from OTEL",
            "type": "object"
          },
          "logAttributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Log-specific attributes",
            "type": "object"
          },
          "traceId": {
            "description": "Associated trace ID if available",
            "type": "string"
          },
          "spanId": {
            "description": "Associated span ID if available",
            "type": "string"
          }
        },
        "required": [
          "body",
          "logAttributes",
          "resourceAttributes",
          "serviceName",
          "severityText",
          "timestamp"
        ],
        "type": "object"
      },
      "PaginatedLogs": {
        "example": {
          "total": 6,
          "totalPages": 5,
          "page": 1,
          "items": [
            {
              "traceId": "traceId",
              "spanId": "spanId",
              "severityText": "severityText",
              "severityNumber": 0.8008281904610115,
              "logAttributes": {
                "key": "logAttributes"
              },
              "body": "body",
              "serviceName": "serviceName",
              "resourceAttributes": {
                "key": "resourceAttributes"
              },
              "timestamp": "timestamp"
            },
            {
              "traceId": "traceId",
              "spanId": "spanId",
              "severityText": "severityText",
              "severityNumber": 0.8008281904610115,
              "logAttributes": {
                "key": "logAttributes"
              },
              "body": "body",
              "serviceName": "serviceName",
              "resourceAttributes": {
                "key": "resourceAttributes"
              },
              "timestamp": "timestamp"
            }
          ]
        },
        "properties": {
          "items": {
            "description": "List of log entries",
            "items": {
              "$ref": "#/components/schemas/LogEntry"
            },
            "type": "array"
          },
          "total": {
            "description": "Total number of log entries matching the query",
            "type": "integer"
          },
          "page": {
            "description": "Current page number",
            "type": "integer"
          },
          "totalPages": {
            "description": "Total number of pages",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "page",
          "total",
          "totalPages"
        ],
        "type": "object"
      },
      "TraceSummary": {
        "example": {
          "traceId": "traceId",
          "spanCount": 6.027456183070403,
          "rootSpanName": "rootSpanName",
          "startTime": "startTime",
          "endTime": "endTime",
          "durationMs": 0.8008281904610115,
          "statusCode": "statusCode"
        },
        "properties": {
          "traceId": {
            "description": "Unique trace identifier",
            "type": "string"
          },
          "rootSpanName": {
            "description": "Name of the root span",
            "type": "string"
          },
          "startTime": {
            "description": "Trace start time",
            "type": "string"
          },
          "endTime": {
            "description": "Trace end time",
            "type": "string"
          },
          "durationMs": {
            "description": "Total duration in milliseconds",
            "type": "number"
          },
          "spanCount": {
            "description": "Number of spans in this trace",
            "type": "number"
          },
          "statusCode": {
            "description": "Status code of the trace",
            "type": "string"
          }
        },
        "required": [
          "durationMs",
          "endTime",
          "rootSpanName",
          "spanCount",
          "startTime",
          "traceId"
        ],
        "type": "object"
      },
      "PaginatedTraces": {
        "example": {
          "total": 1,
          "totalPages": 5,
          "page": 5,
          "items": [
            {
              "traceId": "traceId",
              "spanCount": 6.027456183070403,
              "rootSpanName": "rootSpanName",
              "startTime": "startTime",
              "endTime": "endTime",
              "durationMs": 0.8008281904610115,
              "statusCode": "statusCode"
            },
            {
              "traceId": "traceId",
              "spanCount": 6.027456183070403,
              "rootSpanName": "rootSpanName",
              "startTime": "startTime",
              "endTime": "endTime",
              "durationMs": 0.8008281904610115,
              "statusCode": "statusCode"
            }
          ]
        },
        "properties": {
          "items": {
            "description": "List of trace summaries",
            "items": {
              "$ref": "#/components/schemas/TraceSummary"
            },
            "type": "array"
          },
          "total": {
            "description": "Total number of traces matching the query",
            "type": "integer"
          },
          "page": {
            "description": "Current page number",
            "type": "integer"
          },
          "totalPages": {
            "description": "Total number of pages",
            "type": "integer"
          }
        },
        "required": [
          "items",
          "page",
          "total",
          "totalPages"
        ],
        "type": "object"
      },
      "TraceSpan": {
        "example": {
          "traceId": "traceId",
          "spanId": "spanId",
          "spanAttributes": {
            "key": "spanAttributes"
          },
          "parentSpanId": "parentSpanId",
          "durationNs": 0.8008281904610115,
          "statusMessage": "statusMessage",
          "spanName": "spanName",
          "timestamp": "timestamp",
          "statusCode": "statusCode"
        },
        "properties": {
          "traceId": {
            "description": "Trace identifier",
            "type": "string"
          },
          "spanId": {
            "description": "Span identifier",
            "type": "string"
          },
          "parentSpanId": {
            "description": "Parent span identifier",
            "type": "string"
          },
          "spanName": {
            "description": "Span name",
            "type": "string"
          },
          "timestamp": {
            "description": "Span start timestamp",
            "type": "string"
          },
          "durationNs": {
            "description": "Span duration in nanoseconds",
            "type": "number"
          },
          "spanAttributes": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Span attributes",
            "type": "object"
          },
          "statusCode": {
            "description": "Status code of the span",
            "type": "string"
          },
          "statusMessage": {
            "description": "Status message",
            "type": "string"
          }
        },
        "required": [
          "durationNs",
          "spanAttributes",
          "spanId",
          "spanName",
          "timestamp",
          "traceId"
        ],
        "type": "object"
      },
      "MetricDataPoint": {
        "example": {
          "value": 0.8008281904610115,
          "timestamp": "timestamp"
        },
        "properties": {
          "timestamp": {
            "description": "Timestamp of the data point",
            "type": "string"
          },
          "value": {
            "description": "Value at this timestamp",
            "type": "number"
          }
        },
        "required": [
          "timestamp",
          "value"
        ],
        "type": "object"
      },
      "MetricSeries": {
        "example": {
          "metricName": "metricName",
          "dataPoints": [
            {
              "value": 0.8008281904610115,
              "timestamp": "timestamp"
            },
            {
              "value": 0.8008281904610115,
              "timestamp": "timestamp"
            }
          ]
        },
        "properties": {
          "metricName": {
            "description": "Name of the metric",
            "type": "string"
          },
          "dataPoints": {
            "description": "Data points for this metric",
            "items": {
              "$ref": "#/components/schemas/MetricDataPoint"
            },
            "type": "array"
          }
        },
        "required": [
          "dataPoints",
          "metricName"
        ],
        "type": "object"
      },
      "MetricsResponse": {
        "example": {
          "series": [
            {
              "metricName": "metricName",
              "dataPoints": [
                {
                  "value": 0.8008281904610115,
                  "timestamp": "timestamp"
                },
                {
                  "value": 0.8008281904610115,
                  "timestamp": "timestamp"
                }
              ]
            },
            {
              "metricName": "metricName",
              "dataPoints": [
                {
                  "value": 0.8008281904610115,
                  "timestamp": "timestamp"
                },
                {
                  "value": 0.8008281904610115,
                  "timestamp": "timestamp"
                }
              ]
            }
          ]
        },
        "properties": {
          "series": {
            "description": "List of metric series",
            "items": {
              "$ref": "#/components/schemas/MetricSeries"
            },
            "type": "array"
          }
        },
        "required": [
          "series"
        ],
        "type": "object"
      },
      "WebhookEvent": {
        "description": "Event type identifier",
        "enum": [
          "sandbox.created",
          "sandbox.state.updated",
          "snapshot.created",
          "snapshot.state.updated",
          "snapshot.removed",
          "volume.created",
          "volume.state.updated"
        ],
        "type": "string",
        "x-enum-varnames": [
          "SANDBOX_CREATED",
          "SANDBOX_STATE_UPDATED",
          "SNAPSHOT_CREATED",
          "SNAPSHOT_STATE_UPDATED",
          "SNAPSHOT_REMOVED",
          "VOLUME_CREATED",
          "VOLUME_STATE_UPDATED"
        ]
      },
      "SandboxCreatedWebhook": {
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookEvent"
              }
            ],
            "description": "Event type identifier",
            "example": "sandbox.created"
          },
          "timestamp": {
            "description": "Timestamp when the event occurred",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Sandbox ID",
            "example": "sandbox123",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "org123",
            "type": "string"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxState"
              }
            ],
            "description": "Sandbox state"
          },
          "sandboxClass": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxClass"
              }
            ],
            "description": "Sandbox class",
            "example": "linux-vm"
          },
          "createdAt": {
            "description": "When the sandbox was created",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "event",
          "id",
          "organizationId",
          "sandboxClass",
          "state",
          "timestamp"
        ],
        "type": "object"
      },
      "SandboxStateUpdatedWebhook": {
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookEvent"
              }
            ],
            "description": "Event type identifier",
            "example": "sandbox.created"
          },
          "timestamp": {
            "description": "Timestamp when the event occurred",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Sandbox ID",
            "example": "sandbox123",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "org123",
            "type": "string"
          },
          "oldState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxState"
              }
            ],
            "description": "Previous state"
          },
          "newState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SandboxState"
              }
            ],
            "description": "New state"
          },
          "updatedAt": {
            "description": "When the sandbox was last updated",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "event",
          "id",
          "newState",
          "oldState",
          "organizationId",
          "timestamp",
          "updatedAt"
        ],
        "type": "object"
      },
      "SnapshotCreatedWebhook": {
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookEvent"
              }
            ],
            "description": "Event type identifier",
            "example": "sandbox.created"
          },
          "timestamp": {
            "description": "Timestamp when the event occurred",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Snapshot ID",
            "example": "snapshot123",
            "type": "string"
          },
          "name": {
            "description": "Snapshot name",
            "example": "my-snapshot",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "org123",
            "type": "string"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SnapshotState"
              }
            ],
            "description": "Snapshot state"
          },
          "createdAt": {
            "description": "When the snapshot was created",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "event",
          "id",
          "name",
          "organizationId",
          "state",
          "timestamp"
        ],
        "type": "object"
      },
      "SnapshotStateUpdatedWebhook": {
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookEvent"
              }
            ],
            "description": "Event type identifier",
            "example": "sandbox.created"
          },
          "timestamp": {
            "description": "Timestamp when the event occurred",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Snapshot ID",
            "example": "snapshot123",
            "type": "string"
          },
          "name": {
            "description": "Snapshot name",
            "example": "my-snapshot",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "org123",
            "type": "string"
          },
          "oldState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SnapshotState"
              }
            ],
            "description": "Previous state"
          },
          "newState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SnapshotState"
              }
            ],
            "description": "New state"
          },
          "updatedAt": {
            "description": "When the snapshot was last updated",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "event",
          "id",
          "name",
          "newState",
          "oldState",
          "organizationId",
          "timestamp",
          "updatedAt"
        ],
        "type": "object"
      },
      "SnapshotRemovedWebhook": {
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookEvent"
              }
            ],
            "description": "Event type identifier",
            "example": "sandbox.created"
          },
          "timestamp": {
            "description": "Timestamp when the event occurred",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Snapshot ID",
            "example": "snapshot123",
            "type": "string"
          },
          "name": {
            "description": "Snapshot name",
            "example": "my-snapshot",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "org123",
            "type": "string"
          },
          "removedAt": {
            "description": "When the snapshot was removed",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "event",
          "id",
          "name",
          "organizationId",
          "removedAt",
          "timestamp"
        ],
        "type": "object"
      },
      "VolumeCreatedWebhook": {
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookEvent"
              }
            ],
            "description": "Event type identifier",
            "example": "sandbox.created"
          },
          "timestamp": {
            "description": "Timestamp when the event occurred",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Volume ID",
            "example": "vol-12345678",
            "type": "string"
          },
          "name": {
            "description": "Volume name",
            "example": "my-volume",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "org123",
            "type": "string"
          },
          "state": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeState"
              }
            ],
            "description": "Volume state"
          },
          "createdAt": {
            "description": "When the volume was created",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "createdAt",
          "event",
          "id",
          "name",
          "organizationId",
          "state",
          "timestamp"
        ],
        "type": "object"
      },
      "VolumeStateUpdatedWebhook": {
        "properties": {
          "event": {
            "allOf": [
              {
                "$ref": "#/components/schemas/WebhookEvent"
              }
            ],
            "description": "Event type identifier",
            "example": "sandbox.created"
          },
          "timestamp": {
            "description": "Timestamp when the event occurred",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "Volume ID",
            "example": "vol-12345678",
            "type": "string"
          },
          "name": {
            "description": "Volume name",
            "example": "my-volume",
            "type": "string"
          },
          "organizationId": {
            "description": "Organization ID",
            "example": "org123",
            "type": "string"
          },
          "oldState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeState"
              }
            ],
            "description": "Previous state"
          },
          "newState": {
            "allOf": [
              {
                "$ref": "#/components/schemas/VolumeState"
              }
            ],
            "description": "New state"
          },
          "updatedAt": {
            "description": "When the volume was last updated",
            "example": "2025-12-19T10:30:00Z",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "event",
          "id",
          "name",
          "newState",
          "oldState",
          "organizationId",
          "timestamp",
          "updatedAt"
        ],
        "type": "object"
      },
      "resolveSandboxSecrets_200_response_inner": {
        "example": {
          "hosts": [
            "api.anthropic.com"
          ],
          "placeholder": "dtn_secret_a7f3b2c1e9d4",
          "env": "ANTHROPIC_API_KEY",
          "value": "sk-ant-..."
        },
        "properties": {
          "env": {
            "example": "ANTHROPIC_API_KEY",
            "type": "string"
          },
          "placeholder": {
            "example": "dtn_secret_a7f3b2c1e9d4",
            "type": "string"
          },
          "value": {
            "example": "sk-ant-...",
            "type": "string"
          },
          "hosts": {
            "example": [
              "api.anthropic.com"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "HealthController_check_200_response_info_value": {
        "additionalProperties": true,
        "properties": {
          "status": {
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "HealthController_check_200_response": {
        "example": {
          "details": {
            "database": {
              "status": "up"
            }
          },
          "error": {},
          "status": "ok",
          "info": {
            "database": {
              "status": "up"
            }
          }
        },
        "properties": {
          "status": {
            "example": "ok",
            "type": "string"
          },
          "info": {
            "additionalProperties": {
              "$ref": "#/components/schemas/HealthController_check_200_response_info_value"
            },
            "example": {
              "database": {
                "status": "up"
              }
            },
            "nullable": true,
            "type": "object"
          },
          "error": {
            "additionalProperties": {
              "$ref": "#/components/schemas/HealthController_check_200_response_info_value"
            },
            "example": {},
            "nullable": true,
            "type": "object"
          },
          "details": {
            "additionalProperties": {
              "$ref": "#/components/schemas/HealthController_check_200_response_info_value"
            },
            "example": {
              "database": {
                "status": "up"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "HealthController_check_503_response": {
        "example": {
          "details": {
            "database": {
              "status": "up"
            },
            "redis": {
              "status": "down",
              "message": "Could not connect"
            }
          },
          "error": {
            "redis": {
              "status": "down",
              "message": "Could not connect"
            }
          },
          "status": "error",
          "info": {
            "database": {
              "status": "up"
            }
          }
        },
        "properties": {
          "status": {
            "example": "error",
            "type": "string"
          },
          "info": {
            "additionalProperties": {
              "$ref": "#/components/schemas/HealthController_check_200_response_info_value"
            },
            "example": {
              "database": {
                "status": "up"
              }
            },
            "nullable": true,
            "type": "object"
          },
          "error": {
            "additionalProperties": {
              "$ref": "#/components/schemas/HealthController_check_200_response_info_value"
            },
            "example": {
              "redis": {
                "status": "down",
                "message": "Could not connect"
              }
            },
            "nullable": true,
            "type": "object"
          },
          "details": {
            "additionalProperties": {
              "$ref": "#/components/schemas/HealthController_check_200_response_info_value"
            },
            "example": {
              "database": {
                "status": "up"
              },
              "redis": {
                "status": "down",
                "message": "Could not connect"
              }
            },
            "type": "object"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearer": {
        "bearerFormat": "JWT",
        "description": "API Key access",
        "scheme": "bearer",
        "type": "http"
      },
      "oauth2": {
        "openIdConnectUrl": "http://localhost:3000/.well-known/openid-configuration",
        "type": "openIdConnect"
      }
    }
  }
}
