{
  "x-provenance": {
    "repo": "daytona/rlp",
    "source": "api/openapi.json",
    "generated-by": "make contracts"
  },
  "components": {
    "headers": {
      "Retry-After": {
        "description": "Seconds to wait before retrying the request; sent only when the server knows how long the condition lasts",
        "schema": {
          "format": "int64",
          "minimum": 0,
          "type": "integer"
        }
      },
      "x-daytona-trace-id": {
        "description": "The trace ID to quote when contacting support about this response",
        "schema": {
          "type": "string"
        }
      }
    },
    "parameters": {
      "ApiKeyId": {
        "description": "The API key ID",
        "in": "path",
        "name": "key_id",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        }
      },
      "Cursor": {
        "description": "Opaque continuation token returned as `next_cursor` by a previous request",
        "in": "query",
        "name": "cursor",
        "required": false,
        "schema": {
          "type": "string"
        }
      },
      "IdOnly": {
        "description": "Resolve the path value strictly as an ID, without a name fallback.",
        "in": "query",
        "name": "id_only",
        "required": false,
        "schema": {
          "type": "boolean"
        }
      },
      "ImageIdOrName": {
        "description": "The image ID or name",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "InvoiceId": {
        "description": "The invoice ID",
        "in": "path",
        "name": "invoice_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "Limit": {
        "description": "Maximum number of items to return, 1\u2013200 (default 100)",
        "in": "query",
        "name": "limit",
        "required": false,
        "schema": {
          "default": 100,
          "format": "int64",
          "maximum": 200,
          "minimum": 1,
          "type": "integer"
        }
      },
      "OrganizationId": {
        "description": "The organization ID",
        "in": "path",
        "name": "org_id",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        }
      },
      "PortNumber": {
        "description": "The port number",
        "in": "path",
        "name": "port",
        "required": true,
        "schema": {
          "format": "int32",
          "type": "integer"
        }
      },
      "ProjectId": {
        "description": "The project ID",
        "in": "path",
        "name": "project_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "RegionTag": {
        "description": "The event stream region tag, or `_` when sandbox IDs carry no region tag",
        "in": "path",
        "name": "region",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "RegistryHost": {
        "description": "The registry host",
        "in": "path",
        "name": "host",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "ReservationId": {
        "description": "The reservation ID",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "SandboxId": {
        "description": "The sandbox ID",
        "in": "path",
        "name": "sandbox_id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "SecretName": {
        "description": "The secret name",
        "in": "path",
        "name": "name",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "ServiceAccountId": {
        "description": "The service account ID",
        "in": "path",
        "name": "service_account_id",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        }
      },
      "SnapshotIdOrName": {
        "description": "The snapshot ID or name",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "TimeoutMs": {
        "description": "Maximum time to block, in milliseconds. Default 30000, maximum 60000.",
        "in": "query",
        "name": "timeout_ms",
        "required": false,
        "schema": {
          "format": "int64",
          "minimum": 0,
          "type": "integer"
        }
      },
      "UserId": {
        "description": "The user ID",
        "in": "path",
        "name": "user_id",
        "required": true,
        "schema": {
          "format": "uuid",
          "type": "string"
        }
      },
      "VolumeIdOrName": {
        "description": "The volume ID or name",
        "in": "path",
        "name": "id",
        "required": true,
        "schema": {
          "type": "string"
        }
      },
      "Wait": {
        "description": "Block until the resource reaches this status or a terminal status. Omit to return immediately.",
        "in": "query",
        "name": "wait",
        "required": false,
        "schema": {
          "type": "string"
        }
      }
    },
    "responses": {
      "EntitlementRequired": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorBody"
            }
          }
        },
        "description": "The organization's plan does not include this feature (`ENTITLEMENT_REQUIRED`)",
        "headers": {
          "x-daytona-trace-id": {
            "$ref": "#/components/headers/x-daytona-trace-id"
          }
        }
      },
      "Forbidden": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorBody"
            }
          }
        },
        "description": "The caller does not have access to this operation (`FORBIDDEN`)",
        "headers": {
          "x-daytona-trace-id": {
            "$ref": "#/components/headers/x-daytona-trace-id"
          }
        }
      },
      "NotServedHere": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorBody"
            }
          }
        },
        "description": "This API base URL does not serve the operation (`WORKLOAD_PLANE_ELSEWHERE`, `MANAGEMENT_PLANE_ELSEWHERE`); use the base URL configured for that API area",
        "headers": {
          "x-daytona-trace-id": {
            "$ref": "#/components/headers/x-daytona-trace-id"
          }
        }
      },
      "TooManyRequests": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorBody"
            }
          }
        },
        "description": "The request was rate limited, the service is overloaded, or a limit was reached (`RATE_LIMITED`, `OVERLOADED`, `LIMIT_EXCEEDED`, `TOO_MANY_REQUESTS`)",
        "headers": {
          "Retry-After": {
            "$ref": "#/components/headers/Retry-After"
          },
          "x-daytona-trace-id": {
            "$ref": "#/components/headers/x-daytona-trace-id"
          }
        }
      },
      "Unauthorized": {
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/ErrorBody"
            }
          }
        },
        "description": "Missing or invalid authentication (`UNAUTHORIZED`)",
        "headers": {
          "x-daytona-trace-id": {
            "$ref": "#/components/headers/x-daytona-trace-id"
          }
        }
      }
    },
    "schemas": {
      "AcceptInvitationRequest": {
        "properties": {
          "token": {
            "description": "The invitation token.",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "AcceptPrivacyPolicyRequest": {
        "description": "The privacy policy version the user was shown and accepts. It must equal\nthe version the platform requires now, so an acceptance of an older version\nis refused rather than recorded as consent to text the user never saw.",
        "properties": {
          "version": {
            "description": "The policy version the user was shown and accepts.",
            "type": "string"
          }
        },
        "required": [
          "version"
        ],
        "type": "object"
      },
      "AddProjectMembersRequest": {
        "properties": {
          "user_ids": {
            "description": "The user IDs.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "user_ids"
        ],
        "type": "object"
      },
      "AddProjectServiceAccountRequest": {
        "properties": {
          "service_account_id": {
            "description": "The service account ID.",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "service_account_id"
        ],
        "type": "object"
      },
      "AnalyticsConfig": {
        "description": "Browser analytics configuration.",
        "properties": {
          "api_key": {
            "description": "Public browser analytics key.",
            "type": "string"
          },
          "environment": {
            "description": "Environment tag the browser stamps on its events.",
            "type": "string"
          },
          "host": {
            "description": "Ingestion host the browser talks to.",
            "type": "string"
          }
        },
        "required": [
          "api_key",
          "host",
          "environment"
        ],
        "type": "object"
      },
      "ApiErrorCode": {
        "description": "Stable machine-readable error codes, returned as `ErrorBody.code`\nwhen `source` is `DAYTONA_API`.",
        "enum": [
          "ORG_SUSPENDED",
          "PROJECT_BUDGET_EXCEEDED",
          "FEATURE_NOT_ENABLED",
          "ENTITLEMENT_REQUIRED",
          "EMAIL_ACCESS_DENIED",
          "SIGNUP_NOT_INVITED",
          "OPERATOR_IDENTITY_REQUIRED",
          "OVERLOADED",
          "RATE_LIMITED",
          "LIMIT_EXCEEDED",
          "IF_MATCH_REQUIRED",
          "STALE_NETWORK_POLICY_REVISION",
          "SECRET_ALREADY_EXISTS",
          "NETWORK_POLICY_DOMAINS_REQUIRE_BLOCK_ALL",
          "NETWORK_POLICY_TRANSITION_IN_PROGRESS",
          "BILLING_DISABLED",
          "BILLING_UNREACHABLE",
          "BILLING_UNAVAILABLE",
          "BILLING_NOT_PROVISIONED",
          "CHARGE_NOT_FOUND",
          "INVOICE_NOT_FOUND",
          "COUPON_NOT_FOUND",
          "COUPON_EXPIRED",
          "COUPON_LIMIT_REACHED",
          "COUPON_ALREADY_REDEEMED",
          "INVOICE_NOT_FINALIZED",
          "INVOICE_NOT_PAYABLE",
          "CHARGE_NOT_SUCCEEDED",
          "PLAN_UNCHANGED",
          "PLAN_CHANGE_PENDING",
          "PLAN_MANAGED_BY_OPERATOR",
          "PAYMENT_METHOD_REQUIRED",
          "BILLING_ACCOUNT_CONFLICT",
          "UNKNOWN_PLAN",
          "PLAN_REQUIRES_SALES",
          "AUTOMATIC_TOP_UP_NOT_AVAILABLE",
          "SEARCH_NOT_CONFIGURED",
          "SEARCH_UNAVAILABLE",
          "UNSUPPORTED_VOLUME_TYPE",
          "BUCKET_CREATE_FAILED",
          "BUCKET_DELETE_FAILED",
          "BUCKET_NOT_EMPTY",
          "ORIGIN_IMPORT_ONLY",
          "READ_ONLY_UNSUPPORTED",
          "WORKLOAD_PLANE_ELSEWHERE",
          "MANAGEMENT_PLANE_ELSEWHERE",
          "INVOCATION_TIMEOUT",
          "INSTANCE_UNREACHABLE",
          "INSTANCE_CREATE_FAILED",
          "NOT_SUPPORTED_FOR_CLASS",
          "INVALID_FOR_SOURCE",
          "IDENTITY_NOT_FOUND",
          "WORKOS_SYNC_DISABLED",
          "USAGE_UNAVAILABLE",
          "BAD_RANGE",
          "BAD_RESOLUTION",
          "BAD_RUNNER",
          "BILLING_FORBIDDEN",
          "BILLING_ERROR",
          "BUILD_LOG_BATCH_TOO_LARGE",
          "PLACEMENT_UNAVAILABLE",
          "CROSS_CELL_PLACEMENT_UNSUPPORTED",
          "SOURCE_AMBIGUOUS",
          "CREATE_OPERATION_RETIRED",
          "CREATE_BODY_TOO_LARGE",
          "NO_ACTIVE_RESERVATION",
          "NO_FREE_SLOT",
          "RESERVATION_NOT_FOUND",
          "NO_MAC_AVAILABLE",
          "MAC_DISK_FULL",
          "AUTO_RESERVE_LIMIT_REACHED",
          "IDEMPOTENCY_KEY_REUSED",
          "INSUFFICIENT_BALANCE",
          "CHARGE_FAILED",
          "CHECKPOINT_PENDING",
          "NO_CHECKPOINT",
          "CHECKPOINT_FAILED",
          "HARDWARE_REPLY_TOO_LARGE",
          "ECR_CREDENTIALS_INVALID",
          "ECR_ACCOUNT_MISMATCH",
          "ECR_OWNERSHIP_UNVERIFIABLE",
          "IMAGE_NOT_FOUND",
          "IMAGE_NOT_READY",
          "IMAGE_BUILD_FAILED",
          "DEFAULT_IMAGE_NOT_CONFIGURED",
          "IMAGE_FORMAT_OUTDATED",
          "IMAGE_CLASS_MISMATCH",
          "IMAGE_NAME_TAKEN",
          "IMAGE_NAME_RESERVED",
          "IDLE_OUT_OF_RANGE",
          "CREATE_TTL_OUT_OF_RANGE",
          "SNAPSHOT_NOT_FOUND",
          "SNAPSHOT_NOT_READY",
          "SNAPSHOT_CLASS_MISMATCH",
          "SNAPSHOT_IN_PROGRESS",
          "IMPORTED_KEY_ALWAYS_SYNCED",
          "KEY_SYNC_NOT_APPLICABLE",
          "V1_BRIDGE_UNAVAILABLE",
          "V1_SANDBOX_NOT_FOUND",
          "V1_SANDBOX_NOT_IMPORTABLE",
          "V1_BACKUP_REGISTRY_UNCONFIGURED",
          "V1_MIGRATION_DEFAULT_PROJECT_ONLY",
          "NOT_FOUND",
          "UNAUTHORIZED",
          "FORBIDDEN",
          "BAD_REQUEST",
          "PAYMENT_REQUIRED",
          "METHOD_NOT_ALLOWED",
          "REQUEST_TIMEOUT",
          "CONFLICT",
          "GONE",
          "PAYLOAD_TOO_LARGE",
          "UNSUPPORTED_MEDIA_TYPE",
          "UNPROCESSABLE_ENTITY",
          "TOO_MANY_REQUESTS",
          "SERVICE_UNAVAILABLE",
          "NOT_IMPLEMENTED",
          "BAD_GATEWAY",
          "GATEWAY_TIMEOUT",
          "INTERNAL_SERVER_ERROR"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "AsyncOperation": {
        "description": "An accepted asynchronous operation.",
        "properties": {
          "id": {
            "description": "The ID of the resource the operation acts on.",
            "type": "string"
          },
          "status": {
            "description": "The resource's lifecycle status at acceptance.",
            "example": "pending",
            "type": "string"
          }
        },
        "required": [
          "id",
          "status"
        ],
        "type": "object"
      },
      "AuditActionGroup": {
        "description": "Actions the audit log can record against one target type.",
        "properties": {
          "actions": {
            "description": "Actions that can appear against this target type, sorted\nalphabetically.",
            "example": [
              "create",
              "delete",
              "start",
              "stop"
            ],
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "target_type": {
            "description": "The resource type the actions apply to. It matches `target_type` on\nan audit log entry.",
            "example": "sandbox",
            "type": "string"
          }
        },
        "required": [
          "target_type",
          "actions"
        ],
        "type": "object"
      },
      "AuditActionList": {
        "description": "The supported audit actions, grouped by target type.",
        "properties": {
          "targets": {
            "description": "One entry per target type, sorted by target type.",
            "items": {
              "$ref": "#/components/schemas/AuditActionGroup"
            },
            "type": "array"
          }
        },
        "required": [
          "targets"
        ],
        "type": "object"
      },
      "AuditConfig": {
        "properties": {
          "disabled": {
            "description": "Whether audit capture is disabled.",
            "type": "boolean"
          }
        },
        "required": [
          "disabled"
        ],
        "type": "object"
      },
      "AuditLogEntry": {
        "description": "An organization audit log entry.",
        "properties": {
          "action": {
            "description": "The action name.",
            "type": "string"
          },
          "actor_created_by": {
            "description": "The user who created the actor key, or `null` when unavailable or hidden.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "actor_email": {
            "description": "The actor's email address, or `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "actor_key_id": {
            "description": "The actor's key ID, or `null`.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "actor_key_prefix": {
            "description": "The actor key prefix, or `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "actor_kind": {
            "description": "The actor type.",
            "type": "string"
          },
          "actor_service_account_id": {
            "description": "The actor's service account ID, or `null`.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "actor_user_id": {
            "description": "The actor's user ID, or `null`.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "description": "When the action occurred.",
            "format": "date-time",
            "type": "string"
          },
          "error_message": {
            "description": "The failure message, or `null` for a successful action.",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "The audit log entry ID.",
            "format": "uuid",
            "type": "string"
          },
          "ip_address": {
            "description": "The request IP address, or `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "metadata": {
            "description": "Additional action details, or `null`.",
            "type": [
              "object",
              "null"
            ]
          },
          "org_id": {
            "description": "The organization ID.",
            "format": "uuid",
            "type": "string"
          },
          "project_id": {
            "description": "The project ID, or `null` when the action is organization-wide.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "status_code": {
            "description": "The response status code.",
            "format": "int32",
            "type": "integer"
          },
          "target_id": {
            "description": "The target resource ID, or `null`.",
            "type": [
              "string",
              "null"
            ]
          },
          "target_type": {
            "description": "The target resource type.",
            "type": "string"
          },
          "user_agent": {
            "description": "The request user agent, or `null`.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "org_id",
          "actor_kind",
          "action",
          "target_type",
          "status_code",
          "created_at"
        ],
        "type": "object"
      },
      "AuditLogPage": {
        "properties": {
          "audit_logs": {
            "description": "The audit log entries.",
            "items": {
              "$ref": "#/components/schemas/AuditLogEntry"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "The cursor for the next page, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "audit_logs"
        ],
        "type": "object"
      },
      "AutomaticTopUp": {
        "properties": {
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "enabled": {
            "description": "Whether automatic top-up is enabled.",
            "type": "boolean"
          },
          "target_cents": {
            "description": "The balance targeted by a top-up, in cents, or `null` when unset.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "threshold_cents": {
            "description": "The balance that triggers a top-up, in cents, or `null` when unset.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "enabled",
          "currency"
        ],
        "type": "object"
      },
      "Balance": {
        "properties": {
          "applicable_to": {
            "description": "Product restrictions, or `null` when unrestricted.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BalanceApplicableTo"
              }
            ]
          },
          "balance_cents": {
            "description": "The remaining balance in cents.",
            "format": "int64",
            "type": "integer"
          },
          "created_at": {
            "description": "When the balance was created.",
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "expires_at": {
            "description": "When the balance expires, or `null` when it does not expire.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "granted_amount_cents": {
            "description": "The amount originally granted, in cents.",
            "format": "int64",
            "type": "integer"
          },
          "id": {
            "description": "The balance ID.",
            "type": "string"
          },
          "name": {
            "description": "The balance display name.",
            "type": "string"
          },
          "type": {
            "$ref": "#/components/schemas/BalanceType",
            "description": "The balance type."
          }
        },
        "required": [
          "id",
          "type",
          "name",
          "created_at",
          "balance_cents",
          "granted_amount_cents",
          "currency"
        ],
        "type": "object"
      },
      "BalanceApplicableTo": {
        "properties": {
          "product_names": {
            "description": "Product names that can consume the balance, or `null` for no name filter.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "product_tags": {
            "description": "Product tags that can consume the balance, or `null` for no tag filter.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "BalanceNotification": {
        "properties": {
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "enabled": {
            "description": "Whether low-balance notifications are enabled.",
            "type": "boolean"
          },
          "threshold_cents": {
            "description": "The notification threshold in cents, or `null` when unset.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "enabled",
          "currency"
        ],
        "type": "object"
      },
      "BalancePage": {
        "properties": {
          "balances": {
            "description": "The balances in this page.",
            "items": {
              "$ref": "#/components/schemas/Balance"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "The next page cursor, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "balances"
        ],
        "type": "object"
      },
      "BalanceType": {
        "enum": [
          "credit",
          "commit"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "BillingAddress": {
        "properties": {
          "city": {
            "description": "The city or locality.",
            "type": "string"
          },
          "country": {
            "description": "The two-letter country code.",
            "type": "string"
          },
          "line1": {
            "description": "The first street-address line.",
            "type": "string"
          },
          "line2": {
            "description": "The second street-address line.",
            "type": "string"
          },
          "postal_code": {
            "description": "The postal code.",
            "type": "string"
          },
          "state": {
            "description": "The state, province, or region.",
            "type": "string"
          }
        },
        "required": [
          "line1",
          "line2",
          "city",
          "state",
          "postal_code",
          "country"
        ],
        "type": "object"
      },
      "BillingContact": {
        "properties": {
          "effective_email": {
            "description": "The email currently used for billing notices, or `null` when unavailable.",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "description": "The configured billing email, or `null` when unset.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "BillingPeriod": {
        "properties": {
          "end_at": {
            "description": "The end of the billing period.",
            "format": "date-time",
            "type": "string"
          },
          "start_at": {
            "description": "The beginning of the billing period.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "start_at",
          "end_at"
        ],
        "type": "object"
      },
      "BillingPlan": {
        "properties": {
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "current_period": {
            "description": "The current billing period, or `null` when unavailable.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BillingPeriod"
              }
            ]
          },
          "entitlements": {
            "description": "The entitlement keys included in the plan.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "fee_cents": {
            "description": "The recurring plan fee in cents.",
            "format": "int64",
            "type": "integer"
          },
          "limits": {
            "$ref": "#/components/schemas/PlanLimits",
            "description": "The plan limits."
          },
          "monthly_credit_cents": {
            "description": "The monthly included credit in cents.",
            "format": "int64",
            "type": "integer"
          },
          "pending": {
            "description": "The scheduled plan change, or `null` when none is pending.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PendingPlanChange"
              }
            ]
          },
          "plan": {
            "$ref": "#/components/schemas/PlanName",
            "description": "The current plan."
          },
          "self_serve": {
            "description": "Whether members can change this plan through the API.",
            "type": "boolean"
          }
        },
        "required": [
          "plan",
          "self_serve",
          "fee_cents",
          "monthly_credit_cents",
          "currency",
          "limits",
          "entitlements"
        ],
        "type": "object"
      },
      "BillingProfile": {
        "properties": {
          "address": {
            "$ref": "#/components/schemas/BillingAddress",
            "description": "The billing address."
          },
          "email": {
            "description": "The billing contact email.",
            "type": "string"
          },
          "name": {
            "description": "The legal billing name.",
            "type": "string"
          },
          "phone": {
            "description": "The billing contact phone number.",
            "type": "string"
          },
          "tax_ids": {
            "description": "The registered tax identifiers.",
            "items": {
              "$ref": "#/components/schemas/BillingTaxId"
            },
            "type": "array"
          }
        },
        "required": [
          "name",
          "email",
          "phone",
          "address",
          "tax_ids"
        ],
        "type": "object"
      },
      "BillingSession": {
        "properties": {
          "expires_at": {
            "description": "When the session expires, or `null` when the provider does not expose an expiry.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "description": "The generated session URL.",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "BillingTaxId": {
        "properties": {
          "type": {
            "$ref": "#/components/schemas/BillingTaxIdType",
            "description": "The tax identifier type."
          },
          "value": {
            "description": "The tax identifier value.",
            "type": "string"
          }
        },
        "required": [
          "type",
          "value"
        ],
        "type": "object"
      },
      "BillingTaxIdType": {
        "enum": [
          "ad_nrt",
          "ae_trn",
          "al_tin",
          "am_tin",
          "ao_tin",
          "ar_cuit",
          "au_abn",
          "au_arn",
          "aw_tin",
          "az_tin",
          "ba_tin",
          "bb_tin",
          "bd_bin",
          "bf_ifu",
          "bg_uic",
          "bh_vat",
          "bj_ifu",
          "bo_tin",
          "br_cnpj",
          "br_cpf",
          "bs_tin",
          "by_tin",
          "ca_bn",
          "ca_gst_hst",
          "ca_pst_bc",
          "ca_pst_mb",
          "ca_pst_sk",
          "ca_qst",
          "cd_nif",
          "ch_uid",
          "ch_vat",
          "cl_tin",
          "cm_niu",
          "cn_tin",
          "co_nit",
          "cr_tin",
          "cv_nif",
          "de_stn",
          "do_rcn",
          "ec_ruc",
          "eg_tin",
          "es_cif",
          "et_tin",
          "eu_oss_vat",
          "eu_vat",
          "gb_vat",
          "ge_vat",
          "gn_nif",
          "hk_br",
          "hr_oib",
          "hu_tin",
          "id_npwp",
          "il_vat",
          "in_gst",
          "is_vat",
          "jp_cn",
          "jp_rn",
          "jp_trn",
          "ke_pin",
          "kg_tin",
          "kh_tin",
          "kr_brn",
          "kz_bin",
          "la_tin",
          "li_uid",
          "li_vat",
          "ma_vat",
          "md_vat",
          "me_pib",
          "mk_vat",
          "mr_nif",
          "mx_rfc",
          "my_frp",
          "my_itn",
          "my_sst",
          "ng_tin",
          "no_vat",
          "no_voec",
          "np_pan",
          "nz_gst",
          "om_vat",
          "pe_ruc",
          "ph_tin",
          "ro_tin",
          "rs_pib",
          "ru_inn",
          "ru_kpp",
          "sa_vat",
          "sg_gst",
          "sg_uen",
          "si_tin",
          "sn_ninea",
          "sr_fin",
          "sv_nit",
          "th_vat",
          "tj_tin",
          "tr_tin",
          "tw_vat",
          "tz_vat",
          "ua_vat",
          "ug_tin",
          "us_ein",
          "uy_ruc",
          "uz_tin",
          "uz_vat",
          "ve_rif",
          "vn_tin",
          "za_vat",
          "zm_tin",
          "zw_tin",
          "other"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "BillingType": {
        "enum": [
          "pre-paid",
          "post-paid"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "BillingUsagePeriod": {
        "properties": {
          "amount_cents": {
            "description": "The pre-tax usage amount in cents.",
            "format": "int64",
            "type": "integer"
          },
          "charges": {
            "description": "The itemized usage charges.",
            "items": {
              "$ref": "#/components/schemas/UsageCharge"
            },
            "type": "array"
          },
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "end_at": {
            "description": "The exclusive end of the usage period.",
            "format": "date-time",
            "type": "string"
          },
          "issued_at": {
            "description": "When the usage statement was issued.",
            "format": "date-time",
            "type": "string"
          },
          "start_at": {
            "description": "The inclusive beginning of the usage period.",
            "format": "date-time",
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/UsagePeriodStatus",
            "description": "The usage period status."
          },
          "taxes_amount_cents": {
            "description": "The tax amount in cents.",
            "format": "int64",
            "type": "integer"
          },
          "total_amount_cents": {
            "description": "The usage amount including taxes, in cents.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "start_at",
          "end_at",
          "issued_at",
          "status",
          "amount_cents",
          "total_amount_cents",
          "taxes_amount_cents",
          "currency",
          "charges"
        ],
        "type": "object"
      },
      "BucketCredentials": {
        "description": "Secret names used to access an external bucket.",
        "properties": {
          "access_key_secret": {
            "description": "The project secret containing the access key.",
            "example": "AWS_KEY",
            "type": "string"
          },
          "secret_key_secret": {
            "description": "The project secret containing the secret key.",
            "example": "AWS_SECRET",
            "type": "string"
          }
        },
        "required": [
          "access_key_secret",
          "secret_key_secret"
        ],
        "type": "object"
      },
      "BucketOptions": {
        "description": "The customer's own bucket, for a bucket volume with origin `external`.",
        "properties": {
          "credentials": {
            "description": "The secret names used to access the bucket.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BucketCredentials"
              }
            ]
          },
          "endpoint": {
            "description": "Non-AWS S3 endpoint (`http(s)://\u2026`); absent or empty means AWS.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The bucket name.",
            "example": "corp-data",
            "type": "string"
          },
          "origin": {
            "description": "The bucket origin. Defaults to `external`; managed buckets are requested\nby omitting this whole object.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ExternalBucketOrigin"
              }
            ]
          },
          "path_style": {
            "description": "Whether requests use path-style bucket addressing. Defaults to `false`.",
            "type": "boolean"
          },
          "prefix": {
            "description": "Key prefix the volume is scoped to. A trailing `/` is added if missing.",
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "description": "The bucket region. The deployment's default bucket region is used\nwhen omitted.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "BuildLogChunk": {
        "properties": {
          "data_base64": {
            "description": "Base64-encoded log bytes.",
            "type": "string"
          },
          "next_offset": {
            "description": "The byte offset to request next.",
            "type": "string"
          },
          "start_offset": {
            "description": "The first byte offset in this chunk.",
            "type": "string"
          }
        },
        "required": [
          "data_base64",
          "start_offset",
          "next_offset"
        ],
        "type": "object"
      },
      "BuildLogDone": {
        "properties": {
          "cursor": {
            "description": "The final cursor, or `null` when no cursor is available.",
            "type": [
              "string",
              "null"
            ]
          },
          "output_complete": {
            "description": "Whether all build output was delivered.",
            "type": "boolean"
          },
          "reason": {
            "$ref": "#/components/schemas/BuildLogDoneReason",
            "description": "Why the log stream ended."
          },
          "status": {
            "description": "The build status when the log stream ended.",
            "type": "string"
          }
        },
        "required": [
          "status",
          "reason",
          "output_complete"
        ],
        "type": "object"
      },
      "BuildLogDoneReason": {
        "enum": [
          "terminal",
          "deadline",
          "not_applicable",
          "resource_deleted"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "BuildLogError": {
        "properties": {
          "code": {
            "description": "The machine-readable error code.",
            "type": "string"
          },
          "error": {
            "description": "The user-facing error detail.",
            "type": "string"
          },
          "retryable": {
            "description": "Whether the reader may retry the request.",
            "type": "boolean"
          },
          "trace_id": {
            "description": "The trace ID for support, or `null` when unavailable.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "error",
          "code",
          "retryable"
        ],
        "type": "object"
      },
      "BuildLogGap": {
        "properties": {
          "dropped_bytes": {
            "description": "The number of unavailable bytes.",
            "type": "string"
          },
          "first_available_offset": {
            "description": "The earliest byte offset still available.",
            "type": "string"
          },
          "reason": {
            "$ref": "#/components/schemas/BuildLogGapReason",
            "description": "Why bytes are unavailable."
          },
          "requested_offset": {
            "description": "The byte offset the reader requested.",
            "type": "string"
          }
        },
        "required": [
          "reason",
          "requested_offset",
          "first_available_offset",
          "dropped_bytes"
        ],
        "type": "object"
      },
      "BuildLogGapReason": {
        "enum": [
          "truncated"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "BuildLogSourceChanged": {
        "properties": {
          "reason": {
            "description": "Why the log source changed.",
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "BuildLogState": {
        "description": "The build's current state, sent on the build-log stream. Offsets are\ndecimal strings counting raw bytes, not Unicode positions, and event IDs\nare opaque cursors.",
        "properties": {
          "deadline_at": {
            "description": "The build deadline, or `null` when no deadline applies.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "error": {
            "description": "The build failure detail, or `null` when no failure is reported.",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "The current build status.",
            "type": "string"
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "BuildLogUnavailable": {
        "properties": {
          "reason": {
            "description": "Why build logs are unavailable.",
            "type": "string"
          }
        },
        "required": [
          "reason"
        ],
        "type": "object"
      },
      "BuildLogsUrl": {
        "description": "A link to build logs.",
        "properties": {
          "url": {
            "description": "The URL for reading the build logs.",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "ChangeImpact": {
        "properties": {
          "revoked_api_keys": {
            "description": "The number of API keys the change would revoke.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "revoked_preview_grants": {
            "description": "The number of preview grants the change would revoke.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "revoked_api_keys",
          "revoked_preview_grants"
        ],
        "type": "object"
      },
      "Charge": {
        "properties": {
          "amount_cents": {
            "description": "The charged amount in cents.",
            "format": "int64",
            "type": "integer"
          },
          "created_at": {
            "description": "When the charge was created.",
            "format": "date-time",
            "type": "string"
          },
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "description": {
            "description": "The charge description.",
            "type": "string"
          },
          "failure_message": {
            "description": "The payment failure detail, or `null` when no failure occurred.",
            "type": [
              "string",
              "null"
            ]
          },
          "has_invoice": {
            "description": "Whether an invoice is attached.",
            "type": "boolean"
          },
          "has_pdf": {
            "description": "Whether a downloadable PDF receipt is available.",
            "type": "boolean"
          },
          "id": {
            "description": "The charge ID.",
            "type": "string"
          },
          "invoice_url": {
            "description": "The hosted invoice URL, or `null` when unavailable.",
            "type": [
              "string",
              "null"
            ]
          },
          "receipt_url": {
            "description": "The hosted receipt URL, or `null` when unavailable.",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/ChargeStatus",
            "description": "The charge status."
          }
        },
        "required": [
          "id",
          "amount_cents",
          "currency",
          "status",
          "description",
          "created_at",
          "has_pdf",
          "has_invoice"
        ],
        "type": "object"
      },
      "ChargePage": {
        "properties": {
          "charges": {
            "description": "The charges in this page.",
            "items": {
              "$ref": "#/components/schemas/Charge"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "The next page cursor, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "charges"
        ],
        "type": "object"
      },
      "ChargeReceiptPdf": {
        "description": "The charge receipt PDF.",
        "format": "binary",
        "type": "string"
      },
      "ChargeStatus": {
        "enum": [
          "succeeded",
          "pending",
          "failed"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "Config": {
        "description": "The `/config` response body.",
        "properties": {
          "analytics": {
            "description": "Browser analytics configuration. `null` when analytics is disabled.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/AnalyticsConfig"
              }
            ]
          },
          "analytics_url": {
            "description": "Public base URL for spending analytics. `null` when unavailable.",
            "type": [
              "string",
              "null"
            ]
          },
          "api_url": {
            "description": "Public base URL of this API when the deployment advertises one.",
            "type": [
              "string",
              "null"
            ]
          },
          "billing_enabled": {
            "description": "Whether billing features are available.",
            "type": "boolean"
          },
          "build_sha": {
            "description": "Full commit SHA this API was built from; `unknown` when unstamped.",
            "type": "string"
          },
          "built_at": {
            "description": "Build time. `null` for an unstamped build.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "docs_url": {
            "description": "Public documentation site URL for this deployment.",
            "type": [
              "string",
              "null"
            ]
          },
          "oidc": {
            "description": "Login settings. `null` when login is unavailable.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/OidcPublicConfig"
              }
            ]
          },
          "ssh_gateway": {
            "description": "SSH gateway endpoint clients should use. `null` when the deployment does\nnot publish one.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SshGatewayConfig"
              }
            ]
          },
          "toolbox_url": {
            "description": "Base URL for sandbox tools that the browser should use.",
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "description": "Platform version, or `0.0.0-dev` for an unstamped build.",
            "type": "string"
          }
        },
        "required": [
          "oidc",
          "ssh_gateway",
          "analytics",
          "billing_enabled",
          "version",
          "build_sha"
        ],
        "type": "object"
      },
      "CouponRedemption": {
        "properties": {
          "code": {
            "description": "The redeemed coupon code.",
            "type": "string"
          },
          "credit_cents": {
            "description": "The granted credit in cents.",
            "format": "int64",
            "type": "integer"
          },
          "credit_expires_at": {
            "description": "When the granted credit expires, or `null` when it does not expire.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "redeemed_at": {
            "description": "When the coupon was redeemed.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "code",
          "credit_cents",
          "currency",
          "redeemed_at"
        ],
        "type": "object"
      },
      "CpuArchAvailability": {
        "description": "Availability of one CPU architecture across the covered regions.",
        "properties": {
          "available": {
            "description": "Whether the architecture is available in at least one included region.",
            "type": "boolean"
          },
          "id": {
            "$ref": "#/components/schemas/CpuArchitecture",
            "description": "CPU architecture."
          },
          "regions": {
            "description": "Included regions where this architecture is available.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "available",
          "regions"
        ],
        "type": "object"
      },
      "CpuArchitecture": {
        "enum": [
          "amd64",
          "arm64"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "CpuCatalog": {
        "description": "`GET /cpu-catalog` body.",
        "properties": {
          "arches": {
            "description": "The CPU architectures present in the catalog, with their availability.",
            "items": {
              "$ref": "#/components/schemas/CpuArchAvailability"
            },
            "type": "array"
          },
          "cpu_types": {
            "description": "CPU types and their availability.",
            "items": {
              "$ref": "#/components/schemas/CpuType"
            },
            "type": "array"
          },
          "regions": {
            "description": "Regions included in the catalog.",
            "items": {
              "$ref": "#/components/schemas/CpuCatalogRegion"
            },
            "type": "array"
          }
        },
        "required": [
          "regions",
          "arches",
          "cpu_types"
        ],
        "type": "object"
      },
      "CpuCatalogRegion": {
        "description": "CPU defaults for one included region.",
        "properties": {
          "default_arch": {
            "$ref": "#/components/schemas/CpuArchitecture",
            "description": "Default CPU architecture for an unhinted create."
          },
          "default_type": {
            "description": "Default CPU type for an unhinted create, when configured.",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "Region identifier.",
            "example": "us-west-1",
            "type": "string"
          }
        },
        "required": [
          "id",
          "default_arch"
        ],
        "type": "object"
      },
      "CpuType": {
        "description": "A CPU type from the platform catalog with its availability across the\ncovered regions.",
        "properties": {
          "available": {
            "description": "Whether the CPU type is available in at least one included region.",
            "type": "boolean"
          },
          "cpu_arch": {
            "$ref": "#/components/schemas/CpuArchitecture",
            "description": "CPU architecture."
          },
          "exact_regions": {
            "description": "Included regions that offer this CPU type directly.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "fallback_regions": {
            "description": "Included regions that can satisfy this CPU type with compatible hardware.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "CPU type identifier accepted by sandbox create requests.",
            "example": "zen5",
            "type": "string"
          },
          "name": {
            "description": "Display name.",
            "type": "string"
          },
          "tier": {
            "description": "Relative performance rank within the architecture; higher is faster.",
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "cpu_arch",
          "tier",
          "available",
          "exact_regions",
          "fallback_regions"
        ],
        "type": "object"
      },
      "CreateGpuSandboxFromSnapshotRequest": {
        "additionalProperties": false,
        "description": "Settings for creating a GPU sandbox from a snapshot.",
        "properties": {
          "create_timeout_seconds": {
            "description": "Seconds allowed for the sandbox to reach `running`. Defaults to 3600; `-1` uses the maximum.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "idempotency_key": {
            "description": "Key used to replay the same create operation safely.",
            "type": [
              "string",
              "null"
            ]
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "User-defined labels.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "lifecycle_policy": {
            "description": "Automatic timeout and idle-expiry behavior.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UpdateSandboxLifecyclePolicyRequest"
              }
            ]
          },
          "name": {
            "description": "Sandbox name. A name is generated when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "ports": {
            "description": "Ports exposed when the sandbox starts.",
            "items": {
              "$ref": "#/components/schemas/PortMapping"
            },
            "type": "array"
          },
          "region": {
            "description": "Target region. The snapshot region is used when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "snapshot": {
            "description": "Snapshot ID or name.",
            "type": "string"
          },
          "wait_seconds": {
            "description": "Seconds to wait before returning. Defaults to 3; `0` returns immediately.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "snapshot"
        ],
        "type": "object"
      },
      "CreateGpuSandboxRequest": {
        "additionalProperties": false,
        "description": "Settings for creating a GPU sandbox from an image.",
        "properties": {
          "cpu": {
            "description": "Reserved CPU cores.",
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "create_timeout_seconds": {
            "description": "Seconds allowed for the sandbox to reach `running`. Defaults to 3600; `-1` uses the maximum.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "disk_max_mib": {
            "description": "Per-sandbox disk limit in MiB: the writable layer's size. Same semantics\nas `vcpus_max`; a disk-snapshot restore requires it equal to the\ncaptured disk, or absent.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "disk_mib": {
            "description": "Writable disk size in MiB.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "env": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Environment variables defined when the sandbox is created.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "gpu": {
            "description": "PCI addresses of dedicated GPUs.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "gpu_host": {
            "description": "The number of shared GPUs to attach. Mutually exclusive with `gpu`,\nwhich attaches dedicated GPUs.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "idempotency_key": {
            "description": "Key used to replay the same create operation safely.",
            "type": [
              "string",
              "null"
            ]
          },
          "image": {
            "description": "Image ID or name.",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "User-defined labels.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "lifecycle_policy": {
            "description": "Automatic timeout and idle-expiry behavior.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UpdateSandboxLifecyclePolicyRequest"
              }
            ]
          },
          "memory_max_mib": {
            "description": "Per-sandbox memory limit in MiB; same semantics as `vcpus_max`.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "memory_mib": {
            "description": "Reserved memory in MiB.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "Sandbox name. A name is generated when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "ports": {
            "description": "Ports exposed when the sandbox starts.",
            "items": {
              "$ref": "#/components/schemas/PortMapping"
            },
            "type": "array"
          },
          "region": {
            "description": "Target region. The project default is used when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "secrets": {
            "description": "Secret names made available to the sandbox.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "user": {
            "description": "Default operating-system user.",
            "type": [
              "string",
              "null"
            ]
          },
          "vcpus": {
            "description": "Reserved virtual CPU count.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "vcpus_max": {
            "description": "Maximum virtual CPU count.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "wait_seconds": {
            "description": "Seconds to wait before returning. Defaults to 3; `0` returns immediately.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "image"
        ],
        "type": "object"
      },
      "CreateImageMultipartRequest": {
        "description": "The `multipart/form-data` variant of `POST /images`: a Dockerfile build\nwith an uploaded build context.",
        "properties": {
          "context": {
            "description": "The build-context tar.",
            "format": "binary",
            "type": "string"
          },
          "cpu_arch": {
            "description": "The CPU architecture: `amd64` or `arm64`. Omit it to use the region default.",
            "type": [
              "string",
              "null"
            ]
          },
          "dockerfile": {
            "description": "Path of the Dockerfile within the context. Defaults to `Dockerfile`.",
            "type": [
              "string",
              "null"
            ]
          },
          "idle_expiry_seconds": {
            "description": "The idle retention window in seconds for an anonymous image.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The project-unique image name. Omit it to create an anonymous image.",
            "example": "my-base-image",
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "description": "The target region. Omit it to use the project's default.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "context"
        ],
        "type": "object"
      },
      "CreateImageRequest": {
        "properties": {
          "cpu_arch": {
            "description": "The CPU architecture: `amd64` or `arm64`. Omit it to use the region default.",
            "example": "arm64",
            "type": [
              "string",
              "null"
            ]
          },
          "dockerfile": {
            "description": "An inline, self-contained Dockerfile body to build (no `COPY`/`ADD` of\nlocal files \u2014 use the `multipart/form-data` variant to upload a real\nbuild context). The API synthesizes the trivial single-file context for\nyou. Mutually exclusive with `source`.",
            "example": "FROM alpine:3.20\nRUN apk add --no-cache curl\n",
            "type": [
              "string",
              "null"
            ]
          },
          "idle_expiry_seconds": {
            "description": "The idle-retention window in seconds for an anonymous image: the image\nis deleted once this long has passed without a sandbox being created\nfrom it, and every create from the image restarts the clock. Allowed\nonly without `name`; a named image is permanent, and\n`idle_expiry_seconds` with `name` is a `400`. Omitted or `-1` uses the\nmaximum, 7 days by default; `1` up to that maximum sets the window;\n`0`, values below `-1`, and values above the maximum answer\n`400 IDLE_OUT_OF_RANGE`, whose body carries `max`.",
            "example": 86400,
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The project-unique image name. Omit it to create an anonymous image.",
            "example": "my-base-image",
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "description": "The target region. Omit it to use the project's default.",
            "type": [
              "string",
              "null"
            ]
          },
          "source": {
            "description": "A registry image or an existing project image. Mutually exclusive with\n`dockerfile`; exactly one source is required.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/PublicImageSource"
              }
            ]
          }
        },
        "type": "object"
      },
      "CreateInvitationRequest": {
        "properties": {
          "email": {
            "description": "The email address to invite.",
            "type": "string"
          },
          "roles": {
            "description": "Absent \u21d2 `[\"developer\"]`; an explicit empty array is a 400.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": [
              "array",
              "null"
            ]
          }
        },
        "required": [
          "email"
        ],
        "type": "object"
      },
      "CreateMacosSandboxRequest": {
        "additionalProperties": false,
        "description": "Settings for creating a macOS sandbox.",
        "properties": {
          "auto_renew": {
            "description": "With `reservation: \"new\"` only: whether the bought reservation renews itself\nwhile a sandbox is active on it. Defaults to the organization's\nauto-reserve setting.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "create_timeout_seconds": {
            "description": "Seconds the sandbox may take to reach `running`. 3600 by default; a\ncreate from a saved sandbox disk defaults to 3600 plus the time to\ndownload that disk at the platform's minimum restore rate, at most\n86400. `-1` uses the maximum. Past it the sandbox is deleted. The\nbudget runs while the sandbox waits for a Mac, including one whose\nreservation this create bought: that reservation stays bought and\ncharged when the sandbox is deleted.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "disk_mib": {
            "description": "Disk for this sandbox in MiB, at least 81920: the whole guest disk, macOS included. Omitted or null uses half of the claiming Mac model's sandbox disk room, rounded down to a whole GiB, on a split reservation, or all of it on a whole reservation. The first successful claim fixes the size; request and limit are equal. A stopped sandbox keeps holding its disk on its Mac.",
            "format": "int32",
            "minimum": 81920,
            "type": [
              "integer",
              "null"
            ]
          },
          "env": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Sandbox-specific environment variables. Names must satisfy the shared\nguest-env rules.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "idempotency_key": {
            "description": "Idempotency key; the `Idempotency-Key` header wins if both are set.\nIt also covers a reservation the create buys: a retry never buys two.",
            "type": [
              "string",
              "null"
            ]
          },
          "image": {
            "description": "The macOS image, by name or `img_\u2026` id: a platform macOS base image,\ntypically `base-macos`, or a macOS image of this project in the\nrequest's region, such as a saved sandbox disk. The Mac clones a base\nfrom the copy it holds; a saved disk's changed blocks are downloaded\nfirst, so its create takes longer.",
            "example": "base-macos",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "User-defined labels. They are stored by the platform and are not\nvisible inside the sandbox.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "lifecycle_policy": {
            "description": "Sandbox lifecycle policy (idle stop/delete budgets and a wall-clock\ndeadline). The `pause` action and wake-on-request are linux-only; use\n`POST /sandboxes/{id}/pause` to pause a macOS sandbox. The project's\nlifecycle defaults do not apply to a macOS sandbox: a field that this\nrequest does not set gets the platform default.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UpdateSandboxLifecyclePolicyRequest"
              }
            ]
          },
          "memory_mib": {
            "description": "Memory for this sandbox in MiB, at least 4096. Omitted or null uses half of the claiming Mac's memory, rounded down, on a split reservation, or all of it on a whole reservation. The first successful claim fixes the size; request and limit are equal.",
            "format": "int32",
            "minimum": 4096,
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "Optional sandbox name (defaults to `sandbox-<short-id>`).",
            "type": [
              "string",
              "null"
            ]
          },
          "network_policy": {
            "description": "Egress policy, as on the Linux create: enforced from the sandbox's\nfirst boot. Change it later with `PUT /sandboxes/{id}/network-policy`.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SetSandboxNetworkPolicyRequest"
              }
            ]
          },
          "persistent": {
            "description": "Keep the sandbox's disk on its Mac across stop/start and keep memory across pause/resume. Start and resume use the same Mac. Delete erases the disk. At reservation end, the disk is saved as an anonymous image before the Mac is erased. If the Mac is lost, the disk is saved as an image when the Mac comes back, if it comes back within 7 days. If a Mac restarts before it is declared lost, a running persistent sandbox comes back stopped with its disk, a running ephemeral sandbox is lost, and stopped and paused sandboxes are unchanged. Create a sandbox from an image to continue on another Mac.",
            "type": "boolean"
          },
          "ports": {
            "description": "Ports exposed when the sandbox starts.",
            "items": {
              "$ref": "#/components/schemas/PortMapping"
            },
            "type": "array"
          },
          "region": {
            "description": "The target region. When omitted, uses the named reservation's region.\nWith a declared set of served regions, the API's only active Mac region\noverrides configured defaults. With several active Mac regions in that set,\nuses the project or organization default if it is one of them; otherwise\na region is required (`400 BAD_REQUEST`). Without such a set or any active\nMac region in it, uses the project, organization, then platform default.",
            "type": [
              "string",
              "null"
            ]
          },
          "reservation": {
            "description": "Omitted uses any fitting Mac reservation of this organization in the region. \"new\" buys the cheapest available model that fits. A reservation ID targets that reservation at claim. Acceptance does not reserve room; the sandbox can wait for room or time out.",
            "example": "new",
            "type": [
              "string",
              "null"
            ]
          },
          "secrets": {
            "description": "Names of project secrets to attach, as on the Linux create. The\nsandbox sees each as a placeholder; the value is swapped in on requests\nto the secret's allowed hosts.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "vcpus": {
            "description": "Whole vCPUs for this sandbox, at least 4. Omitted or null uses half of the claiming Mac's vCPUs, rounded down, on a split reservation, or all of them on a whole reservation. The first successful claim fixes the size; request and limit are equal.",
            "format": "int32",
            "minimum": 4,
            "type": [
              "integer",
              "null"
            ]
          },
          "volumes": {
            "description": "Disk volumes to attach, as on Linux: at most 8, each read-write. A\nsandbox with volumes cannot be persistent, and a bucket volume answers\n400.",
            "items": {
              "$ref": "#/components/schemas/VolumeMount"
            },
            "type": "array"
          },
          "wait_seconds": {
            "description": "Seconds to hold the response until the sandbox is `running`, capped\nat 3 by default. Absent holds for the cap, `0` answers at once, and a\nnegative value answers 400. The response carries the sandbox's status\nwhen the hold ends: `running` if it got there in time, as a warm Mac's\nclaim usually does, otherwise its status then, such as `pending`.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "image"
        ],
        "type": "object"
      },
      "CreateOrganizationApiKeyRequest": {
        "properties": {
          "expires_at": {
            "description": "Optional expiry; must be in the future. Absent means it never expires.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The key's display name.",
            "type": "string"
          },
          "org_permissions": {
            "description": "The organization permissions the key holds. Required, with at least\none entry: a key never gets a default or implied permission set. A\nproject permission is not a valid value here.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "name",
          "org_permissions"
        ],
        "type": "object"
      },
      "CreateOrganizationRequest": {
        "properties": {
          "name": {
            "description": "The organization name.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreateProjectApiKeyRequest": {
        "properties": {
          "expires_at": {
            "description": "Optional expiry; must be in the future. Absent means it never expires.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The key's display name.",
            "type": [
              "string",
              "null"
            ]
          },
          "project_permissions": {
            "description": "The project permissions the key holds. Required, with at least one\nentry: a key never gets a default or implied permission set.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "service_account_id": {
            "description": "The service account that owns this key, or `null` for the current user.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "sync_to_v1": {
            "description": "Whether the v1 \u2194 v2 key sync may copy this key to Daytona v1. Absent\n= `true`. Only a key a person mints in the organization's `default`\nproject is ever copied; elsewhere the field is ignored and the\nresponse says `false`. A v1 copy can read every sandbox, snapshot and\nregistry of the organization on v1, which has no read permissions;\n`false` keeps the key on this platform only. Change it later by updating\nthe API key.",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "required": [
          "project_permissions"
        ],
        "type": "object"
      },
      "CreateProjectRequest": {
        "properties": {
          "name": {
            "description": "The project name.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreateReservationRequest": {
        "additionalProperties": false,
        "description": "POST /reservations body.",
        "properties": {
          "auto_renew": {
            "description": "Renew the reservation near each period end while a macOS sandbox is active\non it. Defaults to the organization's auto-reserve setting.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "layout": {
            "description": "How the reserved Mac is divided: `split` runs up to two sandboxes, `whole` runs one. Omitted uses the model's default layout: `split` where the model offers it, otherwise `whole`. Fixed at purchase.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MacLayout"
              }
            ]
          },
          "model": {
            "description": "Mac model slug from GET /mac-models. Omitted, null, or blank uses the region's default model, initially m4-10c-16g. If that model is unavailable, the purchase fails; it never upgrades to another model.",
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "description": "Region slug whose Macs to reserve.",
            "example": "local",
            "type": "string"
          }
        },
        "required": [
          "region"
        ],
        "type": "object"
      },
      "CreateReservationsBulkRequest": {
        "additionalProperties": false,
        "description": "POST /reservations/bulk body.",
        "properties": {
          "auto_renew": {
            "description": "Renew each reservation near each period end while a macOS sandbox is\nactive on it. Defaults to the organization's auto-reserve setting.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "count": {
            "description": "How many Macs to reserve, 1 to 100.",
            "format": "int32",
            "type": "integer"
          },
          "layout": {
            "description": "How each reserved Mac is divided: `split` runs up to two sandboxes on each Mac, `whole` runs one. Omitted uses the model's default layout: `split` where the model offers it, otherwise `whole`. Fixed at purchase.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MacLayout"
              }
            ]
          },
          "min_count": {
            "description": "The fewest Macs to accept, 1 to `count`. Omitted means `count`: all or nothing. With fewer than `count` Macs free but at least `min_count`, the request reserves as many as are free.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "model": {
            "description": "Mac model slug from GET /mac-models. Omitted, null, or blank uses the region's default model, initially m4-10c-16g. If that model is unavailable, the purchase fails; it never upgrades to another model.",
            "type": [
              "string",
              "null"
            ]
          },
          "region": {
            "description": "Region slug whose Macs to reserve.",
            "example": "local",
            "type": "string"
          }
        },
        "required": [
          "region",
          "count"
        ],
        "type": "object"
      },
      "CreateSandboxFromSnapshotRequest": {
        "additionalProperties": false,
        "description": "Settings for creating a Linux sandbox from a snapshot.",
        "properties": {
          "create_timeout_seconds": {
            "description": "Seconds allowed for the sandbox to reach `running`. Defaults to 3600; `-1` uses the maximum.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "idempotency_key": {
            "description": "Key used to replay the same create operation safely.",
            "type": [
              "string",
              "null"
            ]
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "User-defined labels.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "lifecycle_policy": {
            "description": "Automatic timeout and idle-expiry behavior.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UpdateSandboxLifecyclePolicyRequest"
              }
            ]
          },
          "name": {
            "description": "Sandbox name. A name is generated when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "ports": {
            "description": "Ports exposed when the sandbox starts.",
            "items": {
              "$ref": "#/components/schemas/PortMapping"
            },
            "type": "array"
          },
          "region": {
            "description": "Target region. The snapshot region is used when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "snapshot": {
            "description": "Snapshot name or `snap_\u2026` id. Required.",
            "type": "string"
          },
          "wait_seconds": {
            "description": "Seconds to wait before returning. Defaults to 3; `0` returns immediately.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "snapshot"
        ],
        "type": "object"
      },
      "CreateSandboxImageRequest": {
        "properties": {
          "idle_expiry_seconds": {
            "description": "The idle-retention window in seconds for an anonymous image: the image\nis deleted once this long has passed without a sandbox being created\nfrom it, and every create from the image restarts the clock. Allowed\nonly without `name`; a named image is permanent, and\n`idle_expiry_seconds` with `name` is a `400`. The same rule as\n`POST /images`: omitted or `-1` uses the maximum, 7 days by default;\n`1` up to that maximum sets the window; `0`, values below `-1`, and\nvalues above the maximum answer `400 IDLE_OUT_OF_RANGE`, whose body\ncarries `max`. Promote the image (`PATCH /images/{id}`) to keep it.",
            "example": 86400,
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The project-unique image name, or `null` for an anonymous image.",
            "example": "my-image",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "CreateSandboxRequest": {
        "additionalProperties": false,
        "description": "Settings for creating a Linux sandbox from an image.",
        "properties": {
          "cpu": {
            "description": "Reserved CPU cores.",
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "cpu_arch": {
            "description": "The CPU architecture the sandbox requires. Omit it to use the region\ndefault \u2014 unless the image was imported from Daytona v1 and\n`cpu_type` is omitted too, in which case the architecture that image\nwas imported for is used.",
            "type": [
              "string",
              "null"
            ]
          },
          "cpu_type": {
            "description": "Preferred CPU type.",
            "type": [
              "string",
              "null"
            ]
          },
          "create_timeout_seconds": {
            "description": "Seconds allowed for the sandbox to reach `running`. Defaults to 3600; `-1` uses the maximum.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "disk_max_mib": {
            "description": "Per-sandbox disk limit in MiB: the writable layer's size. Same semantics\nas `vcpus_max`; a disk-snapshot restore requires it equal to the\ncaptured disk, or absent.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "disk_mib": {
            "description": "Writable disk size in MiB.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "env": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Sandbox-specific environment variables (real values, verbatim). Names\nmust be POSIX-ish identifiers (`[A-Za-z_][A-Za-z0-9_]*`). Names the\nplatform reserves for its own use, including every `DAYTONA_*` name\nother than `DAYTONA_SANDBOX_TOKEN`, `DAYTONA_API_URL`,\n`DAYTONA_OTEL_ENDPOINT` and `DAYTONA_DOCKER_START`, fail the create\nwith 400 naming the key.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "idempotency_key": {
            "description": "Key used to replay the same create operation safely.",
            "type": [
              "string",
              "null"
            ]
          },
          "image": {
            "description": "Image name or `img_\u2026` id. Omit to boot the platform default image.",
            "type": [
              "string",
              "null"
            ]
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "User-defined labels.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "lifecycle_policy": {
            "description": "Automatic timeout and idle-expiry behavior.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UpdateSandboxLifecyclePolicyRequest"
              }
            ]
          },
          "memory_max_mib": {
            "description": "Per-sandbox memory limit in MiB; same semantics as `vcpus_max`.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "memory_mib": {
            "description": "Reserved memory in MiB.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "Sandbox name. A name is generated when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "network_policy": {
            "description": "Outbound network rules applied to the sandbox.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SetSandboxNetworkPolicyRequest"
              }
            ]
          },
          "persistent": {
            "description": "Whether writable state persists across stops. Defaults to `false`.",
            "type": "boolean"
          },
          "ports": {
            "description": "Ports exposed when the sandbox starts.",
            "items": {
              "$ref": "#/components/schemas/PortMapping"
            },
            "type": "array"
          },
          "region": {
            "description": "Target region. The project default is used when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "secrets": {
            "description": "Secret names made available to the sandbox.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "spot": {
            "description": "Whether to use discounted interruptible capacity. Defaults to `false`.",
            "type": "boolean"
          },
          "user": {
            "description": "Default operating-system user.",
            "type": [
              "string",
              "null"
            ]
          },
          "vcpus": {
            "description": "Reserved virtual CPU count.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "vcpus_max": {
            "description": "Maximum virtual CPU count.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "volumes": {
            "description": "Volumes mounted in the sandbox.",
            "items": {
              "$ref": "#/components/schemas/VolumeMount"
            },
            "type": "array"
          },
          "wait_seconds": {
            "description": "Seconds to wait before returning. Defaults to 3; `0` returns immediately.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "CreateSandboxSignedPreviewUrlRequest": {
        "properties": {
          "expires_in_seconds": {
            "description": "Link lifetime in seconds. Defaults to 60. A value below 1, or above\nthe deployment's ceiling \u2014 7 days by default \u2014 answers 400.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "CreateSandboxSnapshotRequest": {
        "additionalProperties": false,
        "properties": {
          "name": {
            "description": "The project-unique snapshot name.",
            "example": "my-snapshot",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreateServiceAccountRequest": {
        "properties": {
          "description": {
            "description": "The service account purpose, or `null` when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The service account name.",
            "type": "string"
          },
          "roles": {
            "description": "The role identifiers to assign.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "name",
          "roles"
        ],
        "type": "object"
      },
      "CreateSsoSetupLinkRequest": {
        "additionalProperties": false,
        "description": "Settings for creating a single sign-on setup link.",
        "properties": {
          "intent": {
            "$ref": "#/components/schemas/PortalIntent",
            "description": "The setup area to open: `sso` for single sign-on or `dsync` for directory sync."
          }
        },
        "required": [
          "intent"
        ],
        "type": "object"
      },
      "CreateTopUpSessionRequest": {
        "properties": {
          "amount_cents": {
            "description": "The amount to add in cents.",
            "format": "int64",
            "maximum": 99999999,
            "minimum": 1000,
            "type": "integer"
          }
        },
        "required": [
          "amount_cents"
        ],
        "type": "object"
      },
      "CreateV1SandboxImportRequest": {
        "additionalProperties": false,
        "description": "Settings for creating a sandbox import from v1.",
        "properties": {
          "force": {
            "description": "Whether to create another import when a live import already exists; default `false`.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "CreateVolumeRequest": {
        "additionalProperties": false,
        "properties": {
          "bucket": {
            "description": "Settings for an existing bucket. Omit them to create a managed bucket.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/BucketOptions"
              }
            ]
          },
          "name": {
            "description": "The project-unique volume name.",
            "example": "training-data",
            "type": "string"
          },
          "size_gib": {
            "description": "Scratch size in GiB. Defaults to 100. Disk volumes only \u2014 supplying\nit on a bucket volume is a 400.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "type": {
            "description": "The volume type. Defaults to `disk`.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/VolumeType"
              }
            ]
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreateWindowsSandboxRequest": {
        "additionalProperties": false,
        "description": "Settings for creating a Windows sandbox from an image.",
        "properties": {
          "cpu": {
            "description": "Reserved CPU cores.",
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "create_timeout_seconds": {
            "description": "Seconds allowed for the sandbox to reach `running`. Defaults to 3600; `-1` uses the maximum.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "disk_max_mib": {
            "description": "Per-sandbox disk limit in MiB: the writable layer's size. Same semantics\nas `vcpus_max`; a disk-snapshot restore requires it equal to the\ncaptured disk, or absent.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "disk_mib": {
            "description": "Writable disk size in MiB.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "env": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Environment variables defined when the sandbox is created.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "idempotency_key": {
            "description": "Key used to replay the same create operation safely.",
            "type": [
              "string",
              "null"
            ]
          },
          "image": {
            "description": "Image ID or name.",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "User-defined labels.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "lifecycle_policy": {
            "description": "Automatic timeout and idle-expiry behavior.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UpdateSandboxLifecyclePolicyRequest"
              }
            ]
          },
          "memory_max_mib": {
            "description": "Per-sandbox memory limit in MiB; same semantics as `vcpus_max`.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "memory_mib": {
            "description": "Reserved memory in MiB.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "Sandbox name. A name is generated when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "persistent": {
            "description": "Whether writable state persists across stops. Defaults to `false`.",
            "type": "boolean"
          },
          "ports": {
            "description": "Ports exposed when the sandbox starts.",
            "items": {
              "$ref": "#/components/schemas/PortMapping"
            },
            "type": "array"
          },
          "region": {
            "description": "Target region. The project default is used when omitted.",
            "type": [
              "string",
              "null"
            ]
          },
          "secrets": {
            "description": "Secret names made available to the sandbox.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "spot": {
            "description": "Whether to use discounted interruptible capacity. Defaults to `false`.",
            "type": "boolean"
          },
          "vcpus": {
            "description": "Reserved virtual CPU count.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "vcpus_max": {
            "description": "Maximum virtual CPU count.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "wait_seconds": {
            "description": "Seconds to wait before returning. Defaults to 3; `0` returns immediately.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "image"
        ],
        "type": "object"
      },
      "DeclineInvitationRequest": {
        "properties": {
          "token": {
            "description": "The invitation token.",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "EffectiveGpuLifecyclePolicies": {
        "properties": {
          "ephemeral": {
            "$ref": "#/components/schemas/EffectiveLifecyclePolicy",
            "description": "The effective ephemeral policy."
          }
        },
        "required": [
          "ephemeral"
        ],
        "type": "object"
      },
      "EffectiveLifecyclePolicies": {
        "properties": {
          "gpu": {
            "$ref": "#/components/schemas/EffectiveGpuLifecyclePolicies",
            "description": "Effective GPU sandbox policies."
          },
          "linux": {
            "$ref": "#/components/schemas/EffectiveLinuxLifecyclePolicies",
            "description": "Effective Linux sandbox policies."
          },
          "macos": {
            "$ref": "#/components/schemas/EffectiveMacosLifecyclePolicies",
            "description": "A macOS create does not take the project's lifecycle defaults, so this\nblock always shows the platform defaults."
          },
          "windows": {
            "$ref": "#/components/schemas/EffectiveWindowsLifecyclePolicies",
            "description": "Effective Windows sandbox policies."
          }
        },
        "required": [
          "linux",
          "windows",
          "gpu",
          "macos"
        ],
        "type": "object"
      },
      "EffectiveLifecyclePolicy": {
        "properties": {
          "idle_timeout_seconds": {
            "description": "The effective idle timeout in seconds.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "on_idle_timeout": {
            "description": "The effective action at the idle timeout.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "on_timeout": {
            "description": "The effective action at the maximum lifetime.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "timeout_capped": {
            "description": "Whether a higher requested timeout was capped.",
            "type": "boolean"
          },
          "timeout_seconds": {
            "description": "The effective maximum lifetime in seconds.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "timeout_source": {
            "$ref": "#/components/schemas/TimeoutSource",
            "description": "Where the effective maximum lifetime came from."
          },
          "wake_on_request": {
            "description": "Whether an incoming request may wake a stopped sandbox.",
            "type": "boolean"
          }
        },
        "required": [
          "timeout_seconds",
          "on_timeout",
          "timeout_source",
          "timeout_capped",
          "idle_timeout_seconds",
          "on_idle_timeout",
          "wake_on_request"
        ],
        "type": "object"
      },
      "EffectiveLinuxLifecyclePolicies": {
        "properties": {
          "ephemeral": {
            "$ref": "#/components/schemas/EffectiveLifecyclePolicy",
            "description": "The effective ephemeral policy."
          },
          "persistent": {
            "$ref": "#/components/schemas/EffectiveLifecyclePolicy",
            "description": "The effective persistent policy."
          }
        },
        "required": [
          "ephemeral",
          "persistent"
        ],
        "type": "object"
      },
      "EffectiveMacosLifecyclePolicies": {
        "properties": {
          "ephemeral": {
            "$ref": "#/components/schemas/EffectiveLifecyclePolicy",
            "description": "The effective ephemeral policy."
          },
          "persistent": {
            "$ref": "#/components/schemas/EffectiveLifecyclePolicy",
            "description": "The effective persistent policy."
          }
        },
        "required": [
          "ephemeral",
          "persistent"
        ],
        "type": "object"
      },
      "EffectiveWindowsLifecyclePolicies": {
        "properties": {
          "ephemeral": {
            "$ref": "#/components/schemas/EffectiveLifecyclePolicy",
            "description": "The effective ephemeral policy."
          },
          "persistent": {
            "$ref": "#/components/schemas/EffectiveLifecyclePolicy",
            "description": "The effective persistent policy."
          }
        },
        "required": [
          "ephemeral",
          "persistent"
        ],
        "type": "object"
      },
      "Entitlements": {
        "description": "The entitlements available to an organization.",
        "properties": {
          "entitlements": {
            "additionalProperties": {
              "type": "boolean"
            },
            "description": "Every entitlement key, `true` when it is available to the\norganization.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "entitlements"
        ],
        "type": "object"
      },
      "EphemeralLifecycleDefaults": {
        "properties": {
          "idle_timeout_seconds": {
            "description": "Idle time before cleanup in seconds, or null to disable it.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "timeout_seconds": {
            "description": "Maximum sandbox lifetime in seconds, or null to inherit it.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "timeout_seconds",
          "idle_timeout_seconds"
        ],
        "type": "object"
      },
      "ErrorBody": {
        "description": "The JSON error envelope every non-2xx response carries.",
        "properties": {
          "code": {
            "$ref": "#/components/schemas/ApiErrorCode",
            "description": "Stable machine-readable error code."
          },
          "current": {
            "description": "Current usage measured for the limit.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "entitlement": {
            "description": "Organization capability required by the operation.",
            "type": [
              "string",
              "null"
            ]
          },
          "feature": {
            "description": "Product capability that is not enabled.",
            "type": [
              "string",
              "null"
            ]
          },
          "limit": {
            "description": "Name of the limit that was reached.",
            "type": [
              "string",
              "null"
            ]
          },
          "max": {
            "description": "Maximum allowed value or usage cap.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "message": {
            "description": "Human-readable explanation of the error.",
            "example": "memory_mib must be at least 128",
            "type": "string"
          },
          "replacement": {
            "description": "Route that replaces a retired route.",
            "type": [
              "string",
              "null"
            ]
          },
          "retry_after_seconds": {
            "description": "Suggested number of seconds to wait before retrying.",
            "format": "int64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "source": {
            "description": "Service that produced the error.",
            "example": "DAYTONA_API",
            "type": "string"
          },
          "trace_id": {
            "description": "Trace ID to quote when contacting support.",
            "example": "0af7651916cd43dd8448eb211c80319c",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "code",
          "message",
          "source"
        ],
        "type": "object"
      },
      "ExchangeTokenRequest": {
        "description": "A token exchange request accepted as JSON or form data.",
        "properties": {
          "audience": {
            "description": "Target audience. Omit it, or send `daytona:api`, for a project-scoped token;\nsend `daytona:analytics` for an organization-scoped token. Any other\nvalue is refused; the parameter may not be repeated.",
            "example": "daytona:analytics",
            "type": [
              "string",
              "null"
            ]
          },
          "grant_type": {
            "description": "Must be `urn:ietf:params:oauth:grant-type:token-exchange`.",
            "example": "urn:ietf:params:oauth:grant-type:token-exchange",
            "type": "string"
          },
          "org_id": {
            "description": "The organization for the analytics token. Required when\n`audience` is `daytona:analytics`; omitted (or `null`) otherwise.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "project_id": {
            "description": "The project for the API token. Required when `audience` is absent or `daytona:api`;\nomitted (or `null`) when `audience` is `daytona:analytics`.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "resource": {
            "description": "RFC 8693 target resource. Explicit down-scoping is not supported; omit\nthis parameter.",
            "type": [
              "string",
              "null"
            ]
          },
          "scope": {
            "description": "RFC 8693 scope request. Explicit down-scoping is not supported; omit\nthis parameter.",
            "type": [
              "string",
              "null"
            ]
          },
          "subject_token": {
            "description": "The sign-in token. It must match the bearer token on the request.",
            "type": "string"
          },
          "subject_token_type": {
            "description": "Subject token type.",
            "example": "urn:ietf:params:oauth:token-type:access_token",
            "type": "string"
          }
        },
        "required": [
          "grant_type",
          "subject_token",
          "subject_token_type"
        ],
        "type": "object"
      },
      "ExternalBucketOrigin": {
        "enum": [
          "external"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "ForkSandboxOperation": {
        "description": "The result of forking a sandbox.",
        "properties": {
          "forked_from": {
            "description": "The ID of the source sandbox.",
            "type": "string"
          },
          "id": {
            "description": "The ID of the new fork.",
            "type": "string"
          },
          "status": {
            "description": "The fork's status at acceptance, always `pending`. A memory fork then\nlands `paused` and a disk-only fork lands `stopped`; a fork of a\n`running` source is brought up automatically.",
            "example": "pending",
            "type": "string"
          },
          "toolbox_proxy_url": {
            "description": "The fork's own region's toolbox proxy base URL (a fork lands in its\nsource's region), the same value `GET /sandboxes/{id}` carries.",
            "type": "string"
          }
        },
        "required": [
          "forked_from",
          "status",
          "toolbox_proxy_url",
          "id"
        ],
        "type": "object"
      },
      "ForkSandboxRequest": {
        "properties": {
          "memory": {
            "description": "Fork the memory too (default `true`): the fork continues the source's\nrunning processes. `false` clones only the disk; a running source's\nfilesystem is frozen briefly, the sandbox is never paused, and the fork\nboots fresh. A `stopped` source is always forked disk-only. A macOS\nfork copies the disk only: omitted means a disk fork, and `true`\nanswers `409 NOT_SUPPORTED_FOR_CLASS`.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "name": {
            "description": "Optional name for the fork (defaults to \"<source>-fork\").",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "Health": {
        "description": "API health and build identity.",
        "properties": {
          "build_sha": {
            "description": "Full commit SHA this binary was built from; `unknown` when unstamped.",
            "example": "0123456789abcdef0123456789abcdef01234567",
            "type": "string"
          },
          "built_at": {
            "description": "Build time. `null` for an unstamped build.",
            "example": "2026-10-02T14:03:11Z",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Health status.",
            "example": "ok",
            "type": "string"
          },
          "version": {
            "description": "Platform version this binary was built as (the latest published\nrelease); `0.0.0-dev` for an unstamped build.",
            "example": "2.0.0-alpha.1",
            "type": "string"
          }
        },
        "required": [
          "status",
          "version",
          "build_sha"
        ],
        "type": "object"
      },
      "Image": {
        "properties": {
          "anonymous": {
            "description": "Whether the image has no permanent name.",
            "type": "boolean"
          },
          "available_in": {
            "description": "Every region where the image is available.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "bytes": {
            "description": "The image size in bytes, or null until the build completes.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "class": {
            "description": "The sandbox class supported by the image.",
            "type": "string"
          },
          "created_at": {
            "description": "When the image was created.",
            "format": "date-time",
            "type": "string"
          },
          "default": {
            "description": "Whether this is the image a sandbox create without `image` boots.",
            "type": "boolean"
          },
          "deprecated": {
            "description": "Whether this platform image is deprecated. A deprecated image is not\nlisted and cannot be used by name, but its ID still resolves.",
            "type": "boolean"
          },
          "disk_mib": {
            "description": "The disk size in MiB that a macOS sandbox created from this image gets\nwhen the create omits `disk_mib`. Set for saved macOS sandbox disks;\nnull for every other image.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "error": {
            "description": "Build failure reason; null unless `status` is `failed`.",
            "type": [
              "string",
              "null"
            ]
          },
          "expires_at": {
            "description": "When an anonymous image expires, or null for a permanent image.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "format_outdated": {
            "description": "`format_version` is below the current format. Such an image converts\non its first Linux sandbox create (which waits `queued` meanwhile) or\nahead of time with `POST /images/{id}/convert`; other operations refuse\nit with `IMAGE_FORMAT_OUTDATED` until then.",
            "type": "boolean"
          },
          "format_version": {
            "description": "The image's format generation: `1` marks an image imported from\nDaytona v1, and `2` the platform's current artifact. `status` is the\npipeline state of the artifact at this format.",
            "example": 2,
            "format": "int32",
            "type": "integer"
          },
          "id": {
            "description": "The image ID.",
            "example": "img_7fJk2mQpXv9dLc3RtY",
            "type": "string"
          },
          "imported_from": {
            "$ref": "#/components/schemas/ImportedFrom",
            "description": "The source platform and resource ID when this image was imported."
          },
          "layer_count": {
            "description": "The number of filesystem layers, or null until the build completes.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The image name, or null for an anonymous image.",
            "type": [
              "string",
              "null"
            ]
          },
          "origin": {
            "description": "How the image was created.",
            "type": "string"
          },
          "platform": {
            "description": "Whether the platform publishes this image for every project. A\nproject's own image with the same name takes precedence for that\nproject, and platform images cannot be renamed, converted, or deleted.",
            "type": "boolean"
          },
          "region": {
            "description": "The home region.",
            "type": "string"
          },
          "retention": {
            "$ref": "#/components/schemas/ImageRetention",
            "description": "The retention policy: `permanent` or `idle`."
          },
          "source": {
            "description": "The image source.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ImageSourceValue"
              }
            ]
          },
          "status": {
            "description": "The build status.",
            "example": "ready",
            "type": "string"
          },
          "updated_at": {
            "description": "When the image was last updated.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "anonymous",
          "class",
          "created_at",
          "updated_at",
          "id",
          "origin",
          "region",
          "retention",
          "status",
          "format_version",
          "format_outdated",
          "available_in",
          "platform",
          "default",
          "deprecated"
        ],
        "type": "object"
      },
      "ImageBuildLimits": {
        "properties": {
          "concurrent": {
            "$ref": "#/components/schemas/UsageLimit",
            "description": "The concurrent image-build limit and current usage."
          }
        },
        "required": [
          "concurrent"
        ],
        "type": "object"
      },
      "ImageConversion": {
        "description": "An image format conversion result.",
        "properties": {
          "converted": {
            "description": "`true` when this call started or joined a conversion; `false` when the\nimage was already at the current format and nothing was enqueued.",
            "type": "boolean"
          },
          "from_format": {
            "description": "The image's format before the call, as `Image.format_version`\nreported it.",
            "example": 1,
            "format": "int32",
            "type": "integer"
          },
          "id": {
            "description": "The image ID.",
            "example": "img_7fJk2mQpXv9dLc3RtY",
            "type": "string"
          },
          "status": {
            "description": "The image's status after the call: `pending`/`building` while it\nconverts, or its own status when it was already at the current format.",
            "example": "pending",
            "type": "string"
          },
          "to_format": {
            "description": "The format the conversion targets: the current one.",
            "example": 2,
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "from_format",
          "to_format",
          "status",
          "converted"
        ],
        "type": "object"
      },
      "ImageListItem": {
        "description": "An image with its row cursor.",
        "properties": {
          "anonymous": {
            "description": "Whether the image has no permanent name.",
            "type": "boolean"
          },
          "available_in": {
            "description": "Every region where the image is available.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "bytes": {
            "description": "The image size in bytes, or null until the build completes.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "class": {
            "description": "The sandbox class supported by the image.",
            "type": "string"
          },
          "created_at": {
            "description": "When the image was created.",
            "format": "date-time",
            "type": "string"
          },
          "cursor": {
            "description": "Opaque continuation token for the next image in the list.",
            "type": "string"
          },
          "default": {
            "description": "Whether this is the image a sandbox create without `image` boots.",
            "type": "boolean"
          },
          "deprecated": {
            "description": "Whether this platform image is deprecated. A deprecated image is not\nlisted and cannot be used by name, but its ID still resolves.",
            "type": "boolean"
          },
          "disk_mib": {
            "description": "The disk size in MiB that a macOS sandbox created from this image gets\nwhen the create omits `disk_mib`. Set for saved macOS sandbox disks;\nnull for every other image.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "error": {
            "description": "Build failure reason; null unless `status` is `failed`.",
            "type": [
              "string",
              "null"
            ]
          },
          "expires_at": {
            "description": "When an anonymous image expires, or null for a permanent image.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "format_outdated": {
            "description": "`format_version` is below the current format. Such an image converts\non its first Linux sandbox create (which waits `queued` meanwhile) or\nahead of time with `POST /images/{id}/convert`; other operations refuse\nit with `IMAGE_FORMAT_OUTDATED` until then.",
            "type": "boolean"
          },
          "format_version": {
            "description": "The image's format generation: `1` marks an image imported from\nDaytona v1, and `2` the platform's current artifact. `status` is the\npipeline state of the artifact at this format.",
            "example": 2,
            "format": "int32",
            "type": "integer"
          },
          "id": {
            "description": "The image ID.",
            "example": "img_7fJk2mQpXv9dLc3RtY",
            "type": "string"
          },
          "imported_from": {
            "$ref": "#/components/schemas/ImportedFrom",
            "description": "The source platform and resource ID when this image was imported."
          },
          "layer_count": {
            "description": "The number of filesystem layers, or null until the build completes.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The image name, or null for an anonymous image.",
            "type": [
              "string",
              "null"
            ]
          },
          "origin": {
            "description": "How the image was created.",
            "type": "string"
          },
          "platform": {
            "description": "Whether the platform publishes this image for every project. A\nproject's own image with the same name takes precedence for that\nproject, and platform images cannot be renamed, converted, or deleted.",
            "type": "boolean"
          },
          "region": {
            "description": "The home region.",
            "type": "string"
          },
          "retention": {
            "$ref": "#/components/schemas/ImageRetention",
            "description": "The retention policy: `permanent` or `idle`."
          },
          "source": {
            "description": "The image source.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ImageSourceValue"
              }
            ]
          },
          "status": {
            "description": "The build status.",
            "example": "ready",
            "type": "string"
          },
          "updated_at": {
            "description": "When the image was last updated.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "anonymous",
          "class",
          "created_at",
          "updated_at",
          "id",
          "origin",
          "region",
          "retention",
          "status",
          "format_version",
          "format_outdated",
          "available_in",
          "platform",
          "default",
          "deprecated",
          "cursor"
        ],
        "type": "object"
      },
      "ImagePage": {
        "description": "Page of images (`GET /images`).",
        "properties": {
          "images": {
            "description": "The images in this page.",
            "items": {
              "$ref": "#/components/schemas/ImageListItem"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "Opaque keyset token for the next page; null on the last page.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "images"
        ],
        "type": "object"
      },
      "ImagePlatformFilter": {
        "enum": [
          "true",
          "false",
          "any"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "ImageReference": {
        "description": "Image used to create a sandbox.",
        "properties": {
          "id": {
            "description": "The image ID.",
            "type": "string"
          },
          "name": {
            "description": "The image name, when one is assigned.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "ImageRetention": {
        "enum": [
          "permanent",
          "idle"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "ImageSourceValue": {
        "oneOf": [
          {
            "description": "An OCI registry source.",
            "properties": {
              "ref": {
                "description": "The OCI image reference.",
                "type": "string"
              },
              "type": {
                "description": "The object type.",
                "enum": [
                  "registry"
                ],
                "type": "string",
                "x-daytona-exact-enum": "discriminator"
              }
            },
            "required": [
              "ref",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "A Dockerfile build source.",
            "properties": {
              "context_object": {
                "description": "The build context object identifier.",
                "type": "string"
              },
              "dockerfile": {
                "description": "The Dockerfile path within the build context.",
                "type": "string"
              },
              "type": {
                "description": "The object type.",
                "enum": [
                  "dockerfile"
                ],
                "type": "string",
                "x-daytona-exact-enum": "discriminator"
              }
            },
            "required": [
              "context_object",
              "dockerfile",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "Another image in the project.",
            "properties": {
              "name": {
                "description": "The image name.",
                "type": "string"
              },
              "type": {
                "description": "The object type.",
                "enum": [
                  "named"
                ],
                "type": "string",
                "x-daytona-exact-enum": "discriminator"
              }
            },
            "required": [
              "name",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "An immutable image manifest.",
            "properties": {
              "name": {
                "description": "The manifest name.",
                "type": "string"
              },
              "type": {
                "description": "The object type.",
                "enum": [
                  "manifest"
                ],
                "type": "string",
                "x-daytona-exact-enum": "discriminator"
              }
            },
            "required": [
              "name",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "ImportedFrom": {
        "description": "The source platform and resource ID of an imported resource.",
        "properties": {
          "id": {
            "description": "The resource's ID on the source platform.",
            "example": "0b6c5c43-7a52-4c1f-9a42-3f0c3d7f2a11",
            "type": "string"
          },
          "platform": {
            "description": "The source platform. `v1` is the only value.",
            "example": "v1",
            "type": "string"
          }
        },
        "required": [
          "platform",
          "id"
        ],
        "type": "object"
      },
      "Invitation": {
        "properties": {
          "created_at": {
            "description": "When the invitation was created or last re-issued.",
            "format": "date-time",
            "type": "string"
          },
          "declined_at": {
            "description": "When the invitation was declined, or `null`.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "description": "The invited email address.",
            "type": "string"
          },
          "expires_at": {
            "description": "When the invitation expires.",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "The invitation ID.",
            "format": "uuid",
            "type": "string"
          },
          "org_id": {
            "description": "The organization ID.",
            "format": "uuid",
            "type": "string"
          },
          "roles": {
            "description": "The role identifiers granted on acceptance.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "status": {
            "$ref": "#/components/schemas/InvitationStatus",
            "description": "The invitation status."
          }
        },
        "required": [
          "id",
          "org_id",
          "email",
          "roles",
          "status",
          "expires_at",
          "created_at"
        ],
        "type": "object"
      },
      "InvitationLookup": {
        "description": "What `POST /invitations/lookup` shows the token holder before they decide.",
        "properties": {
          "email": {
            "description": "The invited address \u2014 the one the email went to.",
            "type": "string"
          },
          "expires_at": {
            "description": "When the invitation expires.",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "The invitation ID.",
            "format": "uuid",
            "type": "string"
          },
          "invited_by": {
            "description": "The inviter's display name, else their email; `null` when the\ninviting account no longer exists.",
            "type": [
              "string",
              "null"
            ]
          },
          "org_id": {
            "description": "The organization ID.",
            "format": "uuid",
            "type": "string"
          },
          "org_name": {
            "description": "The organization name.",
            "type": "string"
          },
          "roles": {
            "description": "The role identifiers granted on acceptance.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "org_id",
          "org_name",
          "roles",
          "email",
          "expires_at"
        ],
        "type": "object"
      },
      "InvitationPage": {
        "properties": {
          "invitations": {
            "description": "The organization invitations.",
            "items": {
              "$ref": "#/components/schemas/Invitation"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "The cursor for the next page, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "invitations"
        ],
        "type": "object"
      },
      "InvitationStatus": {
        "enum": [
          "pending",
          "declined",
          "expired"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "InvitationWithToken": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Invitation"
          },
          {
            "properties": {
              "accept_url": {
                "description": "The invitation acceptance URL, or `null` when it was delivered by email.",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          }
        ]
      },
      "Invoice": {
        "properties": {
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "file_url": {
            "description": "The hosted invoice URL.",
            "type": "string"
          },
          "has_pdf": {
            "description": "Whether a downloadable PDF is available.",
            "type": "boolean"
          },
          "id": {
            "description": "The invoice ID.",
            "type": "string"
          },
          "issued_at": {
            "description": "When the invoice was issued.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "number": {
            "description": "The human-readable invoice number.",
            "type": "string"
          },
          "payment_due_at": {
            "description": "When payment is due.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "payment_overdue": {
            "description": "Whether payment is overdue.",
            "type": "boolean"
          },
          "payment_status": {
            "$ref": "#/components/schemas/InvoicePaymentStatus",
            "description": "The payment status."
          },
          "status": {
            "$ref": "#/components/schemas/InvoiceStatus",
            "description": "The invoice status."
          },
          "subtotal_amount_cents": {
            "description": "The subtotal in cents.",
            "format": "int64",
            "type": "integer"
          },
          "suspends_at": {
            "description": "When nonpayment will suspend the organization, or `null` when not scheduled.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "taxes_amount_cents": {
            "description": "The tax amount in cents.",
            "format": "int64",
            "type": "integer"
          },
          "total_amount_cents": {
            "description": "The total in cents.",
            "format": "int64",
            "type": "integer"
          },
          "total_due_amount_cents": {
            "description": "The unpaid amount in cents.",
            "format": "int64",
            "type": "integer"
          },
          "type": {
            "$ref": "#/components/schemas/InvoiceType",
            "description": "The invoice type."
          }
        },
        "required": [
          "id",
          "number",
          "payment_overdue",
          "type",
          "status",
          "payment_status",
          "currency",
          "subtotal_amount_cents",
          "total_amount_cents",
          "total_due_amount_cents",
          "taxes_amount_cents",
          "file_url",
          "has_pdf"
        ],
        "type": "object"
      },
      "InvoicePage": {
        "properties": {
          "invoices": {
            "description": "The invoices in this page.",
            "items": {
              "$ref": "#/components/schemas/Invoice"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "The next page cursor, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "invoices"
        ],
        "type": "object"
      },
      "InvoicePaymentStatus": {
        "enum": [
          "pending",
          "succeeded",
          "failed"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "InvoicePdf": {
        "description": "The invoice PDF.",
        "format": "binary",
        "type": "string"
      },
      "InvoiceStatus": {
        "enum": [
          "draft",
          "finalized",
          "voided"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "InvoiceType": {
        "enum": [
          "usage",
          "scheduled",
          "subscription",
          "one_off"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "LifecycleAction": {
        "description": "The action a lifecycle trigger fires: `stop`, `pause`, or `delete`.",
        "enum": [
          "stop",
          "pause",
          "delete"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "LifecyclePolicy": {
        "description": "The sandbox's lifecycle policy: the configured timeout and idle expiry,\nthe deadlines derived from them, and the activity clock.",
        "properties": {
          "archive_interval_seconds": {
            "description": "Seconds a stopped sandbox waits before it is archived; a sandbox with\nvolumes is not archived yet. Null when the sandbox has no interval (it\nis not Linux persistent).",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "idle_expiry_seconds": {
            "description": "Configured idle expiry in seconds.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "idle_timeout_at": {
            "description": "Absolute idle-expiry deadline, or null when idle expiry is not armed.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "last_activity_at": {
            "description": "When activity was last observed, or null when no activity is recorded.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "last_activity_source": {
            "description": "What last counted as activity: `lifecycle`, `api` (the explicit\n`POST .../reset-idle-timer`), `proxy.toolbox`, `proxy.preview`,\n`proxy.rdp`, `proxy.vnc`, `ssh`, `daemon.process` (a command started\nthrough the sandbox's process API was still running), or `proxy.other`\nfor sandbox traffic this API version does not label. The set is\nopen-ended: read a value you do not recognize as \"something used the\nsandbox\".",
            "example": "proxy.toolbox",
            "type": [
              "string",
              "null"
            ]
          },
          "on_idle_timeout": {
            "description": "The action run when the idle expiry elapses, or null when idle expiry\nis not armed.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "on_timeout": {
            "description": "The action run when the timeout expires, or null when no timeout is\narmed.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "timeout_at": {
            "description": "Absolute timeout deadline, or null when no timeout is armed.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "timeout_seconds": {
            "description": "Configured timeout in seconds.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "wake_on_request": {
            "description": "Whether incoming traffic resumes the sandbox.",
            "type": "boolean"
          }
        },
        "required": [
          "wake_on_request"
        ],
        "type": "object"
      },
      "LookupInvitationRequest": {
        "properties": {
          "token": {
            "description": "The invitation token.",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "MacCatalog": {
        "description": "Free Macs and prices per Mac model, per region.",
        "properties": {
          "regions": {
            "description": "Every region the answer covers, in catalog order.",
            "items": {
              "$ref": "#/components/schemas/MacCatalogRegion"
            },
            "type": "array"
          }
        },
        "required": [
          "regions"
        ],
        "type": "object"
      },
      "MacCatalogModel": {
        "description": "One registry model in one region.",
        "properties": {
          "available": {
            "description": "Macs of this model a purchase in this region can reserve now: healthy, unreserved Macs minus reservations waiting for a Mac and the region's spare count. Advisory: it holds nothing, and a concurrent purchase can take a Mac first. 0 when the model has no price.",
            "format": "int64",
            "type": "integer"
          },
          "model": {
            "$ref": "#/components/schemas/MacModel",
            "description": "The Mac model, as `GET /mac-models` lists it."
          },
          "price": {
            "description": "What one reservation of this model costs. Null where billing is not\nenabled.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MacPrice"
              }
            ]
          }
        },
        "required": [
          "model",
          "available",
          "price"
        ],
        "type": "object"
      },
      "MacCatalogRegion": {
        "description": "One covered region.",
        "properties": {
          "default_model": {
            "description": "The model a purchase that names none reserves.",
            "example": "m4-10c-16g",
            "type": "string"
          },
          "id": {
            "description": "The region ID.",
            "example": "us-west-1",
            "type": "string"
          },
          "models": {
            "description": "One entry per registry model, in `GET /mac-models` order.",
            "items": {
              "$ref": "#/components/schemas/MacCatalogModel"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "default_model",
          "models"
        ],
        "type": "object"
      },
      "MacLayout": {
        "description": "How a reservation divides its Mac: `split` runs up to two live sandboxes,\n`whole` one. A stopped sandbox is not live. Fixed at purchase.",
        "enum": [
          "split",
          "whole"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "MacModel": {
        "description": "A Mac model.",
        "properties": {
          "disk_mib": {
            "description": "Physical SSD capacity in MiB, not free space or a per-sandbox disk allowance.",
            "format": "int32",
            "type": "integer"
          },
          "id": {
            "description": "Mac model slug accepted by POST /reservations.",
            "type": "string"
          },
          "layouts": {
            "description": "The layouts this model is sold in, split before whole. Empty when the model is not sold.",
            "items": {
              "$ref": "#/components/schemas/MacModelLayout"
            },
            "type": "array"
          },
          "memory_mib": {
            "description": "Physical memory in MiB.",
            "format": "int32",
            "type": "integer"
          },
          "name": {
            "description": "Display name of the Mac model.",
            "type": "string"
          },
          "sandbox_disk_mib": {
            "description": "Disk room for sandboxes on one Mac of this model, in MiB. The disks of all sandboxes on the Mac, stopped sandboxes included, add up to at most this. Zero until the model's disk room is measured.",
            "format": "int32",
            "type": "integer"
          },
          "vcpus": {
            "description": "Whole vCPUs in the Mac.",
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "vcpus",
          "memory_mib",
          "disk_mib",
          "sandbox_disk_mib",
          "layouts"
        ],
        "type": "object"
      },
      "MacModelLayout": {
        "description": "One layout a model is sold in, with the size an omitted create field\nresolves to.",
        "properties": {
          "default_disk_mib": {
            "description": "The disk size in MiB an omitted `disk_mib` resolves to on this layout.",
            "format": "int32",
            "type": "integer"
          },
          "default_memory_mib": {
            "description": "The memory in MiB an omitted `memory_mib` resolves to on this layout.",
            "format": "int32",
            "type": "integer"
          },
          "default_vcpus": {
            "description": "The vCPUs an omitted `vcpus` resolves to on this layout.",
            "format": "int32",
            "type": "integer"
          },
          "layout": {
            "$ref": "#/components/schemas/MacLayout",
            "description": "The layout."
          },
          "max_sandboxes": {
            "description": "Sandboxes that run on the Mac at once.",
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "layout",
          "max_sandboxes",
          "default_vcpus",
          "default_memory_mib",
          "default_disk_mib"
        ],
        "type": "object"
      },
      "MacModelList": {
        "description": "The registered Mac models.",
        "properties": {
          "mac_models": {
            "description": "Every registered Mac model, ordered by ID.",
            "items": {
              "$ref": "#/components/schemas/MacModel"
            },
            "type": "array"
          }
        },
        "required": [
          "mac_models"
        ],
        "type": "object"
      },
      "MacPrice": {
        "description": "One reservation's price.",
        "properties": {
          "cents_per_hour": {
            "description": "The hourly rate of one Mac in cents, which can be fractional. The\namount charged is `period_cents`.",
            "example": 135.12,
            "format": "double",
            "type": "number"
          },
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "example": "usd",
            "type": "string"
          },
          "period_cents": {
            "description": "Price of one reservation period in cents, rounded up to a whole cent.\nEach period is charged when it is bought.",
            "example": 3243,
            "format": "int64",
            "type": "integer"
          },
          "period_seconds": {
            "description": "The reservation period in seconds.",
            "example": 86400,
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "cents_per_hour",
          "period_cents",
          "currency",
          "period_seconds"
        ],
        "type": "object"
      },
      "MacReservation": {
        "description": "A Mac reservation.",
        "properties": {
          "activated_at": {
            "description": "When the reservation became active.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "auto_renew": {
            "description": "The reservation renews itself shortly before `period_end` (an hour by\ndefault) while a macOS sandbox is active on it; an idle reservation lapses\ninstead.",
            "type": "boolean"
          },
          "capacity": {
            "description": "The reserved model's CPU, memory, and sandbox disk room. Fixed at purchase. Null on reservations bought before Mac models were recorded; such a reservation takes no new sandbox.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MacResources"
              }
            ]
          },
          "created_at": {
            "description": "When the reservation was created.",
            "format": "date-time",
            "type": "string"
          },
          "end_reason": {
            "description": "Why the reservation ended, or `null` while it is live.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/MacReservationEndReason"
              }
            ]
          },
          "ended_at": {
            "description": "When the reservation ended.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "The reservation ID.",
            "type": "string"
          },
          "layout": {
            "$ref": "#/components/schemas/MacLayout",
            "description": "How the reserved Mac is divided: split runs up to two sandboxes, whole runs one. Fixed at purchase, including renewal and replacement."
          },
          "model": {
            "description": "The reserved Mac model. Fixed at purchase, including renewal and replacement.\nNull on reservations bought before Mac models were recorded; such a reservation takes no new sandbox.",
            "type": [
              "string",
              "null"
            ]
          },
          "org_id": {
            "description": "The organization ID.",
            "format": "uuid",
            "type": "string"
          },
          "origin": {
            "$ref": "#/components/schemas/MacReservationOrigin",
            "description": "How the lease was bought: `explicit` by `POST /reservations` or a\ncreate with `reservation: \"new\"`, and `auto` by a macOS create under\nthe organization's auto-reserve setting."
          },
          "pending_mac_started_at": {
            "description": "When the reservation last began waiting for a Mac: at its first\ncharge, or when it moved after its Mac was lost. Kept after a Mac\nclaims it.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "period_end": {
            "description": "When the reservation ends unless renewed. Absent until a Mac first claims it\n(period 1 starts at the claim, so waiting for a Mac is not paid time).",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "period_n": {
            "description": "The current paid period (1-based).",
            "format": "int32",
            "type": "integer"
          },
          "period_seconds": {
            "description": "The period length in seconds.",
            "format": "int64",
            "type": "integer"
          },
          "period_started_at": {
            "description": "When the current period started.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "project_id": {
            "description": "The project whose key bought the reservation. The reservation serves\nevery project of the organization; this project's monthly budget gates\nits renewals, manual and automatic, which answer\n`PROJECT_BUDGET_EXCEEDED` while the project is held.",
            "format": "uuid",
            "type": "string"
          },
          "region": {
            "description": "The reservation region.",
            "type": "string"
          },
          "reissued_at": {
            "description": "Set when the reservation moved to another Mac after its Mac was lost.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "renewal_error": {
            "description": "Why the renewal of the next period failed (billing refused it, or the\nbalance was too low); the reservation ends at `period_end` unless renewed by\nhand. Null when no renewal has failed.",
            "type": [
              "string",
              "null"
            ]
          },
          "renewal_pending": {
            "description": "A renewal charge is still waiting for billing's answer.",
            "type": "boolean"
          },
          "resources_used": {
            "$ref": "#/components/schemas/MacResources",
            "description": "CPU and memory held by the sandboxes on this reservation's Mac,\nincluding paused sandboxes and sandboxes still being deleted, and the\ndisk its sandboxes hold, stopped sandboxes included. Sandboxes that no\nMac has claimed yet are not counted."
          },
          "sandboxes_per_mac": {
            "description": "Most sandboxes this reservation's Mac runs at once: 2 on a split\nreservation, 1 on a whole reservation. Reservations bought before Mac\nmodels were recorded can show 1. CPU, memory, and disk can reduce the\nnumber that fits; stopped sandboxes do not count.",
            "format": "int32",
            "type": "integer"
          },
          "slots_used": {
            "description": "macOS sandboxes currently occupying this reservation's Mac.",
            "format": "int64",
            "type": "integer"
          },
          "status": {
            "$ref": "#/components/schemas/MacReservationStatus",
            "description": "The reservation status."
          }
        },
        "required": [
          "id",
          "org_id",
          "project_id",
          "region",
          "layout",
          "status",
          "origin",
          "auto_renew",
          "sandboxes_per_mac",
          "slots_used",
          "period_n",
          "period_seconds",
          "renewal_pending",
          "created_at",
          "resources_used"
        ],
        "type": "object"
      },
      "MacReservationBatch": {
        "description": "The reservations one bulk purchase created.",
        "properties": {
          "requested": {
            "description": "The request's count.",
            "format": "int32",
            "type": "integer"
          },
          "reservations": {
            "description": "The created reservations, one per reserved Mac, each with its own ID, period and charge.",
            "items": {
              "$ref": "#/components/schemas/MacReservation"
            },
            "type": "array"
          },
          "reserved": {
            "description": "How many reservations this request created, from `min_count` to `count`. A reservation whose charge did not succeed counts here and shows status `failed` with end reason `charge_failed`.",
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "requested",
          "reserved",
          "reservations"
        ],
        "type": "object"
      },
      "MacReservationEndReason": {
        "enum": [
          "expired",
          "released",
          "charge_failed",
          "not_accepted",
          "reissued",
          "operator"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "MacReservationOrigin": {
        "enum": [
          "explicit",
          "auto"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "MacReservationStatus": {
        "enum": [
          "pending_charge",
          "pending_mac",
          "active",
          "ending",
          "released",
          "failed"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "MacResources": {
        "description": "CPU, memory and sandbox disk of a Mac reservation, in vCPUs and MiB.",
        "properties": {
          "disk_mib": {
            "description": "Sandbox disk in MiB.",
            "format": "int32",
            "type": "integer"
          },
          "memory_mib": {
            "description": "Memory in MiB.",
            "format": "int32",
            "type": "integer"
          },
          "vcpus": {
            "description": "Whole vCPUs.",
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "vcpus",
          "memory_mib",
          "disk_mib"
        ],
        "type": "object"
      },
      "MacosSettings": {
        "description": "An organization's macOS settings.",
        "properties": {
          "macos_auto_reserve": {
            "description": "Whether a macOS create buys a Mac reservation when the organization holds none in the region. On unless an admin turns it off.",
            "type": "boolean"
          },
          "macos_auto_reserve_disabled_at": {
            "description": "When an admin last turned auto-reserve off; null while it is on.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "macos_auto_reserve_disabled_by": {
            "description": "The admin who last turned auto-reserve off; null while it is on, or when no admin was recorded.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "macos_auto_reserve_max_reservations": {
            "description": "The most live auto-created reservations the org may hold at once.",
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "macos_auto_reserve",
          "macos_auto_reserve_max_reservations"
        ],
        "type": "object"
      },
      "MemberLimits": {
        "allOf": [
          {
            "$ref": "#/components/schemas/UsageLimit",
            "description": "The member usage limit."
          },
          {
            "properties": {
              "pending_invitations": {
                "description": "Invitations that reserve a member slot until accepted or declined.",
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "pending_invitations"
            ],
            "type": "object"
          }
        ]
      },
      "MemberRemovalPreview": {
        "properties": {
          "revoked_api_keys": {
            "description": "The number of API keys the removal would revoke.",
            "format": "int64",
            "type": "integer"
          },
          "revoked_preview_grants": {
            "description": "The number of signed preview grants the removal would delete, or\n`null` when unknown.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "user_id": {
            "description": "The user ID that would be removed.",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "user_id",
          "revoked_api_keys"
        ],
        "type": "object"
      },
      "MintSandboxAccessTokenRequest": {
        "additionalProperties": false,
        "description": "`POST \u2026/access-token` request. All fields optional; an absent (or empty)\nbody is the full default mint.",
        "properties": {
          "operations": {
            "description": "Requested operation subset (the sandbox-operation vocabulary:\n`toolbox`, `toolbox:exec`, `toolbox:fs`, `toolbox:git`, `toolbox:lsp`,\n`desktop`, `ssh`, `sandbox:stop`, `sandbox:pause`, `sandbox:delete`).\nOmitted = the minter's full grantable set. An empty list is a valid\nports-only grant. Unknown strings, and operations outside the\nminter's grantable set, are a 400 \u2014 never a silent narrowing.",
            "example": [
              "toolbox:fs",
              "ssh"
            ],
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "ports": {
            "description": "Private-preview ports the token may reach: 1 to 65535, at most 128,\nwith duplicates collapsed. Omitted grants all ports, and `[]` grants\nnone.",
            "example": [
              3000
            ],
            "items": {
              "format": "int32",
              "maximum": 65535,
              "minimum": 1,
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "ttl_seconds": {
            "description": "Token lifetime in seconds. Omitted = the deployment default\n(3600 unless the deployment overrides it); values above the\ndeployment cap (86400 by default) are a 400. `expires_at` in the\nresponse is authoritative.",
            "example": 900,
            "format": "int64",
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "NetworkPolicy": {
        "properties": {
          "applied": {
            "description": "Rules currently active for the sandbox, or null when the policy is open.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/NetworkPolicyRules"
              }
            ]
          },
          "applied_revision": {
            "description": "Revision currently active for the sandbox.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "applied_start_id": {
            "description": "The sandbox start the active revision was applied to, or `null` when\nno revision is active.",
            "type": [
              "string",
              "null"
            ]
          },
          "desired": {
            "description": "Requested rules, or null when the policy is open.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/NetworkPolicyRules"
              }
            ]
          },
          "desired_revision": {
            "description": "Revision of the requested rules.",
            "format": "int64",
            "type": "integer"
          },
          "error": {
            "description": "Failure detail when the requested rules could not be applied.",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Application status of the requested rules.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "desired_revision"
        ],
        "type": "object"
      },
      "NetworkPolicyRules": {
        "properties": {
          "allow_cidrs": {
            "description": "IPv4 addresses and CIDR ranges allowed by the policy.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "allow_domains": {
            "description": "Domain names allowed by the policy, or null when domain filtering is not configured.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "block_all": {
            "description": "Whether traffic is denied unless an allow rule matches.",
            "type": "boolean"
          },
          "version": {
            "description": "Policy format version.",
            "format": "int32",
            "type": "integer"
          }
        },
        "required": [
          "version",
          "block_all",
          "allow_cidrs"
        ],
        "type": "object"
      },
      "OidcProvider": {
        "description": "Login provider used by the dashboard.",
        "enum": [
          "oidc",
          "workos"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "OidcPublicConfig": {
        "description": "The `oidc` block of the deployment configuration.",
        "properties": {
          "audience": {
            "description": "The API identifier the SPA requests tokens for. Present under the\n`oidc` provider; `null` under `workos`, whose tokens are bound on\n`client_id` and carry no `aud`.",
            "type": [
              "string",
              "null"
            ]
          },
          "cli_client_id": {
            "description": "Public OAuth client ID for native clients. `null` when unavailable.",
            "type": [
              "string",
              "null"
            ]
          },
          "client_id": {
            "description": "The dashboard's public OAuth client ID.",
            "type": "string"
          },
          "issuer": {
            "description": "The issuer the API validates user tokens against.",
            "type": "string"
          },
          "provider": {
            "$ref": "#/components/schemas/OidcProvider",
            "description": "Login provider used by the dashboard."
          },
          "scope": {
            "description": "Default authorization scope requested during login.",
            "type": "string"
          }
        },
        "required": [
          "provider",
          "issuer",
          "client_id",
          "scope"
        ],
        "type": "object"
      },
      "Organization": {
        "description": "An organization.",
        "properties": {
          "budget_stop_grace_seconds": {
            "description": "The delay before budget-held sandboxes are stopped or deleted; macOS\nsandboxes, which run on a prepaid Mac reservation, keep running.",
            "format": "int64",
            "type": "integer"
          },
          "created_at": {
            "description": "When the organization was created.",
            "format": "date-time",
            "type": "string"
          },
          "id": {
            "description": "The organization ID.",
            "format": "uuid",
            "type": "string"
          },
          "max_sandbox_timeout_seconds": {
            "description": "The longest timeout a sandbox in this organization may have, in seconds; null uses the platform maximum.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The organization name.",
            "type": "string"
          },
          "personal": {
            "description": "Whether this is the user's personal organization.",
            "type": "boolean"
          },
          "preview_warning_disabled": {
            "description": "Whether sandbox previews skip the warning page.",
            "type": "boolean"
          },
          "sso_linked": {
            "description": "Whether the organization is linked to its single sign-on configuration.",
            "type": "boolean"
          },
          "sso_organization_id": {
            "description": "The ID of the single sign-on organization the organization is linked\nto; null when `sso_linked` is false.",
            "type": [
              "string",
              "null"
            ]
          },
          "suspended": {
            "description": "Whether new resource creation is suspended.",
            "type": "boolean"
          },
          "suspended_reason": {
            "description": "The member-visible suspension reason, when available.",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "description": "When the organization was last updated.",
            "format": "date-time",
            "type": "string"
          },
          "v1_membership_sync_enabled": {
            "description": "Whether membership changes sync with the Daytona v1 organization of the\nsame ID. When true, removing a member also removes them from the\nDaytona v1 organization.",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "name",
          "personal",
          "suspended",
          "preview_warning_disabled",
          "budget_stop_grace_seconds",
          "max_sandbox_timeout_seconds",
          "v1_membership_sync_enabled",
          "sso_linked",
          "sso_organization_id",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "OrganizationApiKey": {
        "description": "An organization API key without its secret token.",
        "properties": {
          "created_at": {
            "description": "When the API key was created.",
            "format": "date-time",
            "type": "string"
          },
          "created_by": {
            "description": "The user who created the API key, when visible.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "expires_at": {
            "description": "When the API key expires, or null when it does not expire.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "The API key ID.",
            "format": "uuid",
            "type": "string"
          },
          "key_prefix": {
            "description": "The recognizable leading token characters, when available.",
            "type": [
              "string",
              "null"
            ]
          },
          "key_suffix": {
            "description": "The recognizable trailing token characters, when available.",
            "type": [
              "string",
              "null"
            ]
          },
          "last_used_at": {
            "description": "When the API key was last used, or null when unknown.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The API key name.",
            "type": "string"
          },
          "org_id": {
            "description": "The organization ID.",
            "format": "uuid",
            "type": "string"
          },
          "org_permissions": {
            "description": "The organization permissions granted to the API key.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "revoked_at": {
            "description": "When the API key was revoked, or null while active.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "org_id",
          "name",
          "created_at",
          "org_permissions"
        ],
        "type": "object"
      },
      "OrganizationApiKeyPage": {
        "description": "A page of organization API keys.",
        "properties": {
          "next_cursor": {
            "description": "The cursor for the next page, or null when this is the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "organization_api_keys": {
            "description": "The organization API keys in this page.",
            "items": {
              "$ref": "#/components/schemas/OrganizationApiKey"
            },
            "type": "array"
          }
        },
        "required": [
          "organization_api_keys"
        ],
        "type": "object"
      },
      "OrganizationApiKeyWithToken": {
        "allOf": [
          {
            "$ref": "#/components/schemas/OrganizationApiKey",
            "description": "The API key metadata."
          },
          {
            "properties": {
              "token": {
                "description": "The secret token, returned only when the key is created.",
                "type": "string"
              }
            },
            "required": [
              "token"
            ],
            "type": "object"
          }
        ],
        "description": "A newly created organization API key and its one-time secret token."
      },
      "OrganizationFeatureFlags": {
        "properties": {
          "flags": {
            "additionalProperties": {
              "type": "boolean"
            },
            "description": "The published feature keys enabled for the organization. Disabled keys\nare omitted.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "flags"
        ],
        "type": "object"
      },
      "OrganizationLimits": {
        "properties": {
          "api_keys_per_organization": {
            "$ref": "#/components/schemas/UsageLimit",
            "description": "The organization's live API-key limit and current usage."
          },
          "api_keys_per_project": {
            "$ref": "#/components/schemas/UsageLimit",
            "description": "The maximum number of live API keys in any one project and the highest current usage."
          },
          "image_builds": {
            "$ref": "#/components/schemas/ImageBuildLimits",
            "description": "Concurrent image-build limits."
          },
          "members": {
            "$ref": "#/components/schemas/MemberLimits",
            "description": "Organization member limits."
          },
          "sandboxes": {
            "$ref": "#/components/schemas/SandboxLimits",
            "description": "Sandbox count limits."
          },
          "secrets_per_project": {
            "$ref": "#/components/schemas/UsageLimit",
            "description": "The maximum number of secrets in any one project and the highest current usage."
          }
        },
        "required": [
          "sandboxes",
          "image_builds",
          "members",
          "secrets_per_project",
          "api_keys_per_project",
          "api_keys_per_organization"
        ],
        "type": "object"
      },
      "OrganizationListItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Organization",
            "description": "The organization resource fields."
          },
          {
            "properties": {
              "membership": {
                "$ref": "#/components/schemas/OrganizationMembership",
                "description": "The signed-in user's membership in this organization."
              }
            },
            "required": [
              "membership"
            ],
            "type": "object"
          }
        ],
        "description": "An organization together with the signed-in user's membership."
      },
      "OrganizationMember": {
        "properties": {
          "assignable_project_permissions": {
            "description": "The project permissions the member may grant.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "email": {
            "description": "The member's email address.",
            "type": "string"
          },
          "joined_at": {
            "description": "When the user joined the organization.",
            "format": "date-time",
            "type": "string"
          },
          "name": {
            "description": "The member's display name.",
            "type": [
              "string",
              "null"
            ]
          },
          "org_permissions": {
            "description": "The member's effective organization permissions.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "roles": {
            "description": "The assigned role identifiers.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "user_id": {
            "description": "The user ID.",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "user_id",
          "email",
          "roles",
          "joined_at",
          "org_permissions",
          "assignable_project_permissions"
        ],
        "type": "object"
      },
      "OrganizationMemberPage": {
        "properties": {
          "members": {
            "description": "The organization members.",
            "items": {
              "$ref": "#/components/schemas/OrganizationMember"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "The cursor for the next page, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "members"
        ],
        "type": "object"
      },
      "OrganizationMembership": {
        "description": "The signed-in user's membership in an organization.",
        "properties": {
          "default_project_id": {
            "description": "The organization's default project ID.",
            "format": "uuid",
            "type": "string"
          },
          "grantable_project_permissions": {
            "description": "The project permissions this member may grant to others.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "permissions": {
            "description": "The effective organization permissions.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "roles": {
            "description": "The role slugs assigned to the member.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "roles",
          "permissions",
          "grantable_project_permissions",
          "default_project_id"
        ],
        "type": "object"
      },
      "OrganizationPage": {
        "description": "A page of organizations.",
        "properties": {
          "next_cursor": {
            "description": "The cursor for the next page, or null when this is the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "organizations": {
            "description": "The organizations in this page.",
            "items": {
              "$ref": "#/components/schemas/OrganizationListItem"
            },
            "type": "array"
          }
        },
        "required": [
          "organizations"
        ],
        "type": "object"
      },
      "OrganizationServiceAccount": {
        "properties": {
          "archived_at": {
            "description": "When the service account was archived, or `null`.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "description": "When the service account was created.",
            "format": "date-time",
            "type": "string"
          },
          "created_by": {
            "description": "The user who created the service account, or `null`.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "description": {
            "description": "The optional description.",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "The service account ID.",
            "format": "uuid",
            "type": "string"
          },
          "live_key_count": {
            "description": "The number of active API keys owned by the service account.",
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "description": "The service account name.",
            "type": "string"
          },
          "org_id": {
            "description": "The organization ID.",
            "format": "uuid",
            "type": "string"
          },
          "org_permissions": {
            "description": "The effective permissions granted by the roles.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "roles": {
            "description": "The assigned role identifiers.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "updated_at": {
            "description": "When the service account was last updated.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "org_id",
          "name",
          "roles",
          "org_permissions",
          "created_at",
          "updated_at",
          "live_key_count"
        ],
        "type": "object"
      },
      "OrganizationServiceAccountPage": {
        "properties": {
          "next_cursor": {
            "description": "The cursor for the next page, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          },
          "service_accounts": {
            "description": "The service accounts.",
            "items": {
              "$ref": "#/components/schemas/OrganizationServiceAccount"
            },
            "type": "array"
          }
        },
        "required": [
          "service_accounts"
        ],
        "type": "object"
      },
      "OtelConfig": {
        "description": "An organization's telemetry configuration: the endpoint and the names of\nthe configured request headers. Header values are write-only and are never\nreturned.",
        "properties": {
          "created_at": {
            "description": "When the configuration was created, or null when it is unset.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "endpoint": {
            "description": "The tenant's OTLP/HTTP endpoint.",
            "type": [
              "string",
              "null"
            ]
          },
          "header_names": {
            "description": "Names of the request headers configured; values are write-only and never returned.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "updated_at": {
            "description": "When the configuration was last updated, or null when it is unset.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "endpoint",
          "header_names",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "PaymentMethod": {
        "properties": {
          "brand": {
            "$ref": "#/components/schemas/PaymentMethodBrand",
            "description": "The payment-card brand."
          },
          "exp_month": {
            "description": "The card's expiration month.",
            "format": "int32",
            "type": "integer"
          },
          "exp_year": {
            "description": "The card's expiration year.",
            "format": "int32",
            "type": "integer"
          },
          "id": {
            "description": "The payment method ID.",
            "type": "string"
          },
          "is_default": {
            "description": "Whether this is the default payment method.",
            "type": "boolean"
          },
          "last4": {
            "description": "The final four digits of the card number.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "brand",
          "last4",
          "exp_month",
          "exp_year",
          "is_default"
        ],
        "type": "object"
      },
      "PaymentMethodBrand": {
        "enum": [
          "amex",
          "cartes_bancaires",
          "diners",
          "discover",
          "eftpos_au",
          "interac",
          "jcb",
          "link",
          "mastercard",
          "unionpay",
          "visa",
          "other"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "PaymentMethodPage": {
        "properties": {
          "next_cursor": {
            "description": "The next page cursor, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          },
          "payment_methods": {
            "description": "The payment methods in this page.",
            "items": {
              "$ref": "#/components/schemas/PaymentMethod"
            },
            "type": "array"
          }
        },
        "required": [
          "payment_methods"
        ],
        "type": "object"
      },
      "PendingPlanChange": {
        "properties": {
          "effective_at": {
            "description": "When the scheduled plan takes effect.",
            "format": "date-time",
            "type": "string"
          },
          "plan": {
            "$ref": "#/components/schemas/PlanName",
            "description": "The scheduled plan."
          }
        },
        "required": [
          "plan",
          "effective_at"
        ],
        "type": "object"
      },
      "Permission": {
        "properties": {
          "category": {
            "description": "The display category.",
            "type": "string"
          },
          "id": {
            "description": "The permission identifier.",
            "type": "string"
          },
          "name": {
            "description": "The display name.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "category"
        ],
        "type": "object"
      },
      "PermissionList": {
        "properties": {
          "permissions": {
            "description": "The available permissions.",
            "items": {
              "$ref": "#/components/schemas/Permission"
            },
            "type": "array"
          }
        },
        "required": [
          "permissions"
        ],
        "type": "object"
      },
      "PersistentLifecycleDefaults": {
        "properties": {
          "idle_timeout_seconds": {
            "description": "Idle time before cleanup in seconds, or null to disable it.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "on_idle_timeout": {
            "description": "The action taken when the idle timeout is reached.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "on_timeout": {
            "description": "The action taken when the maximum lifetime is reached.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "timeout_seconds": {
            "description": "Maximum sandbox lifetime in seconds, or null to inherit it.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "wake_on_request": {
            "description": "Whether an incoming request may wake a stopped sandbox.",
            "type": "boolean"
          }
        },
        "required": [
          "timeout_seconds",
          "on_timeout",
          "idle_timeout_seconds",
          "on_idle_timeout",
          "wake_on_request"
        ],
        "type": "object"
      },
      "Plan": {
        "properties": {
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "entitlements": {
            "description": "The entitlement keys included in the plan.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "fee_cents": {
            "description": "The recurring plan fee in cents.",
            "format": "int64",
            "type": "integer"
          },
          "limits": {
            "$ref": "#/components/schemas/PlanLimits",
            "description": "The plan limits."
          },
          "monthly_credit_cents": {
            "description": "The monthly included credit in cents.",
            "format": "int64",
            "type": "integer"
          },
          "plan": {
            "$ref": "#/components/schemas/PlanName",
            "description": "The catalog plan."
          },
          "self_serve": {
            "description": "Whether members can select this plan through the API.",
            "type": "boolean"
          }
        },
        "required": [
          "plan",
          "self_serve",
          "fee_cents",
          "monthly_credit_cents",
          "currency",
          "limits",
          "entitlements"
        ],
        "type": "object"
      },
      "PlanLimits": {
        "properties": {
          "max_concurrent_gpu_sandboxes": {
            "description": "The concurrent GPU sandbox limit, or `null` when unlimited.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "max_concurrent_sandboxes": {
            "description": "The concurrent sandbox limit, or `null` when unlimited.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "max_members": {
            "description": "The member limit, or `null` when unlimited.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "PlanList": {
        "properties": {
          "plans": {
            "description": "The billing plan catalog.",
            "items": {
              "$ref": "#/components/schemas/Plan"
            },
            "type": "array"
          }
        },
        "required": [
          "plans"
        ],
        "type": "object"
      },
      "PlanName": {
        "enum": [
          "starter",
          "team",
          "enterprise"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "PortAssignment": {
        "description": "A port the platform exposes for a sandbox.",
        "properties": {
          "host_port": {
            "description": "The port exposed on the platform side.",
            "format": "int32",
            "maximum": 65535,
            "minimum": 1,
            "type": "integer"
          },
          "proto": {
            "$ref": "#/components/schemas/PortProtocol",
            "description": "The transport protocol."
          },
          "vm_port": {
            "description": "The port inside the sandbox.",
            "format": "int32",
            "maximum": 65535,
            "minimum": 1,
            "type": "integer"
          }
        },
        "required": [
          "host_port",
          "vm_port",
          "proto"
        ],
        "type": "object"
      },
      "PortMapping": {
        "description": "One port exposed when the sandbox is created.",
        "properties": {
          "port": {
            "description": "The sandbox TCP or UDP port.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "proto": {
            "default": "tcp",
            "description": "The transport protocol. Defaults to `tcp`.",
            "type": "string"
          }
        },
        "required": [
          "port"
        ],
        "type": "object"
      },
      "PortProtocol": {
        "enum": [
          "tcp",
          "udp"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "PortalIntent": {
        "description": "The setup area opened by a configuration link.",
        "enum": [
          "sso",
          "dsync"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "PreviewMemberUpdateRequest": {
        "properties": {
          "roles": {
            "description": "The member's complete new role set.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "roles"
        ],
        "type": "object"
      },
      "PreviewServiceAccountUpdateRequest": {
        "description": "The same body as the update, previewed without applying it.",
        "properties": {
          "description": {
            "description": "The replacement description; `null` clears it.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The replacement name.",
            "type": [
              "string",
              "null"
            ]
          },
          "roles": {
            "description": "The replacement role identifiers.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "PreviewUrl": {
        "description": "A preview URL and its access token.",
        "properties": {
          "token": {
            "description": "Secret value sent in the `x-daytona-preview-token` header.",
            "type": "string"
          },
          "url": {
            "description": "Host-based preview URL, `<scheme>://<port>-<sandbox_id>.<domain>/`.",
            "type": "string"
          }
        },
        "required": [
          "url",
          "token"
        ],
        "type": "object"
      },
      "PreviewWarning": {
        "description": "An organization's preview-warning setting.",
        "properties": {
          "disabled": {
            "description": "Whether sandbox previews skip the warning page.",
            "type": "boolean"
          }
        },
        "required": [
          "disabled"
        ],
        "type": "object"
      },
      "PrivacyPolicyStatus": {
        "description": "The signed-in user's standing against the required privacy policy.",
        "properties": {
          "accepted": {
            "description": "Whether the user has accepted the required version. A client should\nprompt for consent only on an explicit `false`.",
            "type": "boolean"
          },
          "accepted_at": {
            "description": "When the user last accepted a version; `null` if never.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "accepted_version": {
            "description": "The version the user last accepted, whatever version is required now.",
            "type": [
              "string",
              "null"
            ]
          },
          "url": {
            "description": "Where the current policy text is published; `null` when no consent is\nrequired.",
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "description": "Version the platform currently requires; `null` when it requires no\nconsent, in which case `accepted` is always `true`.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "accepted"
        ],
        "type": "object"
      },
      "Project": {
        "properties": {
          "created_at": {
            "description": "When the project was created.",
            "format": "date-time",
            "type": "string"
          },
          "created_by": {
            "description": "The user who created the project, when visible.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "default": {
            "description": "Whether this is the organization's default project.",
            "type": "boolean"
          },
          "id": {
            "description": "The project ID.",
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "description": "The project name.",
            "type": "string"
          },
          "org_id": {
            "description": "The organization ID.",
            "format": "uuid",
            "type": "string"
          },
          "updated_at": {
            "description": "When the project was last updated.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "org_id",
          "name",
          "default",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "ProjectApiKey": {
        "description": "A project API key without its secret token.",
        "properties": {
          "created_at": {
            "description": "When the API key was created.",
            "format": "date-time",
            "type": "string"
          },
          "created_by": {
            "description": "The user who created the API key, when visible.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "expires_at": {
            "description": "When the API key expires, or null when it does not expire.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "The API key ID.",
            "format": "uuid",
            "type": "string"
          },
          "imported_from": {
            "description": "`\"v1\"` when the key was created on Daytona v1 and imported by the\nv1 \u2194 v2 key sync; `null` for a key created on this platform.",
            "type": [
              "string",
              "null"
            ]
          },
          "key_prefix": {
            "description": "The recognizable leading token characters, when available.",
            "type": [
              "string",
              "null"
            ]
          },
          "key_suffix": {
            "description": "The recognizable trailing token characters, when available.",
            "type": [
              "string",
              "null"
            ]
          },
          "last_used_at": {
            "description": "When the API key was last used, or null when unknown.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The API key name.",
            "type": "string"
          },
          "project_id": {
            "description": "The project ID.",
            "format": "uuid",
            "type": "string"
          },
          "project_permissions": {
            "description": "The project permissions granted to the API key.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "revoked_at": {
            "description": "When the API key was revoked, or null while active.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "service_account_id": {
            "description": "The service account that owns the API key, when applicable.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "service_account_name": {
            "description": "The service account name, when applicable and available.",
            "type": [
              "string",
              "null"
            ]
          },
          "sync_to_v1": {
            "description": "Whether the v1 \u2194 v2 key sync copies this key to Daytona v1 (for an\norganization that is kept in sync with v1). `true` for a live key a person minted in the organization's\n`default` project unless it was opted out by updating the API key,\nand always for a live key imported from v1. `false` for every key\nthe sync never copies: keys in other projects, service-account keys,\nthe dashboard's own key named `default`, and revoked or expired keys.\nA v1 copy can read every sandbox, snapshot and registry of the\norganization on v1, which has no read permissions.",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "project_id",
          "name",
          "created_at",
          "project_permissions",
          "sync_to_v1"
        ],
        "type": "object"
      },
      "ProjectApiKeyContext": {
        "description": "The project and organization in which an API key acts.",
        "properties": {
          "org_id": {
            "description": "The organization ID.",
            "format": "uuid",
            "type": "string"
          },
          "org_name": {
            "description": "The organization name.",
            "type": "string"
          },
          "project_name": {
            "description": "The project name.",
            "type": "string"
          }
        },
        "required": [
          "project_name",
          "org_id",
          "org_name"
        ],
        "type": "object"
      },
      "ProjectApiKeyPage": {
        "description": "A page of project API keys.",
        "properties": {
          "next_cursor": {
            "description": "The cursor for the next page, or null when this is the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "project_api_keys": {
            "description": "The project API keys in this page.",
            "items": {
              "$ref": "#/components/schemas/ProjectApiKey"
            },
            "type": "array"
          }
        },
        "required": [
          "project_api_keys"
        ],
        "type": "object"
      },
      "ProjectApiKeyWithContext": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ProjectApiKey",
            "description": "The API key metadata."
          },
          {
            "properties": {
              "context": {
                "$ref": "#/components/schemas/ProjectApiKeyContext",
                "description": "The project and organization in which the key acts."
              }
            },
            "required": [
              "context"
            ],
            "type": "object"
          }
        ],
        "description": "A project API key together with its tenant context."
      },
      "ProjectApiKeyWithToken": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ProjectApiKey",
            "description": "The API key metadata."
          },
          {
            "properties": {
              "token": {
                "description": "The secret token, returned only when the key is created.",
                "type": "string"
              }
            },
            "required": [
              "token"
            ],
            "type": "object"
          }
        ],
        "description": "A newly created project API key and its one-time secret token."
      },
      "ProjectBudget": {
        "description": "A project's monthly spend budget and its current state.",
        "properties": {
          "created_at": {
            "description": "When the budget was first set, or null when no budget is set.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "evaluated_at": {
            "description": "When spend was last evaluated in the current period. `null` until the\nfirst evaluation in the period.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "exceeded_at": {
            "description": "When the project reached its budget this period. `null` while the\nproject is under its budget.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "monthly_limit_cents": {
            "description": "The monthly budget, in US cents, or null when no budget is set.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "period_start_date": {
            "description": "The first day of the current budget period (the calendar month in\nUTC), as `YYYY-MM-DD`.",
            "example": "2026-10-01",
            "format": "date",
            "type": [
              "string",
              "null"
            ]
          },
          "spent_cents": {
            "description": "Month-to-date spend at list price, in US cents, from the last\nevaluation in the current period. `null` until the first evaluation in\nthe period.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "stop_at": {
            "description": "When running sandboxes are ended: `exceeded_at` plus the grace period.\nOn the first sweep after this time, running persistent sandboxes are\nstopped and running ephemeral sandboxes are deleted; macOS sandboxes,\nwhich run on a prepaid Mac reservation, keep running. `null` when\n`exceeded_at` is `null`, and `null` when this time falls on or after\nthe start of the next UTC month: the hold expires at the month\nboundary, so no sandbox is ended this period.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "description": "When a member last set the budget, or null when no budget is set.\nSpend evaluations do not change it.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "monthly_limit_cents",
          "period_start_date",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "ProjectLifecycleDefaults": {
        "properties": {
          "ephemeral": {
            "$ref": "#/components/schemas/EphemeralLifecycleDefaults",
            "description": "Defaults for ephemeral sandboxes."
          },
          "persistent": {
            "$ref": "#/components/schemas/PersistentLifecycleDefaults",
            "description": "Defaults for persistent sandboxes."
          }
        },
        "required": [
          "ephemeral",
          "persistent"
        ],
        "type": "object"
      },
      "ProjectLifecyclePolicy": {
        "properties": {
          "effective": {
            "$ref": "#/components/schemas/EffectiveLifecyclePolicies",
            "description": "The effective policies by sandbox class and persistence mode."
          },
          "policy": {
            "$ref": "#/components/schemas/ProjectLifecycleDefaults",
            "description": "The project-level lifecycle defaults."
          }
        },
        "required": [
          "policy",
          "effective"
        ],
        "type": "object"
      },
      "ProjectMember": {
        "properties": {
          "added_at": {
            "description": "When the member was added, or `null` for an implicit membership.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "email": {
            "description": "The member's email address.",
            "type": "string"
          },
          "implicit": {
            "description": "Whether every organization member receives this membership automatically.",
            "type": "boolean"
          },
          "name": {
            "description": "The member's display name, or `null` when unavailable.",
            "type": [
              "string",
              "null"
            ]
          },
          "user_id": {
            "description": "The member's user ID.",
            "format": "uuid",
            "type": "string"
          }
        },
        "required": [
          "user_id",
          "email",
          "implicit"
        ],
        "type": "object"
      },
      "ProjectMemberList": {
        "properties": {
          "added_user_ids": {
            "description": "The user IDs added by the request.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "added_user_ids"
        ],
        "type": "object"
      },
      "ProjectMemberPage": {
        "properties": {
          "members": {
            "description": "The project members in this page.",
            "items": {
              "$ref": "#/components/schemas/ProjectMember"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "The next page cursor, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "members"
        ],
        "type": "object"
      },
      "ProjectPage": {
        "description": "A page of projects.",
        "properties": {
          "next_cursor": {
            "description": "The cursor for the next page, or null when this is the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "projects": {
            "description": "The projects in this page.",
            "items": {
              "$ref": "#/components/schemas/Project"
            },
            "type": "array"
          }
        },
        "required": [
          "projects"
        ],
        "type": "object"
      },
      "ProjectServiceAccount": {
        "properties": {
          "added_at": {
            "description": "When project access was added, or `null` for implicit access.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "archived_at": {
            "description": "When the service account was archived, or `null` while active.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "The service account ID.",
            "format": "uuid",
            "type": "string"
          },
          "implicit": {
            "description": "Whether every service account receives this project access automatically.",
            "type": "boolean"
          },
          "name": {
            "description": "The service account name.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "implicit"
        ],
        "type": "object"
      },
      "ProjectServiceAccountList": {
        "properties": {
          "added_service_account_ids": {
            "description": "The service account IDs added by the request.",
            "items": {
              "format": "uuid",
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "added_service_account_ids"
        ],
        "type": "object"
      },
      "ProjectServiceAccountPage": {
        "properties": {
          "next_cursor": {
            "description": "The next page cursor, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          },
          "service_accounts": {
            "description": "The service accounts in this page.",
            "items": {
              "$ref": "#/components/schemas/ProjectServiceAccount"
            },
            "type": "array"
          }
        },
        "required": [
          "service_accounts"
        ],
        "type": "object"
      },
      "PublicImageSource": {
        "description": "A caller-selectable image source.",
        "oneOf": [
          {
            "description": "Pull an image from an OCI registry.",
            "properties": {
              "ref": {
                "description": "The OCI image reference.",
                "type": "string"
              },
              "type": {
                "description": "The object type.",
                "enum": [
                  "registry"
                ],
                "type": "string",
                "x-daytona-exact-enum": "discriminator"
              }
            },
            "required": [
              "ref",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "Use an existing image in the same project.",
            "properties": {
              "name": {
                "description": "The existing image name.",
                "type": "string"
              },
              "type": {
                "description": "The object type.",
                "enum": [
                  "named"
                ],
                "type": "string",
                "x-daytona-exact-enum": "discriminator"
              }
            },
            "required": [
              "name",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "RedeemCouponRequest": {
        "properties": {
          "code": {
            "description": "The coupon code.",
            "pattern": "^[A-Za-z0-9_-]{1,64}$",
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "Region": {
        "description": "A region that can be named in a create.",
        "properties": {
          "api_base_url": {
            "description": "API base URL for this edge, when it publishes its own. Present on edge\nrows only.",
            "type": [
              "string",
              "null"
            ]
          },
          "available": {
            "description": "Whether this region can be named in a create. Always `true` for an\nedge. `false` for a broader region whose edges all opt out of\nautomatic placement; such a region stays listed because its edges name\nit as their parent. Not a health or capacity signal: a create can\nstill fail for lack of capacity.",
            "type": "boolean"
          },
          "id": {
            "description": "Region ID, the value a create request names in `region`.",
            "type": "string"
          },
          "level": {
            "$ref": "#/components/schemas/RegionLevel",
            "description": "The region's level in the hierarchy."
          },
          "name": {
            "description": "Display name.",
            "type": "string"
          },
          "parent_region_id": {
            "description": "ID of the parent region, or `null` for the root (`earth`).",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "level",
          "parent_region_id",
          "available"
        ],
        "type": "object"
      },
      "RegionLevel": {
        "description": "A region's level in the hierarchy: `global` (the root), then `geo`,\n`macro`, and `edge`.",
        "enum": [
          "global",
          "geo",
          "macro",
          "edge"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "RegionList": {
        "description": "The caller's regions, at every level.",
        "properties": {
          "regions": {
            "description": "Every listed region, parents before their children.",
            "items": {
              "$ref": "#/components/schemas/Region"
            },
            "type": "array"
          }
        },
        "required": [
          "regions"
        ],
        "type": "object"
      },
      "Registry": {
        "description": "Registry credential metadata returned by list and get endpoints. Passwords\nare write-only and never returned.",
        "properties": {
          "created_at": {
            "description": "When the credentials were created.",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "The user-facing description, or null when absent.",
            "type": [
              "string",
              "null"
            ]
          },
          "host": {
            "description": "Normalized registry host (Docker Hub aliases collapse to\n`index.docker.io`).",
            "example": "ghcr.io",
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/RegistryKind",
            "description": "Authentication kind. For `ecr_role` the username is the IAM role ARN\nthe platform assumes."
          },
          "updated_at": {
            "description": "When the credentials were last updated.",
            "format": "date-time",
            "type": "string"
          },
          "username": {
            "description": "The registry username.",
            "type": "string"
          }
        },
        "required": [
          "host",
          "kind",
          "username",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "RegistryKind": {
        "enum": [
          "basic",
          "ghcr",
          "gcr",
          "ecr",
          "ecr_role"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "RegistryPage": {
        "description": "Response for `GET /registries`: metadata only, never passwords.",
        "properties": {
          "next_cursor": {
            "description": "The opaque continuation token, or null on the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "registries": {
            "description": "The registry credentials in this page.",
            "items": {
              "$ref": "#/components/schemas/Registry"
            },
            "type": "array"
          }
        },
        "required": [
          "registries"
        ],
        "type": "object"
      },
      "ReservationPage": {
        "description": "GET /reservations response.",
        "properties": {
          "next_cursor": {
            "description": "The cursor for the next page, or null on the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "reservations": {
            "description": "The reservations in this page.",
            "items": {
              "$ref": "#/components/schemas/MacReservation"
            },
            "type": "array"
          }
        },
        "required": [
          "reservations"
        ],
        "type": "object"
      },
      "RevokeSandboxSignedPreviewUrlRequest": {
        "properties": {
          "token": {
            "description": "The plaintext signed token returned by the mint operation.",
            "type": "string"
          }
        },
        "required": [
          "token"
        ],
        "type": "object"
      },
      "Role": {
        "properties": {
          "description": {
            "description": "The role's purpose.",
            "type": "string"
          },
          "id": {
            "description": "The role identifier.",
            "type": "string"
          },
          "name": {
            "description": "The display name.",
            "type": "string"
          },
          "permissions": {
            "description": "The permissions granted by the role.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "name",
          "description",
          "permissions"
        ],
        "type": "object"
      },
      "RoleList": {
        "properties": {
          "roles": {
            "description": "The available roles.",
            "items": {
              "$ref": "#/components/schemas/Role"
            },
            "type": "array"
          }
        },
        "required": [
          "roles"
        ],
        "type": "object"
      },
      "Sandbox": {
        "description": "A sandbox and its current configuration.",
        "properties": {
          "archived": {
            "description": "Whether the sandbox's disk is archived to object storage; its next\nstart restores the disk first. The status is unaffected.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "class": {
            "$ref": "#/components/schemas/SandboxClass",
            "description": "Sandbox class."
          },
          "cpu": {
            "description": "Reserved CPU cores.",
            "format": "double",
            "type": "number"
          },
          "create_timeout_at": {
            "description": "Create deadline; absent after the sandbox reaches its target status.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "created_at": {
            "description": "When the sandbox was created.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "disk_max_mib": {
            "description": "Maximum writable disk size in MiB.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "disk_mib": {
            "description": "Writable disk size in MiB.",
            "format": "int32",
            "type": "integer"
          },
          "error": {
            "description": "Failure detail, or null when no failure is recorded.",
            "type": [
              "string",
              "null"
            ]
          },
          "forked_from": {
            "description": "Source sandbox ID when this sandbox is a fork.",
            "type": [
              "string",
              "null"
            ]
          },
          "gpu_count": {
            "description": "Number of attached GPUs.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "id": {
            "description": "The sandbox ID.",
            "type": "string"
          },
          "image": {
            "description": "The image the sandbox was created from; absent when it was created\nfrom a snapshot.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ImageReference"
              }
            ]
          },
          "image_build_id": {
            "description": "Build ID associated with the sandbox image.",
            "format": "uuid",
            "type": [
              "string",
              "null"
            ]
          },
          "image_ref": {
            "description": "The original image reference when no image resource is associated.",
            "type": [
              "string",
              "null"
            ]
          },
          "imported_from": {
            "$ref": "#/components/schemas/ImportedFrom",
            "description": "The platform and sandbox ID this sandbox was imported from; absent for\na sandbox created here."
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "User-defined sandbox labels.",
            "propertyNames": {
              "type": "string"
            },
            "type": [
              "object",
              "null"
            ]
          },
          "last_activity_at": {
            "description": "When activity was last observed.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "lifecycle_policy": {
            "description": "Automatic timeout and idle-expiry behavior.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecyclePolicy"
              }
            ]
          },
          "mac_boot_mode": {
            "description": "How a macOS sandbox resumed; absent when it has not resumed.",
            "type": [
              "string",
              "null"
            ]
          },
          "memory_max_mib": {
            "description": "Maximum memory in MiB.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "memory_mib": {
            "description": "Reserved memory in MiB.",
            "format": "int32",
            "type": "integer"
          },
          "name": {
            "description": "The sandbox name.",
            "type": "string"
          },
          "persistent": {
            "description": "Whether writable state persists across stops.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "port_map": {
            "description": "Port assignments reported for the sandbox.",
            "items": {
              "$ref": "#/components/schemas/PortAssignment"
            },
            "type": "array"
          },
          "region": {
            "description": "Region containing the sandbox.",
            "type": "string"
          },
          "reservation_id": {
            "description": "The macOS reservation of the current or latest successful claim; null\nbefore the first claim and absent for other sandbox classes.",
            "type": [
              "string",
              "null"
            ]
          },
          "snapshot": {
            "description": "The snapshot the sandbox was created from; absent when it was\ncreated from an image.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SnapshotReference"
              }
            ]
          },
          "spot": {
            "description": "Whether discounted interruptible capacity was requested.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "spot_evicted_at": {
            "description": "When discounted capacity reclaimed the sandbox; absent when it has\nnot been reclaimed.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "ssh_gateway_host": {
            "description": "SSH gateway host for the sandbox region.",
            "type": [
              "string",
              "null"
            ]
          },
          "ssh_gateway_port": {
            "description": "SSH gateway port for the sandbox region.",
            "format": "int32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "started_at": {
            "description": "When the sandbox most recently started.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Current lifecycle status.",
            "type": "string"
          },
          "stopped_at": {
            "description": "When the sandbox most recently stopped.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "toolbox_proxy_url": {
            "description": "Base URL for sandbox tools.",
            "type": [
              "string",
              "null"
            ]
          },
          "updated_at": {
            "description": "When the sandbox was last updated.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "user": {
            "description": "Default operating-system user.",
            "type": [
              "string",
              "null"
            ]
          },
          "vcpus": {
            "description": "Reserved virtual CPU count.",
            "format": "int32",
            "type": "integer"
          },
          "vcpus_max": {
            "description": "Maximum virtual CPU count.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "status",
          "cpu",
          "vcpus",
          "memory_mib",
          "disk_mib",
          "port_map",
          "region",
          "class"
        ],
        "type": "object"
      },
      "SandboxAccessToken": {
        "description": "`POST \u2026/access-token` response.",
        "properties": {
          "access_token": {
            "description": "The sandbox access token. Returned only here and never stored.",
            "format": "password",
            "type": "string"
          },
          "expires_at": {
            "description": "Absolute expiry (RFC 3339). The token cannot be refreshed \u2014 mint a\nfresh one through this route instead.",
            "format": "date-time",
            "type": "string"
          },
          "operations": {
            "description": "The granted operations, canonical order \u2014 echoes what the token's\n`scope` claim carries.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "ports": {
            "description": "The granted ports (sorted, deduped), or null for all ports.",
            "items": {
              "format": "int32",
              "minimum": 0,
              "type": "integer"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "token_type": {
            "description": "Always `Bearer`.",
            "example": "Bearer",
            "type": "string"
          }
        },
        "required": [
          "access_token",
          "token_type",
          "expires_at",
          "operations"
        ],
        "type": "object"
      },
      "SandboxClass": {
        "enum": [
          "linux",
          "windows",
          "gpu",
          "macos"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "SandboxCreateOperation": {
        "description": "The result of an accepted sandbox create.",
        "properties": {
          "access_token": {
            "description": "Secret access value returned once, or null on a replay.",
            "format": "password",
            "type": [
              "string",
              "null"
            ]
          },
          "access_token_expires_at": {
            "description": "When the access value expires, or null when it has no expiry or this is a replay.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "create_timeout_at": {
            "description": "Create deadline, or null after the sandbox reaches its target status.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "The sandbox ID.",
            "type": "string"
          },
          "image": {
            "description": "The image the sandbox boots. For a create without `image`, this is the\nplatform default image; omitted for a sandbox restored from a snapshot.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/ImageReference"
              }
            ]
          },
          "name": {
            "description": "Sandbox name (caller-provided or the generated `sandbox-<short-id>`).",
            "type": "string"
          },
          "reservation_id": {
            "description": "The macOS reservation selected by a successful claim; null until a Mac\nclaims the sandbox.",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "Initial lifecycle status \u2014 `pending`, or the sandbox's current status on\nan idempotent replay.",
            "example": "pending",
            "type": "string"
          },
          "toolbox_proxy_url": {
            "description": "The sandbox's own region's toolbox proxy base URL, the same value\n`GET /sandboxes/{id}` carries \u2014 exec/fs/preview traffic must target\nthis, not a global proxy.",
            "type": "string"
          },
          "wait_cap_seconds": {
            "description": "Maximum server-side create wait in seconds.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "name",
          "status",
          "toolbox_proxy_url",
          "id",
          "wait_cap_seconds"
        ],
        "type": "object"
      },
      "SandboxEventTicket": {
        "properties": {
          "expires_in_ms": {
            "description": "Milliseconds until the ticket expires unused.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "subprotocol": {
            "description": "Protocol negotiated for the event stream.",
            "type": "string"
          },
          "ticket": {
            "description": "One-time value presented when opening the event stream.",
            "type": "string"
          }
        },
        "required": [
          "ticket",
          "expires_in_ms",
          "subprotocol"
        ],
        "type": "object"
      },
      "SandboxLabels": {
        "description": "Response for `PUT /sandboxes/{id}/labels`.",
        "properties": {
          "id": {
            "description": "The sandbox ID.",
            "type": "string"
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "The stored label set.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "required": [
          "labels",
          "id"
        ],
        "type": "object"
      },
      "SandboxLifecyclePolicy": {
        "description": "Response for `PATCH /sandboxes/{id}/lifecycle-policy` and\n`POST /sandboxes/{id}/reset-idle-timer` (class-blind: one route for every\nclass) \u2014 one echo shape for every lifecycle mutation.",
        "properties": {
          "id": {
            "description": "The sandbox ID.",
            "type": "string"
          },
          "lifecycle_policy": {
            "$ref": "#/components/schemas/LifecyclePolicy",
            "description": "The stored policy after the update, plus the derived read-only facts."
          }
        },
        "required": [
          "lifecycle_policy",
          "id"
        ],
        "type": "object"
      },
      "SandboxLimits": {
        "properties": {
          "concurrent": {
            "$ref": "#/components/schemas/UsageLimit",
            "description": "The concurrent sandbox limit and current usage."
          },
          "gpu_concurrent": {
            "$ref": "#/components/schemas/UsageLimit",
            "description": "The concurrent GPU sandbox limit and current usage."
          },
          "total": {
            "$ref": "#/components/schemas/UsageLimit",
            "description": "The total sandbox limit and current usage."
          },
          "windows_concurrent": {
            "$ref": "#/components/schemas/UsageLimit",
            "description": "The concurrent Windows sandbox limit and current usage."
          }
        },
        "required": [
          "concurrent",
          "total",
          "gpu_concurrent",
          "windows_concurrent"
        ],
        "type": "object"
      },
      "SandboxList": {
        "description": "The requested sandboxes, after the optional wait.",
        "properties": {
          "sandboxes": {
            "description": "The requested sandboxes.",
            "items": {
              "$ref": "#/components/schemas/Sandbox"
            },
            "type": "array"
          }
        },
        "required": [
          "sandboxes"
        ],
        "type": "object"
      },
      "SandboxListItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Sandbox"
          },
          {
            "properties": {
              "cursor": {
                "description": "Opaque token that resumes immediately after this sandbox.",
                "type": "string"
              }
            },
            "required": [
              "cursor"
            ],
            "type": "object"
          }
        ],
        "description": "One sandbox in a paginated response."
      },
      "SandboxPage": {
        "description": "A page of sandboxes.",
        "properties": {
          "next_cursor": {
            "description": "The next page cursor, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          },
          "sandboxes": {
            "description": "The sandboxes in this page.",
            "items": {
              "$ref": "#/components/schemas/SandboxListItem"
            },
            "type": "array"
          }
        },
        "required": [
          "sandboxes"
        ],
        "type": "object"
      },
      "SandboxPort": {
        "description": "One exposed sandbox port on the wire (with the computed URL).",
        "properties": {
          "created_at": {
            "description": "When the port was first exposed.",
            "format": "date-time",
            "type": "string"
          },
          "port": {
            "description": "TCP port exposed from the sandbox.",
            "format": "int32",
            "type": "integer"
          },
          "public": {
            "description": "Whether the port is publicly accessible.",
            "type": "boolean"
          },
          "url": {
            "description": "Host-based preview URL, `<scheme>://<port>-<sandbox_id>.<domain>/`.",
            "type": "string"
          }
        },
        "required": [
          "port",
          "public",
          "url",
          "created_at"
        ],
        "type": "object"
      },
      "SandboxPortPage": {
        "description": "A keyset page of exposed sandbox ports.",
        "properties": {
          "next_cursor": {
            "description": "Opaque continuation token, or null on the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "ports": {
            "description": "Exposed sandbox ports in this page.",
            "items": {
              "$ref": "#/components/schemas/SandboxPort"
            },
            "type": "array"
          }
        },
        "required": [
          "ports"
        ],
        "type": "object"
      },
      "SandboxSearchPage": {
        "description": "A page of matching sandboxes.",
        "properties": {
          "next_cursor": {
            "description": "Continuation token for the next page; null on the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "sandboxes": {
            "description": "Matching sandboxes in this page.",
            "items": {
              "$ref": "#/components/schemas/SandboxListItem"
            },
            "type": "array"
          },
          "total": {
            "description": "The number of matching sandboxes. Exact when `total_relation` is\n`eq`, and a lower bound of 10000 when it is `gte`.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "total_relation": {
            "$ref": "#/components/schemas/SearchTotalRelation",
            "description": "Whether `total` is exact (`eq`) or a lower bound (`gte`)."
          }
        },
        "required": [
          "sandboxes",
          "total",
          "total_relation"
        ],
        "type": "object"
      },
      "SandboxSearchSort": {
        "enum": [
          "created_at",
          "updated_at",
          "last_activity_at",
          "name",
          "vcpus",
          "memory_mib",
          "disk_mib"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "SandboxStatus": {
        "enum": [
          "queued",
          "pending",
          "assigned",
          "booting",
          "running",
          "pausing",
          "paused",
          "stopping",
          "stopped",
          "deleting",
          "deleted",
          "failed",
          "lost"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "SandboxUsage": {
        "description": "Current resource use for a sandbox.",
        "properties": {
          "sandbox_id": {
            "description": "The sandbox ID.",
            "type": "string"
          },
          "usage": {
            "description": "Latest resource measurements for the sandbox.",
            "items": {
              "$ref": "#/components/schemas/SandboxUsageSample"
            },
            "type": "array"
          }
        },
        "required": [
          "sandbox_id",
          "usage"
        ],
        "type": "object"
      },
      "SandboxUsageHistory": {
        "description": "Historical resource usage for a sandbox.",
        "properties": {
          "available": {
            "description": "Whether usage history is available. When `false`, `periods` is empty\nand `resolution` is absent.",
            "type": "boolean"
          },
          "periods": {
            "description": "Usage buckets in chronological order.",
            "items": {
              "$ref": "#/components/schemas/UsagePeriod"
            },
            "type": "array"
          },
          "resolution": {
            "description": "Effective bucket size. Omitted when usage history is unavailable.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UsageHistoryResolution"
              }
            ]
          },
          "sandbox_id": {
            "description": "The sandbox ID.",
            "type": "string"
          }
        },
        "required": [
          "available",
          "periods",
          "sandbox_id"
        ],
        "type": "object"
      },
      "SandboxUsageSample": {
        "properties": {
          "cpu_cores": {
            "description": "Average CPU cores used over the latest sampling interval.",
            "format": "double",
            "type": "number"
          },
          "cpu_memory_available": {
            "description": "Whether CPU and memory measurements are available.",
            "type": "boolean"
          },
          "cpu_nanoseconds": {
            "description": "CPU time used since the sandbox started, in nanoseconds.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "disk_read_bytes": {
            "description": "Disk bytes read since the sandbox started.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "disk_read_bytes_per_second": {
            "description": "Disk bytes read per second over the latest sampling interval.",
            "format": "double",
            "type": "number"
          },
          "disk_total_bytes": {
            "description": "Total sandbox disk size, in bytes.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "disk_used_bytes": {
            "description": "Current disk space used, in bytes.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "disk_written_bytes": {
            "description": "Disk bytes written since the sandbox started.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "disk_written_bytes_per_second": {
            "description": "Disk bytes written per second over the latest sampling interval.",
            "format": "double",
            "type": "number"
          },
          "memory_bytes": {
            "description": "Current physical memory use, in bytes.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "network_received_bytes": {
            "description": "Network bytes received since the sandbox started.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "network_received_bytes_per_second": {
            "description": "Network bytes received per second over the latest sampling interval.",
            "format": "double",
            "type": "number"
          },
          "network_sent_bytes": {
            "description": "Network bytes sent since the sandbox started.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "network_sent_bytes_per_second": {
            "description": "Network bytes sent per second over the latest sampling interval.",
            "format": "double",
            "type": "number"
          },
          "sampled_at": {
            "description": "Time the measurement was taken.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "sampled_at",
          "memory_bytes",
          "disk_used_bytes",
          "disk_total_bytes",
          "cpu_cores",
          "disk_read_bytes_per_second",
          "disk_written_bytes_per_second",
          "network_received_bytes_per_second",
          "network_sent_bytes_per_second",
          "cpu_nanoseconds",
          "disk_read_bytes",
          "disk_written_bytes",
          "network_received_bytes",
          "network_sent_bytes",
          "cpu_memory_available"
        ],
        "type": "object"
      },
      "SearchTotalRelation": {
        "enum": [
          "eq",
          "gte"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "Secret": {
        "description": "Secret metadata. The value is write-only.",
        "properties": {
          "allowed_domains": {
            "description": "The hosts the secret's value may be sent to. `[\"*\"]` means any host\nthe platform has verified; an empty list means the secret is sent\nnowhere.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "created_at": {
            "description": "When the secret was created.",
            "format": "date-time",
            "type": "string"
          },
          "description": {
            "description": "The user-facing description, or null when absent.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The secret name.",
            "example": "OPENAI_API_KEY",
            "type": "string"
          },
          "updated_at": {
            "description": "When the secret was last updated.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "allowed_domains",
          "name",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "SecretPage": {
        "description": "GET /secrets response envelope.",
        "properties": {
          "next_cursor": {
            "description": "The opaque continuation token, or null on the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "secrets": {
            "description": "The secrets in this page.",
            "items": {
              "$ref": "#/components/schemas/Secret"
            },
            "type": "array"
          }
        },
        "required": [
          "secrets"
        ],
        "type": "object"
      },
      "SetAutomaticTopUpRequest": {
        "properties": {
          "target_cents": {
            "description": "The balance targeted by a top-up, in cents.",
            "format": "int64",
            "maximum": 99999999,
            "type": "integer"
          },
          "threshold_cents": {
            "description": "The balance that triggers a top-up, in cents.",
            "format": "int64",
            "maximum": 99998999,
            "minimum": 1000,
            "type": "integer"
          }
        },
        "required": [
          "threshold_cents",
          "target_cents"
        ],
        "type": "object"
      },
      "SetBalanceNotificationRequest": {
        "properties": {
          "threshold_cents": {
            "description": "The notification threshold in cents.",
            "format": "int64",
            "maximum": 5000000,
            "minimum": 500,
            "type": "integer"
          }
        },
        "required": [
          "threshold_cents"
        ],
        "type": "object"
      },
      "SetBillingContactRequest": {
        "properties": {
          "email": {
            "description": "The billing email to set, or `null` to restore the default.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "SetOtelConfigRequest": {
        "additionalProperties": false,
        "description": "The telemetry configuration to set. `headers` defaults to empty, and an\nunknown field is rejected with `400`.",
        "properties": {
          "endpoint": {
            "description": "OTLP/HTTP endpoint (`https://\u2026`; plaintext `http` only where the deployment allows insecure endpoints).",
            "type": "string"
          },
          "headers": {
            "additionalProperties": {
              "type": "string",
              "writeOnly": true
            },
            "description": "Request headers sent to the endpoint, name \u2192 value. Values are write-only: no read returns them.",
            "propertyNames": {
              "type": "string",
              "writeOnly": true
            },
            "type": "object"
          }
        },
        "required": [
          "endpoint"
        ],
        "type": "object"
      },
      "SetPlanRequest": {
        "properties": {
          "plan": {
            "$ref": "#/components/schemas/PlanName",
            "description": "The requested plan."
          }
        },
        "required": [
          "plan"
        ],
        "type": "object"
      },
      "SetProjectBudgetRequest": {
        "additionalProperties": false,
        "description": "`PUT /projects/{id}/budget` body.",
        "properties": {
          "monthly_limit_cents": {
            "description": "The monthly budget, in US cents: an integer from `100` ($1.00) to\n`100000000000` ($1 billion).",
            "format": "int64",
            "maximum": 100000000000,
            "minimum": 100,
            "type": "integer"
          }
        },
        "required": [
          "monthly_limit_cents"
        ],
        "type": "object"
      },
      "SetRegistryRequest": {
        "description": "Registry credentials. Passwords are encrypted at rest and are write-only.",
        "properties": {
          "description": {
            "description": "An optional user-facing description.",
            "type": [
              "string",
              "null"
            ]
          },
          "kind": {
            "default": "basic",
            "description": "The authentication kind. For `ecr_role`, the username is the role ARN and the password is ignored.",
            "enum": [
              "basic",
              "ghcr",
              "gcr",
              "ecr",
              "ecr_role"
            ],
            "type": "string",
            "x-daytona-open-enum": true
          },
          "password": {
            "description": "Registry password/token (max 64 KiB). Write-only \u2014 never echoed back\nby any public read endpoint. Required for every kind but `ecr_role`,\nwhich ignores it.",
            "type": "string"
          },
          "username": {
            "description": "The registry username.",
            "type": "string"
          }
        },
        "required": [
          "username"
        ],
        "type": "object"
      },
      "SetSandboxLabelsRequest": {
        "description": "Request body for `PUT /sandboxes/{id}/labels`: the full replacement label set.",
        "properties": {
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "default": {},
            "description": "The new label set. It replaces the current one, and `{}` clears all\nlabels.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          }
        },
        "type": "object"
      },
      "SetSandboxNetworkPolicyRequest": {
        "additionalProperties": false,
        "properties": {
          "allow_cidrs": {
            "description": "IPv4 addresses and CIDR ranges allowed by the policy. Defaults to an empty list.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "allow_domains": {
            "description": "Domain names allowed by the policy, or null when domain filtering is not configured.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          },
          "block_all": {
            "description": "Default-deny toggle. With a non-null `allow_domains`, omitted or null\nnormalizes to `true`, and an explicit `false` is rejected with\n`400 NETWORK_POLICY_DOMAINS_REQUIRE_BLOCK_ALL`. With `allow_domains`\nnull, omitted or null normalizes to `false`.",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "SetSandboxPortRequest": {
        "properties": {
          "public": {
            "description": "Whether the port is accessible without a credential.",
            "type": "boolean"
          }
        },
        "required": [
          "public"
        ],
        "type": "object"
      },
      "SetSecretRequest": {
        "additionalProperties": false,
        "description": "A secret value and its metadata. Values are encrypted at rest and are\nwrite-only.",
        "properties": {
          "allowed_domains": {
            "description": "Required per-secret egress scope: hostnames or `*.` wildcards, or\n`[\"*\"]` for any verified host. Empty or omitted is rejected.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "description": {
            "description": "An optional user-facing description.",
            "type": [
              "string",
              "null"
            ]
          },
          "value": {
            "description": "The secret value (max 64 KiB). Write-only \u2014 never echoed back.",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "SignSandboxFileUrlRequest": {
        "additionalProperties": false,
        "description": "A request to sign a sandbox file URL.",
        "properties": {
          "expires_at": {
            "description": "Absolute expiry. Must lie in the future and at most the deployment's\nsigned-URL ceiling ahead (7 days by default).",
            "format": "date-time",
            "type": "string"
          },
          "method": {
            "description": "`GET` signs a download link (`/files/download`) and `POST` an upload\nlink (`/files/upload`); no other method can be signed.",
            "type": "string"
          },
          "path": {
            "description": "Guest path the link addresses, verbatim (the canonical and the URL's\n`path` query parameter carry the same string).",
            "type": "string"
          }
        },
        "required": [
          "method",
          "path",
          "expires_at"
        ],
        "type": "object"
      },
      "SignedFileUrl": {
        "description": "A signed sandbox file URL and the fields needed to recompose it.",
        "properties": {
          "expires_at": {
            "description": "The expiry that was signed.",
            "format": "date-time",
            "type": "string"
          },
          "method": {
            "description": "`GET` or `POST`, as signed.",
            "type": "string"
          },
          "path": {
            "description": "The guest path, as signed.",
            "type": "string"
          },
          "signature": {
            "description": "The link's signature. Pass it back unchanged.",
            "type": "string"
          },
          "url": {
            "description": "The full pre-signed URL against the sandbox region's toolbox proxy.",
            "type": "string"
          }
        },
        "required": [
          "url",
          "method",
          "path",
          "expires_at",
          "signature"
        ],
        "type": "object"
      },
      "SignedPreviewUrl": {
        "description": "A signed preview link.",
        "properties": {
          "expires_at": {
            "description": "When the link stops resolving (natural expiry).",
            "format": "date-time",
            "type": "string"
          },
          "token": {
            "description": "The plaintext signed token (`s` + 32 hex). Returned exactly once, here;\nonly its hash is stored. Needed separately from `url` for the revoke\nroute.",
            "type": "string"
          },
          "url": {
            "description": "Host-based preview URL, `<scheme>://<port>-<token>.<domain>/` \u2014 the\ntoken replaces the sandbox id in the hostname, so the link reveals no\nsandbox identity.",
            "type": "string"
          }
        },
        "required": [
          "url",
          "token",
          "expires_at"
        ],
        "type": "object"
      },
      "Snapshot": {
        "properties": {
          "available_in": {
            "description": "Every region where the snapshot is available.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "bytes": {
            "description": "The disk size in bytes, or null until capture completes.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "class": {
            "$ref": "#/components/schemas/SnapshotClass",
            "description": "The sandbox class."
          },
          "created_at": {
            "description": "When the snapshot was created.",
            "format": "date-time",
            "type": "string"
          },
          "error": {
            "description": "The failure detail, or null when capture has not failed.",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "The snapshot ID.",
            "example": "snap_7fJk2mQpXv9dLc3RtY",
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/SnapshotKind",
            "description": "The snapshot kind. `full` captures memory and disk on Linux;\n`checkpoint` captures a GPU sandbox."
          },
          "memory_bytes": {
            "description": "The memory size in bytes, or null for snapshots without memory state.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The project-unique snapshot name.",
            "type": "string"
          },
          "region": {
            "description": "The home region.",
            "type": "string"
          },
          "sandbox_id": {
            "description": "The ID of the sandbox the snapshot was captured from, or null when\nthat sandbox no longer exists.",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "The snapshot status.",
            "type": "string"
          },
          "updated_at": {
            "description": "When the snapshot was last updated.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "class",
          "kind",
          "status",
          "region",
          "available_in",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "SnapshotClass": {
        "enum": [
          "linux",
          "gpu"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "SnapshotKind": {
        "enum": [
          "full",
          "checkpoint"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "SnapshotListItem": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Snapshot"
          },
          {
            "properties": {
              "cursor": {
                "description": "This row's opaque continuation token.",
                "type": "string"
              }
            },
            "required": [
              "cursor"
            ],
            "type": "object"
          }
        ],
        "description": "A snapshot with its row cursor."
      },
      "SnapshotPage": {
        "description": "A page of snapshots.",
        "properties": {
          "next_cursor": {
            "description": "Opaque continuation token; `null` on the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "snapshots": {
            "description": "The snapshots in this page.",
            "items": {
              "$ref": "#/components/schemas/SnapshotListItem"
            },
            "type": "array"
          }
        },
        "required": [
          "snapshots"
        ],
        "type": "object"
      },
      "SnapshotReference": {
        "description": "Snapshot used to create a sandbox.",
        "properties": {
          "id": {
            "description": "The snapshot ID.",
            "type": "string"
          },
          "name": {
            "description": "The snapshot name, when one is assigned.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id"
        ],
        "type": "object"
      },
      "SortOrder": {
        "enum": [
          "asc",
          "desc"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "SshGatewayConfig": {
        "description": "The `ssh_gateway` block of the deployment configuration.",
        "properties": {
          "host": {
            "description": "SSH gateway host.",
            "type": "string"
          },
          "port": {
            "description": "SSH gateway port.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "host",
          "port"
        ],
        "type": "object"
      },
      "SsoConnection": {
        "description": "One single sign-on connection configured for an organization.",
        "properties": {
          "connection_type": {
            "description": "The connection protocol and provider type.",
            "type": "string"
          },
          "created_at": {
            "description": "When the connection was created.",
            "format": "date-time",
            "type": "string"
          },
          "domains": {
            "description": "The email domains the connection signs in.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "The connection ID.",
            "type": "string"
          },
          "name": {
            "description": "The connection name.",
            "type": "string"
          },
          "status": {
            "description": "The connection status.",
            "type": "string"
          },
          "updated_at": {
            "description": "When the connection was last updated.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "id",
          "name",
          "connection_type",
          "status",
          "domains",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "SsoConnectionPage": {
        "properties": {
          "connections": {
            "description": "The organization's single sign-on connections.",
            "items": {
              "$ref": "#/components/schemas/SsoConnection"
            },
            "type": "array"
          },
          "next_cursor": {
            "description": "Opaque continuation token for the next page, or null on the last page.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "connections"
        ],
        "type": "object"
      },
      "SsoSetupLink": {
        "properties": {
          "url": {
            "description": "The setup URL, which expires five minutes after issuance.",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "TimeoutSource": {
        "enum": [
          "project",
          "platform",
          "none"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "TokenExchange": {
        "description": "A platform access token.",
        "properties": {
          "access_token": {
            "description": "Project- or organization-scoped access token.",
            "type": "string"
          },
          "expires_in": {
            "description": "Token lifetime in seconds (default 300).",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "issued_token_type": {
            "description": "Always `urn:ietf:params:oauth:token-type:access_token`.",
            "example": "urn:ietf:params:oauth:token-type:access_token",
            "type": "string"
          },
          "token_type": {
            "description": "Always `Bearer`.",
            "example": "Bearer",
            "type": "string"
          }
        },
        "required": [
          "access_token",
          "issued_token_type",
          "token_type",
          "expires_in"
        ],
        "type": "object"
      },
      "UpdateAuditConfigRequest": {
        "properties": {
          "disabled": {
            "description": "Whether to disable audit capture.",
            "type": "boolean"
          }
        },
        "required": [
          "disabled"
        ],
        "type": "object"
      },
      "UpdateEphemeralLifecycleDefaults": {
        "additionalProperties": false,
        "properties": {
          "idle_timeout_seconds": {
            "default": null,
            "description": "Idle time before cleanup in seconds, or null to disable it.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "timeout_seconds": {
            "default": null,
            "description": "Maximum sandbox lifetime in seconds, or null to inherit it.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "UpdateImageRequest": {
        "properties": {
          "name": {
            "description": "The permanent image name.",
            "example": "keep-this",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "UpdateMacosSettingsRequest": {
        "additionalProperties": false,
        "description": "The macOS settings to change: any non-empty subset of the fields.",
        "properties": {
          "macos_auto_reserve": {
            "description": "Whether new macOS creates may automatically reserve capacity.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "macos_auto_reserve_max_reservations": {
            "description": "Maximum number of automatically created reservations.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "UpdateMemberRequest": {
        "properties": {
          "roles": {
            "description": "The member's complete new role set. Required, with at least one role.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "roles"
        ],
        "type": "object"
      },
      "UpdateOrganizationRequest": {
        "additionalProperties": false,
        "properties": {
          "max_sandbox_timeout_seconds": {
            "description": "The longest timeout a sandbox in this organization may have, in seconds; null uses the platform maximum.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "name": {
            "description": "The replacement organization name.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "UpdatePersistentLifecycleDefaults": {
        "additionalProperties": false,
        "properties": {
          "idle_timeout_seconds": {
            "default": null,
            "description": "Idle time before cleanup in seconds, or null to disable it.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "on_idle_timeout": {
            "default": null,
            "description": "The action taken when the idle timeout is reached.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "on_timeout": {
            "default": null,
            "description": "The action taken when the maximum lifetime is reached.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "timeout_seconds": {
            "default": null,
            "description": "Maximum sandbox lifetime in seconds, or null to inherit it.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "wake_on_request": {
            "default": null,
            "description": "Whether an incoming request may wake a stopped sandbox.",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "UpdatePreviewWarningRequest": {
        "additionalProperties": false,
        "description": "Turns the preview warning page off or on. Unknown fields are rejected.",
        "properties": {
          "disabled": {
            "description": "`true` turns the preview warning page off for every sandbox preview of\nthe organization (needs the `preview_warning_opt_out` entitlement where\nenforcement is on); `false` turns it back on.",
            "type": "boolean"
          }
        },
        "required": [
          "disabled"
        ],
        "type": "object"
      },
      "UpdateProjectApiKeyRequest": {
        "properties": {
          "sync_to_v1": {
            "description": "Whether the v1 \u2194 v2 key sync keeps a copy of this key on Daytona v1.\n`false` deletes the v1 copy (the key keeps working here); `true`\ncopies the key to v1 again. A v1 copy can read every sandbox,\nsnapshot and registry of the organization on v1, which has no read\npermissions. Only a key a person minted in the organization's\n`default` project is ever copied; a key imported from v1 always is.\nRequired: it is the only field.",
            "type": "boolean"
          }
        },
        "required": [
          "sync_to_v1"
        ],
        "type": "object"
      },
      "UpdateProjectLifecyclePolicyRequest": {
        "additionalProperties": false,
        "description": "A `PATCH` at block granularity: an absent block is kept, `null` clears it,\nand an object replaces the whole block (a field missing inside it is\nunset). Blocks never merge field by field, so each block is validated on\nits own.",
        "properties": {
          "ephemeral": {
            "description": "Replacement defaults for ephemeral sandboxes; null clears the block.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UpdateEphemeralLifecycleDefaults"
              }
            ]
          },
          "persistent": {
            "description": "Replacement defaults for persistent sandboxes; null clears the block.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UpdatePersistentLifecycleDefaults"
              }
            ]
          }
        },
        "type": "object"
      },
      "UpdateProjectRequest": {
        "properties": {
          "name": {
            "description": "The new project name.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "UpdateReservationRequest": {
        "additionalProperties": false,
        "description": "PATCH /reservations/{id} body.",
        "properties": {
          "auto_renew": {
            "description": "Renew the reservation near each period end while a macOS sandbox is active\non it; off lets it lapse at `period_end`.",
            "type": "boolean"
          }
        },
        "required": [
          "auto_renew"
        ],
        "type": "object"
      },
      "UpdateSandboxLifecyclePolicyRequest": {
        "additionalProperties": false,
        "description": "Sandbox lifecycle settings accepted during creation and lifecycle updates.\nUnknown fields return 400 instead of being ignored.",
        "properties": {
          "archive_interval_seconds": {
            "default": null,
            "description": "Seconds a stopped sandbox waits before it is archived: its disk moves\nto object storage, and its next start restores it first. `60..=2592000`\n(30 days); `0` means the maximum and is stored as 2592000. Omitted at\ncreate: one day (86400 s). Linux persistent only; a sandbox with\nvolumes keeps its interval but is not archived yet.",
            "example": 86400,
            "format": "int64",
            "maximum": 2592000,
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "idle_expiry_seconds": {
            "default": null,
            "description": "Idle seconds before the idle action runs. A value below 60 is raised to 60; use `-1` to clear the idle expiry.",
            "example": 900,
            "format": "int64",
            "maximum": 2147483647,
            "minimum": -1,
            "type": [
              "integer",
              "null"
            ]
          },
          "on_idle_timeout": {
            "default": null,
            "description": "Action to run when the idle expiry elapses.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "on_timeout": {
            "default": null,
            "description": "Action to run when the timeout expires.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/LifecycleAction"
              }
            ]
          },
          "timeout_seconds": {
            "default": null,
            "description": "Seconds before the timeout action runs. Supplying a value restarts the countdown.",
            "example": 300,
            "format": "int64",
            "maximum": 2147483647,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "wake_on_request": {
            "default": null,
            "description": "Whether incoming traffic resumes a stopped persistent Linux sandbox.",
            "type": [
              "boolean",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "UpdateServiceAccountRequest": {
        "properties": {
          "description": {
            "description": "The replacement description; `null` clears it.",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The replacement name.",
            "type": [
              "string",
              "null"
            ]
          },
          "roles": {
            "description": "The replacement role identifiers.",
            "items": {
              "type": "string"
            },
            "type": [
              "array",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "UsageCharge": {
        "properties": {
          "billable_metric": {
            "description": "The billing metric identifier.",
            "type": "string"
          },
          "events_count": {
            "description": "The number of usage events included.",
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "description": "The charge display name.",
            "type": "string"
          },
          "quantity": {
            "description": "The billed quantity.",
            "format": "double",
            "type": "number"
          },
          "total_cents": {
            "description": "The charge total in cents.",
            "format": "int64",
            "type": "integer"
          },
          "units": {
            "description": "The unit used for the billed quantity.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "quantity",
          "total_cents",
          "units",
          "events_count",
          "billable_metric"
        ],
        "type": "object"
      },
      "UsageHistoryResolution": {
        "enum": [
          "minute",
          "hour"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "UsageLimit": {
        "properties": {
          "limit": {
            "description": "The effective cap; `null` means no limit. A ceiling, not a\nreservation: reaching it refuses new work, but nothing is set aside.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "usage": {
            "description": "The current usage counted against the limit.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "limit",
          "usage"
        ],
        "type": "object"
      },
      "UsagePeriod": {
        "description": "Resource usage during one time bucket.",
        "properties": {
          "cpu_core_seconds": {
            "description": "CPU time consumed in the bucket, core-seconds.",
            "format": "double",
            "type": "number"
          },
          "disk_read_bytes": {
            "description": "Bytes read from disk during the bucket.",
            "format": "int64",
            "type": "integer"
          },
          "disk_used_bytes": {
            "description": "Disk space used, in bytes: the last sample in the bucket at `minute`\nresolution, and the highest sample in the bucket at `hour` resolution.",
            "format": "int64",
            "type": "integer"
          },
          "disk_written_bytes": {
            "description": "Bytes written to disk during the bucket.",
            "format": "int64",
            "type": "integer"
          },
          "duration_ms": {
            "description": "Wall-clock span the bucket actually covered, ms.",
            "format": "int64",
            "type": "integer"
          },
          "memory_byte_seconds": {
            "description": "Memory integral over the bucket, byte-seconds.",
            "format": "double",
            "type": "number"
          },
          "memory_peak_bytes": {
            "description": "Peak physical memory use during the bucket, in bytes.",
            "format": "int64",
            "type": "integer"
          },
          "network_received_bytes": {
            "description": "Bytes received over the network during the bucket.",
            "format": "int64",
            "type": "integer"
          },
          "network_sent_bytes": {
            "description": "Bytes sent over the network during the bucket.",
            "format": "int64",
            "type": "integer"
          },
          "start_at": {
            "description": "Start of the bucket.",
            "format": "date-time",
            "type": "string"
          }
        },
        "required": [
          "cpu_core_seconds",
          "disk_used_bytes",
          "duration_ms",
          "disk_read_bytes",
          "disk_written_bytes",
          "memory_byte_seconds",
          "memory_peak_bytes",
          "network_received_bytes",
          "network_sent_bytes",
          "start_at"
        ],
        "type": "object"
      },
      "UsagePeriodPage": {
        "properties": {
          "next_cursor": {
            "description": "The next page cursor, or `null` at the end.",
            "type": [
              "string",
              "null"
            ]
          },
          "usage_periods": {
            "description": "The usage periods in this page, newest first.",
            "items": {
              "$ref": "#/components/schemas/BillingUsagePeriod"
            },
            "type": "array"
          }
        },
        "required": [
          "usage_periods"
        ],
        "type": "object"
      },
      "UsagePeriodStatus": {
        "enum": [
          "open",
          "closed"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "UsageReport": {
        "description": "Project usage over a time range.",
        "properties": {
          "available": {
            "description": "Whether usage reporting is available.",
            "type": "boolean"
          },
          "end_at": {
            "description": "End of the reported time range, exclusive.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "items": {
            "description": "Usage grouped by sandbox and interval.",
            "items": {
              "$ref": "#/components/schemas/UsageReportEntry"
            },
            "type": "array"
          },
          "resolution": {
            "description": "Effective bucket size. Omitted when usage reporting is unavailable.",
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UsageReportResolution"
              }
            ]
          },
          "start_at": {
            "description": "Start of the reported time range, inclusive.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "available",
          "items"
        ],
        "type": "object"
      },
      "UsageReportEntry": {
        "description": "Usage for one sandbox and interval.",
        "properties": {
          "interval_start_at": {
            "description": "Start of the aggregation interval.",
            "format": "date-time",
            "type": "string"
          },
          "resources": {
            "$ref": "#/components/schemas/UsageResources",
            "description": "Resource consumption during the interval."
          },
          "sandbox_id": {
            "description": "The sandbox ID.",
            "type": "string"
          }
        },
        "required": [
          "sandbox_id",
          "interval_start_at",
          "resources"
        ],
        "type": "object"
      },
      "UsageReportResolution": {
        "enum": [
          "hour",
          "day"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "UsageResources": {
        "description": "Resource consumption within one interval.",
        "properties": {
          "cpu_core_seconds": {
            "description": "CPU time used during the interval, in core-seconds.",
            "format": "double",
            "type": "number"
          },
          "disk_read_bytes": {
            "description": "Bytes read from disk during the interval.",
            "format": "int64",
            "type": "integer"
          },
          "disk_used_bytes": {
            "description": "Highest disk space used during the interval, in bytes.",
            "format": "int64",
            "type": "integer"
          },
          "disk_written_bytes": {
            "description": "Bytes written to disk during the interval.",
            "format": "int64",
            "type": "integer"
          },
          "memory_byte_seconds": {
            "description": "Memory use integrated over the interval, in byte-seconds.",
            "format": "double",
            "type": "number"
          },
          "memory_peak_bytes": {
            "description": "Peak physical memory use during the interval, in bytes.",
            "format": "int64",
            "type": "integer"
          },
          "network_received_bytes": {
            "description": "Bytes received over the network during the interval.",
            "format": "int64",
            "type": "integer"
          },
          "network_sent_bytes": {
            "description": "Bytes sent over the network during the interval.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "cpu_core_seconds",
          "memory_byte_seconds",
          "memory_peak_bytes",
          "disk_used_bytes",
          "disk_read_bytes",
          "disk_written_bytes",
          "network_received_bytes",
          "network_sent_bytes"
        ],
        "type": "object"
      },
      "User": {
        "description": "The signed-in user.",
        "properties": {
          "email": {
            "description": "The user's email address.",
            "type": "string"
          },
          "id": {
            "description": "The user ID.",
            "format": "uuid",
            "type": "string"
          },
          "name": {
            "description": "The user's display name, when set.",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "email"
        ],
        "type": "object"
      },
      "V1MigrationSummary": {
        "description": "Response of `GET /migration/v1/summary`.",
        "properties": {
          "api_keys": {
            "description": "Live API keys of the organization's `default` project. Keys synced from\nv1 work on both platforms unchanged.",
            "format": "int64",
            "type": "integer"
          },
          "from_v1": {
            "description": "The organization was imported from Daytona v1 (it carries the v1\norganization id it came from). Personal organizations included.",
            "type": "boolean"
          },
          "images_converted": {
            "description": "Named images registered from v1 snapshots that are at the current\nimage format.",
            "format": "int64",
            "type": "integer"
          },
          "images_to_convert": {
            "description": "Named images registered from v1 snapshots that are still below the\ncurrent image format (`format_outdated`): not converted yet,\nconverting, or a failed conversion (retried on the next use). Each\nconverts on its first Linux sandbox create, or ahead of time with\n`POST /images/{id}/convert`.",
            "format": "int64",
            "type": "integer"
          },
          "personal": {
            "description": "The organization is a personal organization.",
            "type": "boolean"
          },
          "registries": {
            "description": "Container registries of the `default` project.",
            "format": "int64",
            "type": "integer"
          },
          "sandboxes_imported": {
            "description": "Archived v1 sandboxes imported into the `default` project.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "from_v1",
          "api_keys",
          "registries",
          "images_to_convert",
          "images_converted",
          "sandboxes_imported",
          "personal"
        ],
        "type": "object"
      },
      "V1Sandbox": {
        "description": "One sandbox available from the v1 migration source.",
        "properties": {
          "class": {
            "description": "The sandbox class on v1.",
            "example": "container",
            "type": "string"
          },
          "cpu": {
            "description": "CPU cores on v1.",
            "format": "int64",
            "type": "integer"
          },
          "disk_gib": {
            "description": "Disk storage in GiB on v1.",
            "format": "int64",
            "type": "integer"
          },
          "importable": {
            "description": "Whether `POST /migration/v1/sandboxes/{v1_id}/import` can import it\nnow.",
            "type": "boolean"
          },
          "imported_sandbox_id": {
            "description": "The imported sandbox ID when a live import exists.",
            "type": [
              "string",
              "null"
            ]
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "The sandbox labels.",
            "propertyNames": {
              "type": "string"
            },
            "type": "object"
          },
          "last_backup_at": {
            "description": "When v1 last completed a backup of the sandbox.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "memory_gib": {
            "description": "Memory in GiB on v1.",
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "description": "The sandbox name.",
            "type": "string"
          },
          "reason": {
            "description": "Why it cannot be imported, when `importable` is false:\n`not_container`, `not_archived`, `backup_not_completed`,\n`backup_registry_unavailable` (v1's reasons) or `gpu_not_supported`.\nAny other reason v1 sends is passed through.",
            "example": "not_archived",
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "description": "The sandbox status on v1.",
            "example": "archived",
            "type": "string"
          },
          "v1_id": {
            "description": "The sandbox ID on v1.",
            "type": "string"
          }
        },
        "required": [
          "v1_id",
          "name",
          "status",
          "class",
          "importable",
          "labels",
          "cpu",
          "memory_gib",
          "disk_gib"
        ],
        "type": "object"
      },
      "V1SandboxImport": {
        "description": "The result of importing a v1 sandbox.",
        "properties": {
          "existing": {
            "description": "True when this call returned an earlier import instead of creating a\nsandbox.",
            "type": "boolean"
          },
          "image_id": {
            "description": "The image it boots from (`img_\u2026`): an anonymous format-version-1\nimage registered from the v1 backup; the import starts its conversion\nto the current format and the sandbox's create joins it.",
            "example": "img_7fJk2mQpXv9dLc3RtY",
            "type": "string"
          },
          "sandbox_id": {
            "description": "The persistent sandbox ID.",
            "type": "string"
          },
          "secret_env_vars": {
            "description": "Env variable names whose value on v1 is a sandbox secret. v1 never\nhands the value over, so the imported sandbox starts without them:\nset them on it. Empty when the call returned an existing import.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "status": {
            "description": "The sandbox's status. A fresh import is `queued` while its image is\nimported from the v1 backup registry.",
            "example": "queued",
            "type": "string"
          },
          "v1_labeled": {
            "description": "Whether v1 confirmed the `daytona.io/migrated-to` label on the v1\nsandbox. False means the label could not be set now; the import itself\nsucceeded, and repeating the call retries the label.",
            "type": "boolean"
          },
          "warnings": {
            "description": "Settings and values that could not be imported.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "sandbox_id",
          "image_id",
          "status",
          "existing",
          "v1_labeled",
          "warnings",
          "secret_env_vars"
        ],
        "type": "object"
      },
      "V1SandboxPage": {
        "description": "`GET /migration/v1/sandboxes` response: one page.",
        "properties": {
          "next_cursor": {
            "description": "Opaque token for the next page \u2014 pass it as `?cursor=`; `null` on the\nlast page. A page can be shorter than `limit` without being the last:\nonly a `null` ends the walk.",
            "type": [
              "string",
              "null"
            ]
          },
          "sandboxes": {
            "description": "The v1 sandboxes in this page.",
            "items": {
              "$ref": "#/components/schemas/V1Sandbox"
            },
            "type": "array"
          }
        },
        "required": [
          "sandboxes"
        ],
        "type": "object"
      },
      "Volume": {
        "description": "A volume available to the project.",
        "properties": {
          "created_at": {
            "description": "When the volume was created.",
            "format": "date-time",
            "type": "string"
          },
          "error": {
            "description": "The failure detail, or null when the volume has not failed.",
            "type": [
              "string",
              "null"
            ]
          },
          "id": {
            "description": "The volume ID.",
            "example": "vol_7fJk2mQpXv9dLc3RtY",
            "type": "string"
          },
          "last_used_at": {
            "description": "When the volume was last attached, or null when it has not been used.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          },
          "name": {
            "description": "The project-unique volume name.",
            "type": "string"
          },
          "options": {
            "description": "Type-specific options. Disk volumes use an empty object; bucket volumes\ninclude their bucket settings and credential secret names.",
            "type": "object"
          },
          "size_gib": {
            "description": "Scratch capacity in GiB. Disk volumes only \u2014 a bucket volume has no\ncapacity of its own and reports `null`.",
            "format": "int32",
            "type": [
              "integer",
              "null"
            ]
          },
          "status": {
            "$ref": "#/components/schemas/VolumeStatus",
            "description": "The volume status."
          },
          "type": {
            "$ref": "#/components/schemas/VolumeType",
            "description": "The volume type."
          },
          "updated_at": {
            "description": "When the volume metadata last changed.",
            "format": "date-time",
            "type": "string"
          },
          "used_bytes": {
            "description": "Logical file usage in bytes, or null before the first usage report.",
            "format": "int64",
            "type": [
              "integer",
              "null"
            ]
          },
          "used_bytes_at": {
            "description": "When `used_bytes` was observed, or null when usage is unknown.",
            "format": "date-time",
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "type",
          "status",
          "created_at",
          "updated_at"
        ],
        "type": "object"
      },
      "VolumeMount": {
        "description": "A volume attachment as requested on `POST /sandboxes`.",
        "properties": {
          "mount_path": {
            "description": "The absolute path inside the sandbox.",
            "example": "/mnt/data",
            "type": "string"
          },
          "read_only": {
            "description": "Mount without write access. Supported only for bucket volumes.",
            "type": [
              "boolean",
              "null"
            ]
          },
          "subpath": {
            "description": "Mount only this subtree: a subdirectory for a disk volume, a key prefix\nunder the volume's own prefix for a bucket volume.",
            "type": [
              "string",
              "null"
            ]
          },
          "volume": {
            "description": "The volume name or a `vol_` id.",
            "type": "string"
          }
        },
        "required": [
          "volume",
          "mount_path"
        ],
        "type": "object"
      },
      "VolumePage": {
        "description": "Response envelope for `GET /volumes`.",
        "properties": {
          "next_cursor": {
            "description": "The opaque continuation token, or null on the last page.",
            "type": [
              "string",
              "null"
            ]
          },
          "volumes": {
            "description": "The volumes in this page.",
            "items": {
              "$ref": "#/components/schemas/Volume"
            },
            "type": "array"
          }
        },
        "required": [
          "volumes"
        ],
        "type": "object"
      },
      "VolumeStatus": {
        "enum": [
          "ready",
          "deleting",
          "deleted",
          "error"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "VolumeType": {
        "enum": [
          "disk",
          "bucket"
        ],
        "type": "string",
        "x-daytona-open-enum": true
      },
      "Wallet": {
        "properties": {
          "automatic_top_up": {
            "$ref": "#/components/schemas/AutomaticTopUp",
            "description": "The automatic top-up setting, including its unset state."
          },
          "balance_cents": {
            "description": "The total available balance in cents.",
            "format": "int64",
            "type": "integer"
          },
          "billing_type": {
            "$ref": "#/components/schemas/BillingType",
            "description": "The organization's billing arrangement."
          },
          "currency": {
            "description": "The lowercase ISO 4217 currency code.",
            "type": "string"
          },
          "free_credits_balance_cents": {
            "description": "The promotional-credit balance in cents.",
            "format": "int64",
            "type": "integer"
          },
          "paid_credits_balance_cents": {
            "description": "The purchased-credit balance in cents.",
            "format": "int64",
            "type": "integer"
          },
          "total_amount_due_this_month_cents": {
            "description": "The amount due in the current month, in cents.",
            "format": "int64",
            "type": "integer"
          },
          "total_spent_this_month_cents": {
            "description": "The amount spent in the current month, in cents.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "balance_cents",
          "free_credits_balance_cents",
          "paid_credits_balance_cents",
          "currency",
          "billing_type",
          "total_spent_this_month_cents",
          "total_amount_due_this_month_cents",
          "automatic_top_up"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "api_key": {
        "description": "Bearer project API key.",
        "scheme": "bearer",
        "type": "http"
      },
      "oidc_jwt": {
        "bearerFormat": "JWT",
        "description": "Bearer access token for a signed-in user, accepted by token exchange.",
        "scheme": "bearer",
        "type": "http"
      },
      "org_key": {
        "description": "Bearer organization API key.",
        "scheme": "bearer",
        "type": "http"
      },
      "platform_token": {
        "bearerFormat": "JWT",
        "description": "Short-lived Bearer access token scoped to one project.",
        "scheme": "bearer",
        "type": "http"
      },
      "sandbox_token": {
        "bearerFormat": "JWT",
        "description": "Short-lived Bearer token scoped to one sandbox and selected sandbox actions.",
        "scheme": "bearer",
        "type": "http"
      },
      "user_jwt": {
        "description": "Bearer access token for a signed-in user.",
        "scheme": "bearer",
        "type": "http"
      },
      "vm_token": {
        "description": "Bearer token scoped to one sandbox and its self-service actions.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "info": {
    "description": "Authentication uses Bearer tokens; each operation's security declaration names the accepted schemes, and public operations declare an empty security array. Errors use the `ErrorBody` envelope, and every response includes `x-daytona-trace-id` so support can locate the request. Lists use `limit` and an opaque `cursor`, and return `next_cursor` when another page exists. Some deployments serve API areas at different base URLs; a request sent to a base URL that does not serve it returns 501 (`WORKLOAD_PLANE_ELSEWHERE` or `MANAGEMENT_PLANE_ELSEWHERE`). Adding an enum value is not a breaking change; clients must accept values they don't recognize.",
    "license": {
      "name": "LicenseRef-Proprietary",
      "url": "https://github.com/daytona/rlp/blob/main/LICENSE"
    },
    "title": "Daytona API",
    "version": "0.0.0-dev"
  },
  "openapi": "3.1.0",
  "paths": {
    "/api-keys/current": {
      "get": {
        "description": "Describes the API key presented on this request.",
        "operationId": "get_current_api_key",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectApiKeyWithContext"
                }
              }
            },
            "description": "The project API key",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": []
          }
        ],
        "summary": "Get the current project API key",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/audit/actions": {
      "get": {
        "operationId": "list_audit_actions",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditActionList"
                }
              }
            },
            "description": "The audit action catalog",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "user_jwt": []
          },
          {
            "org_key": []
          },
          {
            "api_key": []
          },
          {
            "platform_token": []
          }
        ],
        "summary": "List audit actions",
        "tags": [
          "audit"
        ]
      }
    },
    "/auth/token": {
      "post": {
        "description": "Returns a project-scoped token for `daytona:api` or an organization-scoped token for `daytona:analytics`.",
        "operationId": "exchange_token",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExchangeTokenRequest"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/ExchangeTokenRequest"
              }
            }
          },
          "description": "Token exchange request. `audience`, `org_id`, and `project_id` may each appear at most once.",
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenExchange"
                }
              }
            },
            "description": "The platform access token",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The token exchange request is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project or organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "oidc_jwt": []
          }
        ],
        "summary": "Exchange a sign-in token",
        "tags": [
          "auth"
        ]
      }
    },
    "/config": {
      "get": {
        "description": "Returns public settings clients need before signing in.",
        "operationId": "get_config",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Config"
                }
              }
            },
            "description": "The runtime configuration",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [],
        "summary": "Get the runtime configuration",
        "tags": [
          "system"
        ]
      }
    },
    "/cpu-catalog": {
      "get": {
        "description": "Shows which CPU architectures and types are currently available in the included regions.",
        "operationId": "get_cpu_catalog",
        "parameters": [
          {
            "description": "Comma-separated list of regions to include. Defaults to all regions.",
            "in": "query",
            "name": "region",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CpuCatalog"
                }
              }
            },
            "description": "The CPU catalog",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The region parameter names an unavailable region, or more than 64 distinct regions (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The requested region is served at another API URL (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          },
          {
            "platform_token": []
          }
        ],
        "summary": "Get the CPU catalog",
        "tags": [
          "catalog"
        ]
      }
    },
    "/events/{region}": {
      "get": {
        "operationId": "get_sandbox_event_stream",
        "parameters": [
          {
            "$ref": "#/components/parameters/RegionTag"
          }
        ],
        "responses": {
          "101": {
            "description": "The sandbox event stream",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Region not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox event stream is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {}
        ],
        "summary": "Get the sandbox event stream",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/events/{region}/ticket": {
      "post": {
        "operationId": "mint_sandbox_event_ticket",
        "parameters": [
          {
            "$ref": "#/components/parameters/RegionTag"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxEventTicket"
                }
              }
            },
            "description": "The sandbox event ticket",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Region not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox event ticket is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Mint a sandbox event ticket",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/health": {
      "get": {
        "description": "Reports whether this API instance is serving requests. It covers the instance itself, not the availability of every individual operation.",
        "operationId": "get_health",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            },
            "description": "The API health",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The API is not ready to accept requests (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [],
        "summary": "Get API health",
        "tags": [
          "system"
        ]
      }
    },
    "/images": {
      "get": {
        "description": "Images are returned newest first.",
        "operationId": "list_images",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          },
          {
            "description": "Match this exact image name.",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Return images captured from this sandbox ID.",
            "in": "query",
            "name": "sandbox_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Return anonymous images when true and named images when false. Defaults to false.",
            "in": "query",
            "name": "anonymous",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Which images to list. Defaults to `false`.",
            "in": "query",
            "name": "platform",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ImagePlatformFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImagePage"
                }
              }
            },
            "description": "The page of images",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The cursor or filter is invalid (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": [
              "read:images"
            ]
          },
          {
            "platform_token": [
              "read:images"
            ]
          }
        ],
        "summary": "List images",
        "tags": [
          "images"
        ]
      },
      "post": {
        "operationId": "create_image",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateImageRequest"
              }
            },
            "multipart/form-data": {
              "schema": {
                "$ref": "#/components/schemas/CreateImageMultipartRequest"
              }
            }
          },
          "description": "Build request. `application/json` carries a registry or named source; `multipart/form-data` carries an uploaded build context, with the fields `name`, optional `dockerfile` (a path within the context), `region`, `cpu_arch`, and the file field `context` (a build-context tar).",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the image build",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or target region is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Source image not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The image name exists or the source image is not ready (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "security": [
          {
            "api_key": [
              "write:images"
            ]
          },
          {
            "platform_token": [
              "write:images"
            ]
          }
        ],
        "summary": "Create an image",
        "tags": [
          "images"
        ]
      }
    },
    "/images/{id}": {
      "delete": {
        "description": "Deletion is refused while a sandbox, snapshot, or function depends on the image.",
        "operationId": "delete_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/ImageIdOrName"
          },
          {
            "$ref": "#/components/parameters/IdOnly"
          }
        ],
        "responses": {
          "204": {
            "description": "Image deleted",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The value matches both an image ID and a different image's name (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Image not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Another resource still depends on the image (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "delete:images"
            ]
          },
          {
            "platform_token": [
              "delete:images"
            ]
          }
        ],
        "summary": "Delete an image",
        "tags": [
          "images"
        ]
      },
      "get": {
        "description": "Optionally waits for the image to reach a requested status.",
        "operationId": "get_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/Wait"
          },
          {
            "$ref": "#/components/parameters/TimeoutMs"
          },
          {
            "$ref": "#/components/parameters/IdOnly"
          },
          {
            "$ref": "#/components/parameters/ImageIdOrName"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            },
            "description": "The image",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The value matches both an image ID and a different image's name (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Image not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:images"
            ]
          },
          {
            "platform_token": [
              "read:images"
            ]
          }
        ],
        "summary": "Get an image",
        "tags": [
          "images"
        ]
      },
      "patch": {
        "description": "Naming an anonymous image makes it permanent. Named images cannot be renamed.",
        "operationId": "update_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/ImageIdOrName"
          },
          {
            "$ref": "#/components/parameters/IdOnly"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateImageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Image"
                }
              }
            },
            "description": "The image",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The value matches both an image ID and a different image's name (`BAD_REQUEST`), or the requested name is reserved (`IMAGE_NAME_RESERVED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Image not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The image name already exists (`IMAGE_NAME_TAKEN`). The image already has a name and cannot be renamed (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:images"
            ]
          },
          {
            "platform_token": [
              "write:images"
            ]
          }
        ],
        "summary": "Update an image",
        "tags": [
          "images"
        ]
      }
    },
    "/images/{id}/build-logs-url": {
      "get": {
        "operationId": "get_image_build_logs_url",
        "parameters": [
          {
            "$ref": "#/components/parameters/ImageIdOrName"
          },
          {
            "$ref": "#/components/parameters/IdOnly"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildLogsUrl"
                }
              }
            },
            "description": "The image build logs URL",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The value matches both an image ID and a different image's name (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Image not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Build logs are temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:images"
            ]
          },
          {
            "platform_token": [
              "read:images"
            ]
          }
        ],
        "summary": "Get an image's build logs URL",
        "tags": [
          "images"
        ]
      }
    },
    "/images/{id}/convert": {
      "post": {
        "description": "Converts the image to the format the platform currently boots. Repeating the request is safe and returns the in-progress conversion.",
        "operationId": "change_image_format",
        "parameters": [
          {
            "$ref": "#/components/parameters/ImageIdOrName"
          },
          {
            "$ref": "#/components/parameters/IdOnly"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ImageConversion"
                }
              }
            },
            "description": "Accepted: the image conversion",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The value matches both an image ID and a different image's name (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Image not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The image has no source that can be converted (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "security": [
          {
            "api_key": [
              "write:images"
            ]
          },
          {
            "platform_token": [
              "write:images"
            ]
          }
        ],
        "summary": "Change an image format",
        "tags": [
          "images"
        ]
      }
    },
    "/invitations/accept": {
      "post": {
        "description": "Adds the current user to the organization with the invitation's roles. An existing member keeps their current roles.",
        "operationId": "accept_invitation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptInvitationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMember"
                }
              }
            },
            "description": "The organization member",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Invitation not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "security": [
          {
            "user_jwt": []
          }
        ],
        "summary": "Accept an invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/invitations/decline": {
      "post": {
        "description": "Marks the invitation as declined until it is revoked or re-issued.",
        "operationId": "decline_invitation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeclineInvitationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Invitation declined",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Invitation not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": []
          }
        ],
        "summary": "Decline an invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/invitations/lookup": {
      "post": {
        "description": "Looks up a pending invitation before the invitee accepts or declines it.",
        "operationId": "lookup_invitation",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LookupInvitationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationLookup"
                }
              }
            },
            "description": "The pending invitation",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Invitation not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": []
          }
        ],
        "summary": "Look up an invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/mac-catalog": {
      "get": {
        "description": "Shows each covered region's default Mac model and, per Mac model, how many Macs a reservation can take now and its price.",
        "operationId": "get_mac_catalog",
        "parameters": [
          {
            "description": "Comma-separated list of regions to include. Defaults to all regions.",
            "in": "query",
            "name": "region",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacCatalog"
                }
              }
            },
            "description": "The Mac catalog",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The region list names an unknown or disabled region, or more than 64 regions (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "macOS reservations are unavailable (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The region list names a region served at another API base URL (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Prices are unavailable; try again (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          },
          {
            "platform_token": []
          }
        ],
        "summary": "Get the Mac catalog",
        "tags": [
          "catalog"
        ]
      }
    },
    "/mac-models": {
      "get": {
        "operationId": "list_mac_models",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacModelList"
                }
              }
            },
            "description": "The Mac models",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "api_key": []
          },
          {
            "platform_token": []
          }
        ],
        "summary": "List Mac models",
        "tags": [
          "catalog"
        ]
      }
    },
    "/me": {
      "get": {
        "operationId": "get_current_user",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": "The user",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:project_api_keys"
            ]
          }
        ],
        "summary": "Get the current user",
        "tags": [
          "users"
        ]
      }
    },
    "/me/privacy-policy": {
      "get": {
        "description": "Reports whether the signed-in user has accepted the privacy policy version the platform currently requires.",
        "operationId": "get_privacy_policy",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PrivacyPolicyStatus"
                }
              }
            },
            "description": "The privacy policy status",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "user_jwt": []
          }
        ],
        "summary": "Get the privacy policy status",
        "tags": [
          "users"
        ]
      }
    },
    "/me/privacy-policy/accept": {
      "post": {
        "description": "Records that the signed-in user accepts the named privacy policy version, which must be the version the platform currently requires. Accepting a version again only refreshes the acceptance time.",
        "operationId": "accept_privacy_policy",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AcceptPrivacyPolicyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Privacy policy acceptance saved",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The named version is not the version the platform currently requires (`CONFLICT`). The platform requires no privacy policy consent (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": []
          }
        ],
        "summary": "Accept the privacy policy",
        "tags": [
          "users"
        ]
      }
    },
    "/migration/v1/sandboxes": {
      "get": {
        "operationId": "list_v1_sandboxes",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V1SandboxPage"
                }
              }
            },
            "description": "The page of v1 sandboxes",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The pagination cursor is invalid (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The caller does not have access to this operation (`FORBIDDEN`). The request is not scoped to the organization's default project (`V1_MIGRATION_DEFAULT_PROJECT_ONLY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Importing from v1 is temporarily unavailable (`V1_BRIDGE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "List v1 sandboxes",
        "tags": [
          "migration"
        ]
      }
    },
    "/migration/v1/sandboxes/{v1_id}/import": {
      "post": {
        "operationId": "create_v1_sandbox_import",
        "parameters": [
          {
            "description": "The sandbox ID on Daytona v1",
            "in": "path",
            "name": "v1_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/CreateV1SandboxImportRequest"
                  }
                ]
              }
            }
          },
          "description": "Optional import settings; an empty body uses the defaults"
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V1SandboxImport"
                }
              }
            },
            "description": "The v1 sandbox import",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V1SandboxImport"
                }
              }
            },
            "description": "The created v1 sandbox import",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or sandbox settings are invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`), or the project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The caller does not have access to this operation (`FORBIDDEN`). The request is not scoped to the organization's default project (`V1_MIGRATION_DEFAULT_PROJECT_ONLY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Source sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The v1 sandbox cannot be imported (`V1_SANDBOX_NOT_IMPORTABLE`). The sandbox import conflicts with an existing resource (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Importing from v1 is temporarily unavailable (`V1_BRIDGE_UNAVAILABLE`). The backup image cannot be accessed (`V1_BACKUP_REGISTRY_UNCONFIGURED`). Placement is unavailable (`PLACEMENT_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a v1 sandbox import",
        "tags": [
          "migration"
        ]
      }
    },
    "/migration/v1/summary": {
      "get": {
        "operationId": "get_v1_migration_summary",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/V1MigrationSummary"
                }
              }
            },
            "description": "The v1 migration summary; counts include only migrated resources available through this endpoint",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The caller does not have access to this operation (`FORBIDDEN`). The request is not scoped to the organization's default project (`V1_MIGRATION_DEFAULT_PROJECT_ONLY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get the v1 migration summary",
        "tags": [
          "migration"
        ]
      }
    },
    "/orgs": {
      "get": {
        "operationId": "list_orgs",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationPage"
                }
              }
            },
            "description": "The page of organizations",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "user_jwt": []
          }
        ],
        "summary": "List organizations",
        "tags": [
          "organizations"
        ]
      },
      "post": {
        "description": "Creates a non-personal organization and adds the current user as its initial administrator.",
        "operationId": "create_org",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrganizationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "The created organization",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "user_jwt": []
          }
        ],
        "summary": "Create an organization",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}": {
      "delete": {
        "description": "Deletes an organization after confirming that no active resources block removal.",
        "operationId": "delete_org",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Organization deleted",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is a personal organization (`CONFLICT`). The organization still holds a live Mac lease (`CONFLICT`). The organization still owns live sandboxes, volumes, images, snapshots, or functions (`CONFLICT`). The organization still has sandboxes or jobs winding down (`CONFLICT`). The organization still has sandbox creates in flight (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "delete:organization"
            ]
          }
        ],
        "summary": "Delete an organization",
        "tags": [
          "organizations"
        ]
      },
      "get": {
        "operationId": "get_org",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "The organization",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:organization"
            ]
          }
        ],
        "summary": "Get an organization",
        "tags": [
          "organizations"
        ]
      },
      "patch": {
        "description": "Updates the fields present in the request body. The name is trimmed and must contain 1 to 100 characters with no control characters.",
        "operationId": "update_org",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganizationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Organization"
                }
              }
            },
            "description": "The organization",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or name is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:organization"
            ]
          }
        ],
        "summary": "Update an organization",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/api-keys": {
      "get": {
        "operationId": "list_org_api_keys",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationApiKeyPage"
                }
              }
            },
            "description": "The page of organization API keys",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:org_api_keys"
            ]
          }
        ],
        "summary": "List organization API keys",
        "tags": [
          "api-keys"
        ]
      },
      "post": {
        "description": "Only some organization permissions can be held by an organization API key; a request that names any other is refused, naming the permissions at fault.",
        "operationId": "create_org_api_key",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrganizationApiKeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationApiKeyWithToken"
                }
              }
            },
            "description": "The created organization API key",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:org_api_keys"
            ]
          }
        ],
        "summary": "Create an organization API key",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/orgs/{org_id}/api-keys/current": {
      "get": {
        "description": "Describes the organization API key presented on this request, with the permissions it holds now.",
        "operationId": "get_current_org_api_key",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationApiKey"
                }
              }
            },
            "description": "The organization API key",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization API key not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "org_key": []
          }
        ],
        "summary": "Get the current organization API key",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/orgs/{org_id}/api-keys/{key_id}": {
      "delete": {
        "operationId": "revoke_org_api_key",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/ApiKeyId"
          }
        ],
        "responses": {
          "204": {
            "description": "Organization API key revoked",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization API key not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "delete:org_api_keys"
            ]
          }
        ],
        "summary": "Revoke an organization API key",
        "tags": [
          "api-keys"
        ]
      },
      "get": {
        "operationId": "get_org_api_key",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/ApiKeyId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationApiKey"
                }
              }
            },
            "description": "The organization API key",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization API key not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:org_api_keys"
            ]
          }
        ],
        "summary": "Get an organization API key",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/orgs/{org_id}/audit-logs": {
      "get": {
        "description": "Returns audit logs newest first. The `actor_created_by` field is `null` when the caller cannot view organization members. Filters use `field[op]=value`, where `op` is `eq`, `not`, `in`, `not_in`, `gt`, `gte`, `lt`, or `lte`.",
        "operationId": "list_audit_logs",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          },
          {
            "description": "The action filter",
            "in": "query",
            "name": "action",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The target resource type filter",
            "in": "query",
            "name": "target_type",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The target resource ID filter",
            "in": "query",
            "name": "target_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The actor user or API key ID",
            "in": "query",
            "name": "actor",
            "required": false,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          },
          {
            "description": "The response status code filter",
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "format": "int32",
              "type": "integer"
            }
          },
          {
            "description": "The inclusive start of the time range",
            "in": "query",
            "name": "start_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "The exclusive end of the time range",
            "in": "query",
            "name": "end_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditLogPage"
                }
              }
            },
            "description": "The page of audit logs",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "A query parameter is malformed (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/EntitlementRequired"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:audit"
            ]
          },
          {
            "org_key": [
              "read:audit"
            ]
          }
        ],
        "summary": "List organization audit logs",
        "tags": [
          "organizations"
        ],
        "x-required-entitlement": "audit_log_query"
      }
    },
    "/orgs/{org_id}/audit-logs/config": {
      "get": {
        "operationId": "get_audit_config",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditConfig"
                }
              }
            },
            "description": "The audit configuration",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:audit"
            ]
          }
        ],
        "summary": "Get the audit configuration",
        "tags": [
          "organizations"
        ]
      },
      "patch": {
        "description": "Enables or disables capture for future organization actions.",
        "operationId": "update_audit_config",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAuditConfigRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuditConfig"
                }
              }
            },
            "description": "The audit configuration",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The caller lacks the required permission (`FORBIDDEN`). The organization does not have audit capture settings available (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:audit"
            ]
          }
        ],
        "summary": "Update audit configuration",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/billing/automatic-top-up": {
      "delete": {
        "operationId": "delete_automatic_top_up",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Automatic top-up reset",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Reset the automatic top-up",
        "tags": [
          "billing"
        ]
      },
      "get": {
        "operationId": "get_automatic_top_up",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomaticTopUp"
                }
              }
            },
            "description": "The automatic top-up",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "Get the automatic top-up",
        "tags": [
          "billing"
        ]
      },
      "put": {
        "operationId": "set_automatic_top_up",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetAutomaticTopUpRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomaticTopUp"
                }
              }
            },
            "description": "The automatic top-up, updated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or a field is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`). Automatic top-up is not available for the organization's billing arrangement (`AUTOMATIC_TOP_UP_NOT_AVAILABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Set the automatic top-up",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/balance-notification": {
      "delete": {
        "operationId": "delete_balance_notification",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Balance notification reset",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Reset the balance notification",
        "tags": [
          "billing"
        ]
      },
      "get": {
        "operationId": "get_balance_notification",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalanceNotification"
                }
              }
            },
            "description": "The balance notification",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "Get the balance notification",
        "tags": [
          "billing"
        ]
      },
      "put": {
        "operationId": "set_balance_notification",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetBalanceNotificationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalanceNotification"
                }
              }
            },
            "description": "The balance notification, updated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or a field is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Set the balance notification",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/balances": {
      "get": {
        "operationId": "list_balances",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BalancePage"
                }
              }
            },
            "description": "The page of balances",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "List billing balances",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/charges": {
      "get": {
        "operationId": "list_charges",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChargePage"
                }
              }
            },
            "description": "The page of charges",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "List billing charges",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/charges/{charge_id}/pdf": {
      "get": {
        "operationId": "get_charge_pdf",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "description": "The charge ID",
            "in": "path",
            "name": "charge_id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/ChargeReceiptPdf"
                }
              }
            },
            "description": "The charge receipt PDF",
            "headers": {
              "Content-Disposition": {
                "description": "Attachment filename for the PDF",
                "schema": {
                  "type": "string"
                }
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The charge ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Charge not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`). The charge did not succeed, so it has no receipt (`CHARGE_NOT_SUCCEEDED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "Get a charge receipt PDF",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/contact": {
      "get": {
        "operationId": "get_billing_contact",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingContact"
                }
              }
            },
            "description": "The billing contact",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "Get the billing contact",
        "tags": [
          "billing"
        ]
      },
      "put": {
        "operationId": "set_billing_contact",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetBillingContactRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingContact"
                }
              }
            },
            "description": "The billing contact, updated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or email is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Set the billing contact",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/coupons/redeem": {
      "post": {
        "operationId": "redeem_coupon",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RedeemCouponRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CouponRedemption"
                }
              }
            },
            "description": "The created coupon redemption",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Coupon not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`). The coupon has expired (`COUPON_EXPIRED`). The coupon has reached its redemption limit (`COUPON_LIMIT_REACHED`). The organization has already redeemed this coupon (`COUPON_ALREADY_REDEEMED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Redeem a billing coupon",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/invoices": {
      "get": {
        "operationId": "list_invoices",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          },
          {
            "description": "Whether to return only unpaid invoices (default false)",
            "in": "query",
            "name": "unpaid",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicePage"
                }
              }
            },
            "description": "The page of invoices",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "List billing invoices",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/invoices/{invoice_id}/payment-sessions": {
      "post": {
        "operationId": "create_invoice_payment_session",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/InvoiceId"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingSession"
                }
              }
            },
            "description": "The created billing session",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The invoice ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Invoice not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`). The invoice cannot be paid online (`INVOICE_NOT_PAYABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Create an invoice payment session",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/invoices/{invoice_id}/pdf": {
      "get": {
        "operationId": "get_invoice_pdf",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/InvoiceId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/pdf": {
                "schema": {
                  "$ref": "#/components/schemas/InvoicePdf"
                }
              }
            },
            "description": "The invoice PDF",
            "headers": {
              "Content-Disposition": {
                "description": "Attachment filename for the PDF",
                "schema": {
                  "type": "string"
                }
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The invoice ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Invoice not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`). The invoice is not finalized yet (`INVOICE_NOT_FINALIZED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "Get an invoice PDF",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/payment-method-sessions": {
      "post": {
        "operationId": "create_payment_method_session",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingSession"
                }
              }
            },
            "description": "The created billing session",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Create a payment method session",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/payment-methods": {
      "get": {
        "operationId": "list_payment_methods",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaymentMethodPage"
                }
              }
            },
            "description": "The page of payment methods",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "List billing payment methods",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/plan": {
      "get": {
        "operationId": "get_plan",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingPlan"
                }
              }
            },
            "description": "The billing plan",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "Get the billing plan",
        "tags": [
          "billing"
        ]
      },
      "put": {
        "operationId": "set_plan",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPlanRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingPlan"
                }
              }
            },
            "description": "The billing plan, updated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The named plan does not exist (`UNKNOWN_PLAN`). The named plan is arranged through the Daytona sales team, not through this API (`PLAN_REQUIRES_SALES`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`). The organization is already on the requested plan (`PLAN_UNCHANGED`). An earlier plan change is still in progress (`PLAN_CHANGE_PENDING`). The organization's plan is managed by Daytona and cannot be changed here (`PLAN_MANAGED_BY_OPERATOR`). The requested plan needs a payment method on file (`PAYMENT_METHOD_REQUIRED`). The organization's billing account does not allow this plan (`BILLING_ACCOUNT_CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Set the billing plan",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/plans": {
      "get": {
        "operationId": "list_plans",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanList"
                }
              }
            },
            "description": "The billing plans",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "List billing plans",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/portal-sessions": {
      "post": {
        "operationId": "create_portal_session",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingSession"
                }
              }
            },
            "description": "The created billing session",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Create a billing portal session",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/profile": {
      "get": {
        "operationId": "get_billing_profile",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingProfile"
                }
              }
            },
            "description": "The billing profile",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "Get the billing profile",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/top-up-sessions": {
      "post": {
        "operationId": "create_top_up_session",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateTopUpSessionRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingSession"
                }
              }
            },
            "description": "The created billing session",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or amount is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:billing"
            ]
          }
        ],
        "summary": "Create a top-up session",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/usage-periods": {
      "get": {
        "operationId": "list_usage_periods",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsagePeriodPage"
                }
              }
            },
            "description": "The page of usage periods",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "List billing usage periods",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/billing/wallet": {
      "get": {
        "operationId": "get_wallet",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Wallet"
                }
              }
            },
            "description": "The wallet",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is still being set up (`BILLING_NOT_PROVISIONED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is not enabled (`BILLING_DISABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing could not complete the request (`BILLING_UNREACHABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Billing is temporarily unavailable (`BILLING_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:billing"
            ]
          }
        ],
        "summary": "Get the billing wallet",
        "tags": [
          "billing"
        ]
      }
    },
    "/orgs/{org_id}/entitlements": {
      "get": {
        "description": "Returns every entitlement key and whether it is available to the organization.",
        "operationId": "get_org_entitlements",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Entitlements"
                }
              }
            },
            "description": "The organization's entitlements",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:organization"
            ]
          }
        ],
        "summary": "Get organization entitlements",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/feature-flags": {
      "get": {
        "operationId": "get_org_feature_flags",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationFeatureFlags"
                }
              }
            },
            "description": "The organization feature flags",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:organization"
            ]
          }
        ],
        "summary": "Get organization feature flags",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/invitations": {
      "get": {
        "description": "Returns pending, declined, and expired invitations newest first.",
        "operationId": "list_org_invitations",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationPage"
                }
              }
            },
            "description": "The page of organization invitations",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:members"
            ]
          }
        ],
        "summary": "List organization invitations",
        "tags": [
          "organizations"
        ]
      },
      "post": {
        "description": "Creates an invitation or re-issues an existing invitation for the same email address. Members join an organization by looking up and accepting the invitation link; they may decline it instead.",
        "operationId": "create_invitation",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateInvitationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationWithToken"
                }
              }
            },
            "description": "The invitation, updated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvitationWithToken"
                }
              }
            },
            "description": "The created invitation",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is a personal organization, which cannot have invitations (`CONFLICT`). The email address already belongs to a member (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:members"
            ]
          }
        ],
        "summary": "Create an organization invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/invitations/{invitation_id}": {
      "delete": {
        "description": "Invalidates an invitation that has not been accepted.",
        "operationId": "revoke_invitation",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "description": "The invitation ID",
            "in": "path",
            "name": "invitation_id",
            "required": true,
            "schema": {
              "format": "uuid",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Invitation revoked",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Invitation not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:members"
            ]
          }
        ],
        "summary": "Revoke an organization invitation",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/limits": {
      "get": {
        "description": "Returns effective limits and current usage. A null limit means unlimited.",
        "operationId": "get_org_limits",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationLimits"
                }
              }
            },
            "description": "The organization's limits",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:organization"
            ]
          }
        ],
        "summary": "Get organization limits",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/macos-settings": {
      "get": {
        "operationId": "get_macos_settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacosSettings"
                }
              }
            },
            "description": "The macOS settings",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:organization"
            ]
          }
        ],
        "summary": "Get the macOS settings",
        "tags": [
          "organizations"
        ]
      },
      "patch": {
        "operationId": "update_macos_settings",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMacosSettingsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacosSettings"
                }
              }
            },
            "description": "The macOS settings",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or reservation limit is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:organization"
            ]
          }
        ],
        "summary": "Update macOS settings",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/members": {
      "get": {
        "operationId": "list_members",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMemberPage"
                }
              }
            },
            "description": "The page of organization members",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:members"
            ]
          }
        ],
        "summary": "List organization members",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/members/{user_id}": {
      "delete": {
        "operationId": "remove_member",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/UserId"
          }
        ],
        "responses": {
          "204": {
            "description": "Member removed",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Member not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Removal would leave the organization without an administrator (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:organization"
            ]
          },
          {
            "user_jwt": [
              "delete:members"
            ]
          }
        ],
        "summary": "Remove an organization member",
        "tags": [
          "organizations"
        ]
      },
      "patch": {
        "description": "Replaces the member's complete role set.",
        "operationId": "update_member",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/UserId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateMemberRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationMember"
                }
              }
            },
            "description": "The organization member",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Member not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The update would leave the organization without an administrator (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:members"
            ]
          }
        ],
        "summary": "Update an organization member",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/members/{user_id}/removal-preview": {
      "get": {
        "description": "Shows the credentials and preview grants that removal would revoke.",
        "operationId": "get_member_removal_preview",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/UserId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MemberRemovalPreview"
                }
              }
            },
            "description": "The member removal preview",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Member not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:organization"
            ]
          },
          {
            "user_jwt": [
              "delete:members"
            ]
          }
        ],
        "summary": "Get a member removal preview",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/members/{user_id}/update-preview": {
      "post": {
        "operationId": "preview_member_update",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/UserId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreviewMemberUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeImpact"
                }
              }
            },
            "description": "The change impact",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Member not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The update would leave the organization without an administrator (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:members"
            ]
          }
        ],
        "summary": "Preview a member update",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/otel-config": {
      "delete": {
        "description": "Stops forwarding sandbox telemetry for the organization.",
        "operationId": "delete_otel_config",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "204": {
            "description": "Telemetry configuration reset",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:organization"
            ]
          }
        ],
        "summary": "Reset the telemetry configuration",
        "tags": [
          "organizations"
        ]
      },
      "get": {
        "description": "Header values are write-only and are never returned.",
        "operationId": "get_otel_config",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelConfig"
                }
              }
            },
            "description": "The telemetry configuration",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:organization"
            ]
          }
        ],
        "summary": "Get the telemetry configuration",
        "tags": [
          "organizations"
        ]
      },
      "put": {
        "description": "Replaces the forwarding endpoint and request headers. Header values are write-only, and an unknown request field is rejected.",
        "operationId": "set_otel_config",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOtelConfigRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OtelConfig"
                }
              }
            },
            "description": "The telemetry configuration",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or endpoint is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:organization"
            ]
          }
        ],
        "summary": "Set the telemetry configuration",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/preview-warning": {
      "patch": {
        "description": "Turns the preview warning page off or on for the organization's sandbox previews. When plan requirements are enforced, turning it off requires this setting to be included in the organization's plan; turning it on does not.",
        "operationId": "update_preview_warning",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePreviewWarningRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreviewWarning"
                }
              }
            },
            "description": "The preview warning setting",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/EntitlementRequired"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:organization"
            ]
          }
        ],
        "summary": "Update the preview warning setting",
        "tags": [
          "organizations"
        ],
        "x-required-entitlement": "preview_warning_opt_out"
      }
    },
    "/orgs/{org_id}/projects": {
      "get": {
        "description": "Non-administrator members see the default project and projects where they have explicit membership.",
        "operationId": "list_projects",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectPage"
                }
              }
            },
            "description": "The page of projects",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:projects"
            ]
          }
        ],
        "summary": "List organization projects",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "operationId": "create_project",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            },
            "description": "The created project",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project name is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project name already exists (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:projects"
            ]
          }
        ],
        "summary": "Create a project",
        "tags": [
          "projects"
        ]
      }
    },
    "/orgs/{org_id}/service-accounts": {
      "get": {
        "operationId": "list_service_accounts",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationServiceAccountPage"
                }
              }
            },
            "description": "The page of service accounts",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:service_accounts"
            ]
          }
        ],
        "summary": "List service accounts",
        "tags": [
          "service-accounts"
        ]
      },
      "post": {
        "description": "Creates a named account for organization automation.",
        "operationId": "create_service_account",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateServiceAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationServiceAccount"
                }
              }
            },
            "description": "The created service account",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is a personal organization, which cannot have service accounts (`CONFLICT`). The name already exists in the organization (`CONFLICT`). The organization has reached its service account limit (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:service_accounts"
            ]
          }
        ],
        "summary": "Create a service account",
        "tags": [
          "service-accounts"
        ]
      }
    },
    "/orgs/{org_id}/service-accounts/{service_account_id}": {
      "delete": {
        "description": "Archives the service account and revokes its active API keys.",
        "operationId": "archive_service_account",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/ServiceAccountId"
          }
        ],
        "responses": {
          "204": {
            "description": "Service account archived",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Service account not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "delete:service_accounts"
            ]
          }
        ],
        "summary": "Archive a service account",
        "tags": [
          "service-accounts"
        ]
      },
      "get": {
        "operationId": "get_service_account",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/ServiceAccountId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationServiceAccount"
                }
              }
            },
            "description": "The service account",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Service account not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:service_accounts"
            ]
          }
        ],
        "summary": "Get a service account",
        "tags": [
          "service-accounts"
        ]
      },
      "patch": {
        "description": "Updates the name, description, or complete role set. Narrowing roles may revoke API keys.",
        "operationId": "update_service_account",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/ServiceAccountId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateServiceAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationServiceAccount"
                }
              }
            },
            "description": "The service account",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Service account not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The service account is archived (`CONFLICT`). The name already exists in the organization (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:service_accounts"
            ]
          }
        ],
        "summary": "Update a service account",
        "tags": [
          "service-accounts"
        ]
      }
    },
    "/orgs/{org_id}/service-accounts/{service_account_id}/update-preview": {
      "post": {
        "operationId": "preview_service_account_update",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/ServiceAccountId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PreviewServiceAccountUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ChangeImpact"
                }
              }
            },
            "description": "The change impact",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Service account not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The service account is archived (`CONFLICT`). The name already exists in the organization (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:service_accounts"
            ]
          }
        ],
        "summary": "Preview a service account update",
        "tags": [
          "service-accounts"
        ]
      }
    },
    "/orgs/{org_id}/sso/connections": {
      "get": {
        "description": "Lists the single sign-on connections configured for the organization. An organization that has not completed setup has no connections.",
        "operationId": "list_sso_connections",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoConnectionPage"
                }
              }
            },
            "description": "The page of single sign-on connections",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/EntitlementRequired"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The single sign-on provider could not complete the request (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Single sign-on is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:sso"
            ]
          }
        ],
        "summary": "List single sign-on connections",
        "tags": [
          "organizations"
        ]
      }
    },
    "/orgs/{org_id}/sso/setup-links": {
      "post": {
        "description": "Creates a short-lived link for configuring single sign-on or directory sync. The link expires five minutes after issuance.",
        "operationId": "create_sso_setup_link",
        "parameters": [
          {
            "$ref": "#/components/parameters/OrganizationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSsoSetupLinkRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SsoSetupLink"
                }
              }
            },
            "description": "The created single sign-on setup link",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body or setup intent is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/EntitlementRequired"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Organization not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is a personal organization, which cannot use single sign-on (`CONFLICT`). The organization is not set up for single sign-on (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The single sign-on provider could not complete the request (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Single sign-on setup is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:sso"
            ]
          }
        ],
        "summary": "Create a single sign-on setup link",
        "tags": [
          "organizations"
        ]
      }
    },
    "/permissions": {
      "get": {
        "operationId": "list_permissions",
        "parameters": [
          {
            "description": "Restrict the catalog to one permission scope.",
            "in": "query",
            "name": "scope",
            "required": false,
            "schema": {
              "enum": [
                "project",
                "organization"
              ],
              "type": "string",
              "x-daytona-exact-enum": "parameter"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionList"
                }
              }
            },
            "description": "The permission catalog",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The scope is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "user_jwt": []
          },
          {
            "org_key": []
          },
          {
            "api_key": []
          },
          {
            "platform_token": []
          }
        ],
        "summary": "List permissions",
        "tags": [
          "roles"
        ]
      }
    },
    "/projects/{project_id}": {
      "delete": {
        "operationId": "delete_project",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "responses": {
          "204": {
            "description": "Project deleted",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project is the organization's default project, which cannot be deleted (`CONFLICT`). The project still owns live sandboxes, volumes, images, snapshots, or functions (`CONFLICT`). The project still has sandboxes or jobs winding down (`CONFLICT`). The project still has sandbox creates in flight (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "delete:projects"
            ]
          }
        ],
        "summary": "Delete a project",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "get_project",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            },
            "description": "The project",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:projects"
            ]
          }
        ],
        "summary": "Get a project",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "description": "Updates the fields present in the request body. The default project cannot be updated.",
        "operationId": "update_project",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProjectRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Project"
                }
              }
            },
            "description": "The project",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID or name is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project is the organization's default project, which cannot be renamed (`CONFLICT`). The new name already exists in the organization (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:projects"
            ]
          }
        ],
        "summary": "Update a project",
        "tags": [
          "projects"
        ]
      }
    },
    "/projects/{project_id}/api-keys": {
      "get": {
        "operationId": "list_project_api_keys",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectApiKeyPage"
                }
              }
            },
            "description": "The page of project API keys",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:project_api_keys"
            ]
          }
        ],
        "summary": "List project API keys",
        "tags": [
          "api-keys"
        ]
      },
      "post": {
        "description": "The requested project permissions must be grantable by the current member. A service-account key is also limited by that account's permissions.",
        "operationId": "create_project_api_key",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateProjectApiKeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectApiKeyWithToken"
                }
              }
            },
            "description": "The created project API key",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID or request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The service account is archived (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:project_api_keys"
            ]
          }
        ],
        "summary": "Create a project API key",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/projects/{project_id}/api-keys/{key_id}": {
      "delete": {
        "operationId": "revoke_project_api_key",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/ApiKeyId"
          }
        ],
        "responses": {
          "204": {
            "description": "Project API key revoked",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project API key not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "delete:project_api_keys"
            ]
          }
        ],
        "summary": "Revoke a project API key",
        "tags": [
          "api-keys"
        ]
      },
      "get": {
        "operationId": "get_project_api_key",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/ApiKeyId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectApiKey"
                }
              }
            },
            "description": "The project API key",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project API key not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:project_api_keys"
            ]
          }
        ],
        "summary": "Get a project API key",
        "tags": [
          "api-keys"
        ]
      },
      "patch": {
        "description": "Changes whether this key is configured to be copied to Daytona v1. The copy itself follows shortly afterwards \u2014 turning it off deletes the Daytona v1 key \u2014 and this key keeps working either way. Only a live key a person created in the organization's default project can be copied.",
        "operationId": "update_project_api_key",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/ApiKeyId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProjectApiKeyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectApiKey"
                }
              }
            },
            "description": "The project API key",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project API key not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The key was imported from Daytona v1 and is always synced (`IMPORTED_KEY_ALWAYS_SYNCED`). The key is not eligible for v1 sync (`KEY_SYNC_NOT_APPLICABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "delete:project_api_keys"
            ]
          }
        ],
        "summary": "Update a project API key",
        "tags": [
          "api-keys"
        ]
      }
    },
    "/projects/{project_id}/budget": {
      "delete": {
        "description": "Removes the monthly spend limit and releases its budget hold. Sandboxes already stopped remain stopped.",
        "operationId": "delete_project_budget",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "responses": {
          "204": {
            "description": "Project budget reset",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project budget not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:budgets"
            ]
          }
        ],
        "summary": "Reset a project budget",
        "tags": [
          "projects"
        ]
      },
      "get": {
        "operationId": "get_project_budget",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectBudget"
                }
              }
            },
            "description": "The project budget",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:budgets"
            ]
          }
        ],
        "summary": "Get the project budget",
        "tags": [
          "projects"
        ]
      },
      "put": {
        "description": "Sets the monthly spend limit in cents. Reaching the limit blocks new sandboxes and, after the organization's grace period, stops running ones. macOS sandboxes, which run on a prepaid Mac reservation, are exempt from both: reaching the limit instead blocks buying or renewing a reservation for the project.",
        "operationId": "set_project_budget",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetProjectBudgetRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectBudget"
                }
              }
            },
            "description": "The project budget, updated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID or monthly limit is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/EntitlementRequired"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:budgets"
            ]
          }
        ],
        "summary": "Set a project budget",
        "tags": [
          "projects"
        ],
        "x-required-entitlement": "project_budgets"
      }
    },
    "/projects/{project_id}/lifecycle-policy": {
      "get": {
        "operationId": "get_project_lifecycle_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectLifecyclePolicy"
                }
              }
            },
            "description": "The project lifecycle policy",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:projects"
            ]
          }
        ],
        "summary": "Get the project lifecycle policy",
        "tags": [
          "projects"
        ]
      },
      "patch": {
        "description": "A missing block is kept, null clears it, and an object replaces the whole block. Fields missing inside a replacement object are unset.",
        "operationId": "update_project_lifecycle_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateProjectLifecyclePolicyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectLifecyclePolicy"
                }
              }
            },
            "description": "The project lifecycle policy",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The lifecycle policy is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:projects"
            ]
          }
        ],
        "summary": "Update a project lifecycle policy",
        "tags": [
          "projects"
        ]
      }
    },
    "/projects/{project_id}/members": {
      "get": {
        "operationId": "list_project_members",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectMemberPage"
                }
              }
            },
            "description": "The page of project members",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:members"
            ]
          }
        ],
        "summary": "List project members",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "operationId": "add_project_members",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddProjectMembersRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectMemberList"
                }
              }
            },
            "description": "The project members, unchanged",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectMemberList"
                }
              }
            },
            "description": "The created project memberships",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID or request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project or organization member not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project is the organization's default project, whose membership is implicit (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:members"
            ]
          }
        ],
        "summary": "Add project members",
        "tags": [
          "projects"
        ]
      }
    },
    "/projects/{project_id}/members/{user_id}": {
      "delete": {
        "description": "Removes the project membership and revokes the API keys that depended on it.",
        "operationId": "remove_project_member",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/UserId"
          }
        ],
        "responses": {
          "204": {
            "description": "Project member removed",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project member not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project is the organization's default project, whose membership is implicit (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:members"
            ]
          }
        ],
        "summary": "Remove a project member",
        "tags": [
          "projects"
        ]
      }
    },
    "/projects/{project_id}/service-accounts": {
      "get": {
        "operationId": "list_project_service_accounts",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectServiceAccountPage"
                }
              }
            },
            "description": "The page of project service accounts",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "read:service_accounts"
            ]
          }
        ],
        "summary": "List project service accounts",
        "tags": [
          "projects"
        ]
      },
      "post": {
        "operationId": "add_project_service_account",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddProjectServiceAccountRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectServiceAccountList"
                }
              }
            },
            "description": "The project service accounts, unchanged",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectServiceAccountList"
                }
              }
            },
            "description": "The created project service accounts",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project or service account not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project is the organization's default project, which is open to every service account (`CONFLICT`). The service account is archived (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:service_accounts"
            ]
          }
        ],
        "summary": "Add a project service account",
        "tags": [
          "projects"
        ]
      }
    },
    "/projects/{project_id}/service-accounts/{service_account_id}": {
      "delete": {
        "description": "Removes the project membership and revokes the API keys that depended on it.",
        "operationId": "remove_project_service_account",
        "parameters": [
          {
            "$ref": "#/components/parameters/ProjectId"
          },
          {
            "$ref": "#/components/parameters/ServiceAccountId"
          }
        ],
        "responses": {
          "204": {
            "description": "Project service account removed",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project ID is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Project service account not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The project is the organization's default project, which is open to every service account (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "user_jwt": [
              "write:service_accounts"
            ]
          }
        ],
        "summary": "Remove a project service account",
        "tags": [
          "projects"
        ]
      }
    },
    "/regions": {
      "get": {
        "description": "Lists the caller's regions at every level as one flat list, each parent before its children and siblings ordered by ID. Edges that cannot be used are not listed, and neither are broader regions with no listed edge under them. A broader region whose edges all opt out of automatic placement stays listed with `available: false` and cannot be named in a create.",
        "operationId": "list_regions",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegionList"
                }
              }
            },
            "description": "The regions",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The region list is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": []
          },
          {
            "platform_token": []
          }
        ],
        "summary": "List regions",
        "tags": [
          "regions"
        ]
      }
    },
    "/registries": {
      "get": {
        "operationId": "list_registries",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RegistryPage"
                }
              }
            },
            "description": "The page of registry credentials",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": [
              "read:registries"
            ]
          },
          {
            "platform_token": [
              "read:registries"
            ]
          }
        ],
        "summary": "List project registry credentials",
        "tags": [
          "registries"
        ]
      }
    },
    "/registries/{host}": {
      "delete": {
        "operationId": "delete_registry",
        "parameters": [
          {
            "$ref": "#/components/parameters/RegistryHost"
          }
        ],
        "responses": {
          "204": {
            "description": "Registry removed",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The registry host is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Registry not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "delete:registries"
            ]
          },
          {
            "platform_token": [
              "delete:registries"
            ]
          }
        ],
        "summary": "Delete registry credentials",
        "tags": [
          "registries"
        ]
      },
      "get": {
        "operationId": "get_registry",
        "parameters": [
          {
            "$ref": "#/components/parameters/RegistryHost"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Registry"
                }
              }
            },
            "description": "The registry credential metadata",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The registry host is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Registry not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Registry metadata is temporarily unavailable (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:registries"
            ]
          },
          {
            "platform_token": [
              "read:registries"
            ]
          }
        ],
        "summary": "Get registry credential metadata",
        "tags": [
          "registries"
        ]
      },
      "put": {
        "description": "Passwords are encrypted at rest and are write-only.",
        "operationId": "set_registry",
        "parameters": [
          {
            "$ref": "#/components/parameters/RegistryHost"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetRegistryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Registry"
                }
              }
            },
            "description": "The registry credential metadata, updated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Registry"
                }
              }
            },
            "description": "The created registry credential metadata",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The host or credentials are invalid (`ECR_CREDENTIALS_INVALID`), or the account does not match the host (`ECR_ACCOUNT_MISMATCH`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Account ownership could not be verified (`ECR_OWNERSHIP_UNVERIFIABLE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Registry credentials are temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:registries"
            ]
          },
          {
            "platform_token": [
              "write:registries"
            ]
          }
        ],
        "summary": "Create or update registry credentials",
        "tags": [
          "registries"
        ]
      }
    },
    "/reservations": {
      "get": {
        "operationId": "list_reservations",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReservationPage"
                }
              }
            },
            "description": "The page of reservations",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "List reservations",
        "tags": [
          "reservations"
        ]
      },
      "post": {
        "operationId": "create_reservation",
        "parameters": [
          {
            "description": "Unique per organization. A replay with the same body returns the existing reservation",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateReservationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacReservation"
                }
              }
            },
            "description": "The reservation, unchanged",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacReservation"
                }
              }
            },
            "description": "The created reservation",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The idempotency key, region, model, or layout is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`). The project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`). The organization's balance is too low (`INSUFFICIENT_BALANCE`). The charge did not succeed (`CHARGE_FAILED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The required permission is missing (`FORBIDDEN`). macOS reservations are unavailable (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "No Mac of the selected model is available, or the idempotency key identifies another request (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The reservation could not be billed; try again (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a reservation",
        "tags": [
          "reservations"
        ]
      }
    },
    "/reservations/bulk": {
      "post": {
        "description": "Reserves up to 100 Macs of one model in one region. Each reserved Mac is one reservation with its own period and charge.",
        "operationId": "create_reservations_bulk",
        "parameters": [
          {
            "description": "Unique per organization. A replay with the same body returns the same reservations",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateReservationsBulkRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacReservationBatch"
                }
              }
            },
            "description": "The reservation batch, unchanged",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacReservationBatch"
                }
              }
            },
            "description": "The created reservation batch",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The idempotency key, region, model, layout, count or minimum count is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`). The project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`). The organization's balance is too low for the requested periods (`INSUFFICIENT_BALANCE`). No reservation's charge succeeded (`CHARGE_FAILED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The required permission is missing (`FORBIDDEN`). macOS reservations are unavailable (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Fewer Macs of the model are available than the minimum count, or the idempotency key identifies another request (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The reservations could not be billed; try again (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create reservations in bulk",
        "tags": [
          "reservations"
        ]
      }
    },
    "/reservations/{id}": {
      "get": {
        "operationId": "get_reservation",
        "parameters": [
          {
            "$ref": "#/components/parameters/ReservationId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacReservation"
                }
              }
            },
            "description": "The reservation",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Reservation not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get a reservation",
        "tags": [
          "reservations"
        ]
      },
      "patch": {
        "operationId": "update_reservation",
        "parameters": [
          {
            "$ref": "#/components/parameters/ReservationId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateReservationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacReservation"
                }
              }
            },
            "description": "The reservation",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The required permission is missing (`FORBIDDEN`). macOS reservations are unavailable (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Reservation not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The reservation has ended or failed (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Update a reservation",
        "tags": [
          "reservations"
        ]
      }
    },
    "/reservations/{id}/renew": {
      "post": {
        "description": "Charges the next period of an active reservation; `period_end` moves out by one period on the same Mac. A retry with the same idempotency key never charges twice.",
        "operationId": "create_reservation_renewal",
        "parameters": [
          {
            "$ref": "#/components/parameters/ReservationId"
          },
          {
            "description": "Unique per reservation renewal. A replay returns the reservation without charging another period",
            "in": "header",
            "name": "Idempotency-Key",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MacReservation"
                }
              }
            },
            "description": "The reservation",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The idempotency key is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`). The project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`). The organization's balance is too low (`INSUFFICIENT_BALANCE`). The charge did not succeed (`CHARGE_FAILED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The required permission is missing (`FORBIDDEN`). macOS reservations are unavailable (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Reservation not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The reservation is not active, or a renewal of it under another idempotency key is still pending (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The reservation could not be billed; try again (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a reservation renewal",
        "tags": [
          "reservations"
        ]
      }
    },
    "/roles": {
      "get": {
        "operationId": "list_roles",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RoleList"
                }
              }
            },
            "description": "The role catalog",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          }
        },
        "security": [
          {
            "user_jwt": []
          },
          {
            "org_key": []
          },
          {
            "api_key": []
          },
          {
            "platform_token": []
          }
        ],
        "summary": "List roles",
        "tags": [
          "roles"
        ]
      }
    },
    "/sandboxes": {
      "get": {
        "operationId": "list_sandboxes",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxPage"
                }
              }
            },
            "description": "The page of sandboxes",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The cursor is invalid (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "List sandboxes",
        "tags": [
          "sandboxes"
        ]
      },
      "post": {
        "operationId": "create_sandbox",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSandboxRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxCreateOperation"
                }
              }
            },
            "description": "Accepted: the sandbox create",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The body, create timeout, or wait duration is invalid (`BAD_REQUEST`, `CREATE_TTL_OUT_OF_RANGE`, or `DEFAULT_IMAGE_NOT_CONFIGURED` when no image is given and no default image is set)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`), or the project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The required permission is missing (`FORBIDDEN`). Persistent sandboxes are unavailable to the organization (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Image not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The image or placement conflicts with the request (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "410": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The create operation is permanently retired (`CREATE_OPERATION_RETIRED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`CREATE_BODY_TOO_LARGE`). The placement metadata is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox placement is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/batch-wait": {
      "get": {
        "operationId": "wait_sandboxes",
        "parameters": [
          {
            "description": "Comma-separated sandbox IDs. At most 200 IDs are accepted.",
            "in": "query",
            "name": "ids",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/Wait"
          },
          {
            "description": "Exact status to wait for. Other terminal states do not satisfy it.",
            "in": "query",
            "name": "wait_exact",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/TimeoutMs"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxList"
                }
              }
            },
            "description": "The sandboxes",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The ID list is empty or exceeds 200 entries (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Wait for sandboxes",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/from-snapshot": {
      "post": {
        "operationId": "create_sandbox_from_snapshot",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSandboxFromSnapshotRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxCreateOperation"
                }
              }
            },
            "description": "Accepted: the sandbox create from a snapshot",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The body, region, create timeout, or wait duration is invalid (`BAD_REQUEST` or `CREATE_TTL_OUT_OF_RANGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`), or the project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Snapshot not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The snapshot is not ready (`SNAPSHOT_NOT_READY`) or conflicts with the request (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "410": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The create operation is permanently retired (`CREATE_OPERATION_RETIRED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`CREATE_BODY_TOO_LARGE`). The placement metadata is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox placement is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a sandbox from a snapshot",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/gpu": {
      "post": {
        "description": "Creates a GPU sandbox when GPU sandboxes are available to the organization.",
        "operationId": "create_gpu_sandbox",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGpuSandboxRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxCreateOperation"
                }
              }
            },
            "description": "Accepted: the GPU sandbox create",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The body, create timeout, or wait duration is invalid (`BAD_REQUEST` or `CREATE_TTL_OUT_OF_RANGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`), or the project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization does not have GPU sandboxes available (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Image not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The image or placement conflicts with the request (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "410": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The create operation is permanently retired (`CREATE_OPERATION_RETIRED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`CREATE_BODY_TOO_LARGE`). The placement metadata is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization GPU limit could not be verified (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox placement is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a GPU sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/gpu/from-snapshot": {
      "post": {
        "description": "Creates a GPU sandbox from a snapshot when GPU sandboxes are available to the organization.",
        "operationId": "create_gpu_sandbox_from_snapshot",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateGpuSandboxFromSnapshotRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxCreateOperation"
                }
              }
            },
            "description": "Accepted: the GPU sandbox create from a snapshot",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The body, snapshot kind, create timeout, or wait duration is invalid (`BAD_REQUEST` or `CREATE_TTL_OUT_OF_RANGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`), or the project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization does not have GPU sandboxes available (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Snapshot not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The snapshot is not ready (`SNAPSHOT_NOT_READY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "410": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The create operation is permanently retired (`CREATE_OPERATION_RETIRED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`CREATE_BODY_TOO_LARGE`). The placement metadata is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization GPU limit could not be verified (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox placement is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a GPU sandbox from a snapshot",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/macos": {
      "post": {
        "description": "Creates a macOS sandbox on a Mac the organization reserves. Acceptance checks the current fit but allocates no reservation resources: concurrent creates can compete for the same room, and an accepted sandbox can wait for room or time out.",
        "operationId": "create_macos_sandbox",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateMacosSandboxRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxCreateOperation"
                }
              }
            },
            "description": "Accepted: the macOS sandbox create",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body, size, or region is invalid, or several Mac regions are available in the declared served-region set and no project or organization default selects one (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`). The project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`). The organization's balance is too low (`INSUFFICIENT_BALANCE`). The charge did not succeed (`CHARGE_FAILED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The required permission is missing (`FORBIDDEN`). macOS sandboxes are unavailable (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Image or reservation not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The image, reservation, or available capacity cannot satisfy the request (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`CREATE_BODY_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox cannot be created now (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a macOS sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/search": {
      "get": {
        "description": "Searches the project's sandboxes using the supplied filters. Results may be briefly stale after a change.",
        "operationId": "search_sandboxes",
        "parameters": [
          {
            "description": "Free text over the sandbox `name` and `image_ref`. A value that is a\nsandbox ID matches that sandbox exactly.",
            "in": "query",
            "name": "q",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "`name` starts with this string (case-sensitive).",
            "in": "query",
            "name": "name_prefix",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The sandbox ID starts with this string.",
            "in": "query",
            "name": "id_prefix",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Comma-separated lifecycle statuses. An unrecognized value answers 400.",
            "explode": false,
            "in": "query",
            "name": "status",
            "required": false,
            "schema": {
              "items": {
                "$ref": "#/components/schemas/SandboxStatus"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Comma-separated sandbox classes.",
            "explode": false,
            "in": "query",
            "name": "class",
            "required": false,
            "schema": {
              "items": {
                "$ref": "#/components/schemas/SandboxClass"
              },
              "type": "array"
            },
            "style": "form"
          },
          {
            "description": "Comma-separated region slugs. Defaults to every region.",
            "in": "query",
            "name": "region",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Exact image reference.",
            "in": "query",
            "name": "image_ref",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "`image_ref` starts with this string.",
            "in": "query",
            "name": "image_ref_prefix",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Label containment filter: a JSON-encoded object `{\"k\":\"v\",...}`; only\nsandboxes whose labels contain every pair match. A malformed or\nnon-object value answers 400.",
            "in": "query",
            "name": "labels",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Persistent sandboxes only (`true`) or ephemeral sandboxes only\n(`false`).",
            "in": "query",
            "name": "persistent",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Spot-tier sandboxes only (`true`) or on-demand only (`false`).",
            "in": "query",
            "name": "spot",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Sandboxes forked from this sandbox ID.",
            "in": "query",
            "name": "forked_from",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Inclusive lower bound on vCPUs.",
            "in": "query",
            "name": "min_vcpus",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Inclusive upper bound on vCPUs.",
            "in": "query",
            "name": "max_vcpus",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Inclusive lower bound on `memory_mib`.",
            "in": "query",
            "name": "min_memory_mib",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Inclusive upper bound on `memory_mib`.",
            "in": "query",
            "name": "max_memory_mib",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Inclusive lower bound on `disk_mib`.",
            "in": "query",
            "name": "min_disk_mib",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Inclusive upper bound on `disk_mib`.",
            "in": "query",
            "name": "max_disk_mib",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Inclusive lower bound on creation time.",
            "in": "query",
            "name": "created_start_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Exclusive upper bound on creation time.",
            "in": "query",
            "name": "created_end_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Inclusive lower bound on last-modified time.",
            "in": "query",
            "name": "updated_start_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Exclusive upper bound on last-modified time.",
            "in": "query",
            "name": "updated_end_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Inclusive lower bound on last-activity time.",
            "in": "query",
            "name": "last_activity_start_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Exclusive upper bound on last-activity time.",
            "in": "query",
            "name": "last_activity_end_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Sort field. Defaults to `created_at`; ties break on the ID.",
            "in": "query",
            "name": "sort",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SandboxSearchSort"
            }
          },
          {
            "description": "Sort order. Defaults to `desc`.",
            "in": "query",
            "name": "order",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/SortOrder"
            }
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxSearchPage"
                }
              }
            },
            "description": "The page of matching sandboxes",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "A filter, timestamp, ID, or cursor is invalid (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "501": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox search is not enabled (`SEARCH_NOT_CONFIGURED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox search is temporarily unavailable (`SEARCH_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Search sandboxes",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/windows": {
      "post": {
        "description": "Creates a Windows sandbox when Windows sandboxes are available to the organization.",
        "operationId": "create_windows_sandbox",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateWindowsSandboxRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxCreateOperation"
                }
              }
            },
            "description": "Accepted: the Windows sandbox create",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The body, create timeout, or wait duration is invalid (`BAD_REQUEST` or `CREATE_TTL_OUT_OF_RANGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`), or the project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization does not have Windows sandboxes available (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Image not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The image or placement conflicts with the request (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "410": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The create operation is permanently retired (`CREATE_OPERATION_RETIRED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`CREATE_BODY_TOO_LARGE`). The placement metadata is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Windows capacity could not be verified (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox placement is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a Windows sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}": {
      "delete": {
        "description": "Deletion is asynchronous. The sandbox leaves the list once it completes.",
        "operationId": "delete_sandbox",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the sandbox deletion",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "A fork of this macOS sandbox is still copying its disk; retry once the fork is stopped or running (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "delete:sandboxes"
            ]
          },
          {
            "vm_token": []
          },
          {
            "sandbox_token": []
          },
          {
            "platform_token": [
              "delete:sandboxes"
            ]
          }
        ],
        "summary": "Delete a sandbox",
        "tags": [
          "sandboxes"
        ]
      },
      "get": {
        "operationId": "get_sandbox",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          },
          {
            "$ref": "#/components/parameters/Wait"
          },
          {
            "description": "Exact status to wait for. Another terminal status ends the wait without satisfying it.",
            "in": "query",
            "name": "wait_exact",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "$ref": "#/components/parameters/TimeoutMs"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Sandbox"
                }
              }
            },
            "description": "The sandbox",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get a sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/access-token": {
      "post": {
        "operationId": "mint_sandbox_access_token",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/MintSandboxAccessTokenRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxAccessToken"
                }
              }
            },
            "description": "The created sandbox access token",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "An operation, lifetime, or port is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox is in a terminal status (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body is too large (`PAYLOAD_TOO_LARGE`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Access tokens are temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Mint a sandbox access token",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/archive": {
      "post": {
        "description": "Moves a stopped persistent Linux sandbox's disk to object storage now, whatever its archive interval. Its next start restores the disk first.",
        "operationId": "archive_sandbox",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "The sandbox, unchanged: it is already archived",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the sandbox archive",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Archiving is not available in this region, the sandbox is not a stopped persistent Linux sandbox without volumes, or it is already being archived (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Archive a sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/build-logs-url": {
      "get": {
        "operationId": "get_sandbox_build_logs_url",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BuildLogsUrl"
                }
              }
            },
            "description": "The sandbox build logs URL",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Build logs are temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get a sandbox's build logs URL",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/console-logs": {
      "get": {
        "operationId": "get_sandbox_console_logs",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "The sandbox console log",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox logs are temporarily unavailable (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get sandbox console logs",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/files/sign": {
      "post": {
        "operationId": "sign_sandbox_file_url",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SignSandboxFileUrlRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignedFileUrl"
                }
              }
            },
            "description": "The signed file URL",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The method, path, or expiry is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Sign a sandbox file URL",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/fork": {
      "post": {
        "operationId": "fork_sandbox",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/ForkSandboxRequest"
                  }
                ]
              }
            }
          },
          "description": "Optional body; omit it entirely for a memory fork with the default name"
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ForkSandboxOperation"
                }
              }
            },
            "description": "Accepted: the sandbox fork",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The fork cannot be placed with the requested settings (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The required permission is missing (`FORBIDDEN`). macOS sandboxes are unavailable (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox class does not support forking, or a macOS fork asked for memory (`NOT_SUPPORTED_FOR_CLASS`). The sandbox state or configuration cannot be forked (`CONFLICT`). A macOS source's Mac has no room for the fork (`NO_FREE_SLOT`) or no free disk space (`MAC_DISK_FULL`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox cannot be forked now (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Fork a sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/images": {
      "post": {
        "description": "Captures only the sandbox disk as an image: Linux images have kind `disk`, Windows images kind `block`, and a persistent, stopped macOS sandbox saves a macOS image that a later macOS create can start from. To capture memory, create a snapshot instead.",
        "operationId": "create_sandbox_image",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSandboxImageRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the sandbox image capture",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The image name or retention settings are invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox class does not support image capture, or the region cannot store a macOS image (`NOT_SUPPORTED_FOR_CLASS`). The sandbox is not running, or the image name already exists (`CONFLICT`). A macOS sandbox must instead be persistent and stopped, on an active reservation, with no capture of it in progress (`SNAPSHOT_IN_PROGRESS`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:images"
            ]
          },
          {
            "platform_token": [
              "write:images"
            ]
          }
        ],
        "summary": "Create an image from a sandbox",
        "tags": [
          "images"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/labels": {
      "put": {
        "operationId": "set_sandbox_labels",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetSandboxLabelsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxLabels"
                }
              }
            },
            "description": "The sandbox labels",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The labels exceed a count or size limit (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Set sandbox labels",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/lifecycle-policy": {
      "patch": {
        "description": "Updates the supplied lifecycle settings. Omitted settings remain unchanged.",
        "operationId": "update_sandbox_lifecycle_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateSandboxLifecyclePolicyRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxLifecyclePolicy"
                }
              }
            },
            "description": "The sandbox lifecycle policy",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The body, duration, or action is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Update a sandbox lifecycle policy",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/logs": {
      "get": {
        "operationId": "get_sandbox_logs",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "The sandbox log",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox logs are temporarily unavailable (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get sandbox logs",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/network-policy": {
      "get": {
        "operationId": "get_sandbox_network_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkPolicy"
                }
              }
            },
            "description": "The sandbox network policy",
            "headers": {
              "ETag": {
                "description": "Revision token for the next conditional update",
                "schema": {
                  "type": "string"
                }
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox class does not support network policies (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get the sandbox network policy",
        "tags": [
          "sandboxes"
        ]
      },
      "put": {
        "operationId": "set_sandbox_network_policy",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/SetSandboxNetworkPolicyRequest"
                  }
                ]
              }
            }
          },
          "description": "Full replacement. Send a JSON object to set the policy, or `null` to reset the sandbox to open network access. An empty body is rejected. With a non-null `allow_domains`, `block_all` defaults to `true` and setting it to `false` is rejected (`NETWORK_POLICY_DOMAINS_REQUIRE_BLOCK_ALL`)."
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/NetworkPolicy"
                }
              }
            },
            "description": "Accepted: the sandbox network policy update",
            "headers": {
              "ETag": {
                "description": "Revision token for the next conditional update",
                "schema": {
                  "type": "string"
                }
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request is invalid or the sandbox class is unsupported (`BAD_REQUEST`), or domain rules explicitly disable default deny (`NETWORK_POLICY_DOMAINS_REQUIRE_BLOCK_ALL`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "A sandbox transition is in progress (`NETWORK_POLICY_TRANSITION_IN_PROGRESS`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The desired revision is stale (`STALE_NETWORK_POLICY_REVISION`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "428": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The If-Match header is missing (`IF_MATCH_REQUIRED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The network policy cannot be applied now (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Set a sandbox network policy",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/pause": {
      "post": {
        "operationId": "pause_sandbox",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the sandbox pause",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox class does not support pausing (`NOT_SUPPORTED_FOR_CLASS`). The sandbox is not persistent, has attached volumes, or is not running (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "vm_token": []
          },
          {
            "sandbox_token": []
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Pause a sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/ports": {
      "get": {
        "operationId": "list_sandbox_ports",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          },
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxPortPage"
                }
              }
            },
            "description": "The page of sandbox ports",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The cursor is invalid (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "List sandbox ports",
        "tags": [
          "previews"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/ports/{port}": {
      "delete": {
        "operationId": "delete_sandbox_port",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          },
          {
            "$ref": "#/components/parameters/PortNumber"
          }
        ],
        "responses": {
          "204": {
            "description": "Sandbox port deleted",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The port is outside 1 through 65535 (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox or port not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Delete a sandbox port",
        "tags": [
          "previews"
        ]
      },
      "get": {
        "operationId": "get_sandbox_port",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          },
          {
            "$ref": "#/components/parameters/PortNumber"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxPort"
                }
              }
            },
            "description": "The sandbox port",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The port is outside 1 through 65535 (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox or port not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get a sandbox port",
        "tags": [
          "previews"
        ]
      },
      "put": {
        "description": "Replaces the port configuration.",
        "operationId": "set_sandbox_port",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          },
          {
            "$ref": "#/components/parameters/PortNumber"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetSandboxPortRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxPort"
                }
              }
            },
            "description": "The sandbox port, updated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxPort"
                }
              }
            },
            "description": "The created sandbox port",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The port is outside 1 through 65535, or the body is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Set a sandbox port",
        "tags": [
          "previews"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/ports/{port}/preview-url": {
      "post": {
        "description": "Returns the port's preview URL, exposing the port as private first when it is not already exposed.",
        "operationId": "create_sandbox_preview_url",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          },
          {
            "$ref": "#/components/parameters/PortNumber"
          }
        ],
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PreviewUrl"
                }
              }
            },
            "description": "The created preview URL",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The port is outside 1 through 65535 (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Preview URLs are temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a sandbox preview URL",
        "tags": [
          "previews"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/ports/{port}/signed-preview-urls": {
      "post": {
        "description": "Creates a short-lived preview link for one port. Each link can be revoked independently.",
        "operationId": "create_sandbox_signed_preview_url",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          },
          {
            "$ref": "#/components/parameters/PortNumber"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "type": "null"
                  },
                  {
                    "$ref": "#/components/schemas/CreateSandboxSignedPreviewUrlRequest"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SignedPreviewUrl"
                }
              }
            },
            "description": "The created signed preview URL",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The port or expiry is outside the supported range (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Signed preview URLs are temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Create a signed sandbox preview URL",
        "tags": [
          "previews"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/ports/{port}/signed-preview-urls/revoke": {
      "post": {
        "description": "Revokes one signed preview link. An unknown or expired token is accepted without revealing whether it existed.",
        "operationId": "revoke_sandbox_signed_preview_url",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          },
          {
            "$ref": "#/components/parameters/PortNumber"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RevokeSandboxSignedPreviewUrlRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "Signed preview URL revoked",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The port is outside 1 through 65535 (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Signed preview URL revocation is temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Revoke a signed sandbox preview URL",
        "tags": [
          "previews"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/reset-idle-timer": {
      "post": {
        "operationId": "reset_sandbox_idle_timer",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxLifecyclePolicy"
                }
              }
            },
            "description": "The sandbox lifecycle policy",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Reset a sandbox idle timer",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/resume": {
      "post": {
        "operationId": "resume_sandbox",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the sandbox resume",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`), or the project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox class does not support resuming (`NOT_SUPPORTED_FOR_CLASS`). The sandbox is not paused, its saved state is unavailable, or its macOS reservation is ending (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox cannot be resumed now (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Resume a sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/signing-key/rotate": {
      "post": {
        "operationId": "rotate_sandbox_signing_key",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "204": {
            "description": "Sandbox signing key rotated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Rotate a sandbox signing key",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/snapshots": {
      "post": {
        "description": "Creates a memory snapshot. Linux sandboxes produce a `full` snapshot containing memory and disk; GPU sandboxes produce a `checkpoint`. Windows and macOS sandboxes return `NOT_SUPPORTED_FOR_CLASS`; to capture only the disk, create an image instead.",
        "operationId": "create_sandbox_snapshot",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateSandboxSnapshotRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the sandbox snapshot capture",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The snapshot name is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox class does not support snapshots (`NOT_SUPPORTED_FOR_CLASS`). The sandbox is not running, its saved state is unavailable, or the snapshot name already exists (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:snapshots"
            ]
          },
          {
            "platform_token": [
              "write:snapshots"
            ]
          }
        ],
        "summary": "Create a snapshot from a sandbox",
        "tags": [
          "snapshots"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/start": {
      "post": {
        "description": "macOS: Start the stored disk at its fixed size on the same Mac and live reservation. This operation never buys a reservation or moves the disk.",
        "operationId": "start_sandbox",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the sandbox start",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "402": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The organization is suspended (`ORG_SUSPENDED`), or the project reached its monthly budget (`PROJECT_BUDGET_EXCEEDED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The required permission is missing (`FORBIDDEN`). macOS sandboxes are unavailable (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox cannot be started in its current configuration, or a macOS sandbox's reservation or local disk is unavailable (`CONFLICT`). The sandbox's Mac has no room (`NO_FREE_SLOT`) or no free disk space (`MAC_DISK_FULL`). A saved image of the sandbox's disk is still in progress (`SNAPSHOT_IN_PROGRESS`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox cannot be started now (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Start a sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/stop": {
      "post": {
        "description": "Stops a persistent sandbox and keeps its disk. A sandbox that is not\npersistent cannot be stopped. A macOS sandbox keeps its disk on the same\nMac until it is deleted, its reservation ends, or the Mac is lost.",
        "operationId": "stop_sandbox",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the sandbox stop",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The sandbox cannot be stopped in its current configuration (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:sandboxes"
            ]
          },
          {
            "vm_token": []
          },
          {
            "sandbox_token": []
          },
          {
            "platform_token": [
              "write:sandboxes"
            ]
          }
        ],
        "summary": "Stop a sandbox",
        "tags": [
          "sandboxes"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/usage": {
      "get": {
        "description": "Returns the latest resource measurements for a running sandbox.",
        "operationId": "get_sandbox_usage",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxUsage"
                }
              }
            },
            "description": "The sandbox usage",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Current usage is unavailable (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get current sandbox usage",
        "tags": [
          "usage"
        ]
      }
    },
    "/sandboxes/{sandbox_id}/usage/history": {
      "get": {
        "description": "Returns resource usage in minute or hour buckets for the requested half-open time range.",
        "operationId": "get_sandbox_usage_history",
        "parameters": [
          {
            "$ref": "#/components/parameters/SandboxId"
          },
          {
            "description": "Start of the time range, inclusive. Defaults to 24 hours before `end_at`.",
            "in": "query",
            "name": "start_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "End of the time range, exclusive. Defaults to now.",
            "in": "query",
            "name": "end_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Bucket size. Defaults to `minute`.",
            "in": "query",
            "name": "resolution",
            "required": false,
            "schema": {
              "enum": [
                "minute",
                "hour"
              ],
              "type": "string",
              "x-daytona-exact-enum": "parameter"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SandboxUsageHistory"
                }
              }
            },
            "description": "The sandbox usage history",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "A time-range parameter or resolution is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Sandbox not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:sandboxes"
            ]
          },
          {
            "platform_token": [
              "read:sandboxes"
            ]
          }
        ],
        "summary": "Get sandbox usage history",
        "tags": [
          "usage"
        ]
      }
    },
    "/secrets": {
      "get": {
        "operationId": "list_secrets",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecretPage"
                }
              }
            },
            "description": "The page of secrets",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": [
              "read:secrets"
            ]
          },
          {
            "platform_token": [
              "read:secrets"
            ]
          }
        ],
        "summary": "List project secrets",
        "tags": [
          "secrets"
        ]
      }
    },
    "/secrets/{name}": {
      "delete": {
        "description": "Running sandboxes that use the secret keep its value until they are deleted.",
        "operationId": "delete_secret",
        "parameters": [
          {
            "$ref": "#/components/parameters/SecretName"
          }
        ],
        "responses": {
          "204": {
            "description": "Secret deleted",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Secret not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "delete:secrets"
            ]
          },
          {
            "platform_token": [
              "delete:secrets"
            ]
          }
        ],
        "summary": "Delete a secret",
        "tags": [
          "secrets"
        ]
      },
      "get": {
        "operationId": "get_secret",
        "parameters": [
          {
            "$ref": "#/components/parameters/SecretName"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "The secret metadata",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Secret not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:secrets"
            ]
          },
          {
            "platform_token": [
              "read:secrets"
            ]
          }
        ],
        "summary": "Get a secret's metadata",
        "tags": [
          "secrets"
        ]
      },
      "put": {
        "description": "Values are encrypted at rest and are write-only.",
        "operationId": "set_secret",
        "parameters": [
          {
            "$ref": "#/components/parameters/SecretName"
          },
          {
            "description": "Set to `*` to create only when the secret is absent",
            "in": "header",
            "name": "If-None-Match",
            "required": false,
            "schema": {
              "type": [
                "string",
                "null"
              ]
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetSecretRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "The secret metadata, updated",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Secret"
                }
              }
            },
            "description": "The created secret metadata",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The name, request body, or conditional header is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "A concurrent request created the secret; retry the request (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "412": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The secret already exists (`SECRET_ALREADY_EXISTS`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Secrets are temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:secrets"
            ]
          },
          {
            "platform_token": [
              "write:secrets"
            ]
          }
        ],
        "summary": "Create or update a secret",
        "tags": [
          "secrets"
        ]
      }
    },
    "/snapshots": {
      "get": {
        "operationId": "list_snapshots",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          },
          {
            "description": "Match this exact snapshot name.",
            "in": "query",
            "name": "name",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Return snapshots captured from this sandbox ID.",
            "in": "query",
            "name": "sandbox_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SnapshotPage"
                }
              }
            },
            "description": "The page of snapshots",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The cursor or filter is invalid (`BAD_REQUEST`). The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": [
              "read:snapshots"
            ]
          },
          {
            "platform_token": [
              "read:snapshots"
            ]
          }
        ],
        "summary": "List snapshots",
        "tags": [
          "snapshots"
        ]
      }
    },
    "/snapshots/{id}": {
      "delete": {
        "operationId": "delete_snapshot",
        "parameters": [
          {
            "$ref": "#/components/parameters/SnapshotIdOrName"
          },
          {
            "$ref": "#/components/parameters/IdOnly"
          }
        ],
        "responses": {
          "204": {
            "description": "Snapshot deleted",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The value matches both a snapshot ID and a different snapshot's name (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Snapshot not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "A sandbox still references this snapshot (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "delete:snapshots"
            ]
          },
          {
            "platform_token": [
              "delete:snapshots"
            ]
          }
        ],
        "summary": "Delete a snapshot",
        "tags": [
          "snapshots"
        ]
      },
      "get": {
        "operationId": "get_snapshot",
        "parameters": [
          {
            "$ref": "#/components/parameters/Wait"
          },
          {
            "$ref": "#/components/parameters/TimeoutMs"
          },
          {
            "$ref": "#/components/parameters/IdOnly"
          },
          {
            "$ref": "#/components/parameters/SnapshotIdOrName"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Snapshot"
                }
              }
            },
            "description": "The snapshot",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The value matches both a snapshot ID and a different snapshot's name (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Snapshot not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:snapshots"
            ]
          },
          {
            "platform_token": [
              "read:snapshots"
            ]
          }
        ],
        "summary": "Get a snapshot",
        "tags": [
          "snapshots"
        ]
      }
    },
    "/usage/budget": {
      "get": {
        "description": "Returns the project's monthly spend budget and its current status. A recent change can take up to 30 seconds to appear.",
        "operationId": "get_usage_budget",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectBudget"
                }
              }
            },
            "description": "The project's spend budget",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The spend budget is temporarily unavailable (`BAD_GATEWAY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:spending"
            ]
          },
          {
            "platform_token": [
              "read:spending"
            ]
          }
        ],
        "summary": "Get the project's spend budget",
        "tags": [
          "usage"
        ]
      }
    },
    "/usage/report": {
      "get": {
        "description": "Returns sandbox usage for the project. Changes can take up to 30 seconds to appear.",
        "operationId": "get_usage_report",
        "parameters": [
          {
            "description": "Start of the time range, inclusive. Defaults to 24 hours before `end_at`.",
            "in": "query",
            "name": "start_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "End of the time range, exclusive. Defaults to now.",
            "in": "query",
            "name": "end_at",
            "required": false,
            "schema": {
              "format": "date-time",
              "type": "string"
            }
          },
          {
            "description": "Bucket size. Defaults to `hour`.",
            "in": "query",
            "name": "resolution",
            "required": false,
            "schema": {
              "enum": [
                "hour",
                "day"
              ],
              "type": "string",
              "x-daytona-exact-enum": "parameter"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsageReport"
                }
              }
            },
            "description": "The usage report",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "A time-range parameter or resolution is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": [
              "read:spending"
            ]
          },
          {
            "platform_token": [
              "read:spending"
            ]
          }
        ],
        "summary": "Get a project usage report",
        "tags": [
          "usage"
        ]
      }
    },
    "/volumes": {
      "get": {
        "operationId": "list_volumes",
        "parameters": [
          {
            "$ref": "#/components/parameters/Limit"
          },
          {
            "$ref": "#/components/parameters/Cursor"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VolumePage"
                }
              }
            },
            "description": "The page of volumes",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The limit or cursor is invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          }
        },
        "security": [
          {
            "api_key": [
              "read:volumes"
            ]
          },
          {
            "platform_token": [
              "read:volumes"
            ]
          }
        ],
        "summary": "List volumes",
        "tags": [
          "volumes"
        ]
      },
      "post": {
        "operationId": "create_volume",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateVolumeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                }
              }
            },
            "description": "The created volume",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The name, type, size, or bucket settings are invalid (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The required permission is missing (`FORBIDDEN`). Disk volumes are unavailable to the organization (`FEATURE_NOT_ENABLED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "A volume with that name already exists (`CONFLICT`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The bucket could not be created (`BUCKET_CREATE_FAILED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Bucket volumes are temporarily unavailable (`SERVICE_UNAVAILABLE`)",
            "headers": {
              "Retry-After": {
                "$ref": "#/components/headers/Retry-After"
              },
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "write:volumes"
            ]
          },
          {
            "platform_token": [
              "write:volumes"
            ]
          }
        ],
        "summary": "Create a volume",
        "tags": [
          "volumes"
        ]
      }
    },
    "/volumes/{id}": {
      "delete": {
        "description": "Deletion is asynchronous. Repeating the request after the deletion\ncompletes confirms it without starting another.",
        "operationId": "delete_volume",
        "parameters": [
          {
            "$ref": "#/components/parameters/VolumeIdOrName"
          },
          {
            "$ref": "#/components/parameters/IdOnly"
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AsyncOperation"
                }
              }
            },
            "description": "Accepted: the volume deletion",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "204": {
            "description": "Volume deleted",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The value matches both a volume ID and a different volume's name (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Volume not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The volume is attached to a sandbox (`CONFLICT`). The volume's bucket is not empty (`BUCKET_NOT_EMPTY`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The bucket could not be deleted (`BUCKET_DELETE_FAILED`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "delete:volumes"
            ]
          },
          {
            "platform_token": [
              "delete:volumes"
            ]
          }
        ],
        "summary": "Delete a volume",
        "tags": [
          "volumes"
        ]
      },
      "get": {
        "operationId": "get_volume",
        "parameters": [
          {
            "$ref": "#/components/parameters/VolumeIdOrName"
          },
          {
            "$ref": "#/components/parameters/IdOnly"
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Volume"
                }
              }
            },
            "description": "The volume",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The value matches both a volume ID and a different volume's name (`BAD_REQUEST`)",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/Forbidden"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Volume not found",
            "headers": {
              "x-daytona-trace-id": {
                "$ref": "#/components/headers/x-daytona-trace-id"
              }
            }
          }
        },
        "security": [
          {
            "api_key": [
              "read:volumes"
            ]
          },
          {
            "platform_token": [
              "read:volumes"
            ]
          }
        ],
        "summary": "Get a volume",
        "tags": [
          "volumes"
        ]
      }
    }
  },
  "servers": [
    {
      "description": "this deployment",
      "url": "/"
    }
  ],
  "tags": [
    {
      "description": "Create, inspect, and manage sandboxes.",
      "name": "sandboxes"
    },
    {
      "description": "Build and manage images.",
      "name": "images"
    },
    {
      "description": "Review what moved from Daytona v1 and import archived v1 sandboxes.",
      "name": "migration"
    },
    {
      "description": "Capture and manage sandbox snapshots.",
      "name": "snapshots"
    },
    {
      "description": "Create and manage persistent volumes.",
      "name": "volumes"
    },
    {
      "description": "Manage project secrets. Values are encrypted at rest and never returned.",
      "name": "secrets"
    },
    {
      "description": "Manage private container registry access.",
      "name": "registries"
    },
    {
      "description": "Reserve capacity for macOS sandboxes.",
      "name": "reservations"
    },
    {
      "description": "Expose sandbox ports through preview URLs.",
      "name": "previews"
    },
    {
      "description": "Discover available regions.",
      "name": "regions"
    },
    {
      "description": "Discover supported hardware options.",
      "name": "catalog"
    },
    {
      "description": "Read project usage.",
      "name": "usage"
    },
    {
      "description": "Read the signed-in user.",
      "name": "users"
    },
    {
      "description": "Manage organizations, their members, and invitations. Members join by invitation and can look up, accept, or decline an invitation.",
      "name": "organizations"
    },
    {
      "description": "Manage projects, their members, and service-account attachments.",
      "name": "projects"
    },
    {
      "description": "Discover roles and access options.",
      "name": "roles"
    },
    {
      "description": "Manage project and organization API keys.",
      "name": "api-keys"
    },
    {
      "description": "Manage service accounts.",
      "name": "service-accounts"
    },
    {
      "description": "Manage billing, balances, invoices, and payments.",
      "name": "billing"
    },
    {
      "description": "Discover the actions the audit log records.",
      "name": "audit"
    },
    {
      "description": "Check service health and configuration.",
      "name": "system"
    },
    {
      "description": "Exchange a signed-in session for a short-lived access token.",
      "name": "auth"
    }
  ],
  "x-daytona-error-codes": {
    "AUTOMATIC_TOP_UP_NOT_AVAILABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "AUTO_RESERVE_LIMIT_REACHED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "BAD_RANGE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "BAD_RESOLUTION": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "BAD_RUNNER": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "BILLING_ACCOUNT_CONFLICT": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "BILLING_DISABLED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 501
    },
    "BILLING_ERROR": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 502
    },
    "BILLING_FORBIDDEN": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 502
    },
    "BILLING_NOT_PROVISIONED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "BILLING_UNAVAILABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 503
    },
    "BILLING_UNREACHABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 502
    },
    "BUCKET_CREATE_FAILED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 502
    },
    "BUCKET_DELETE_FAILED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 502
    },
    "BUCKET_NOT_EMPTY": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "BUILD_LOG_BATCH_TOO_LARGE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 413
    },
    "CHARGE_FAILED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 402
    },
    "CHARGE_NOT_FOUND": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 404
    },
    "CHARGE_NOT_SUCCEEDED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "CHECKPOINT_FAILED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "CHECKPOINT_PENDING": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "COUPON_ALREADY_REDEEMED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "COUPON_EXPIRED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "COUPON_LIMIT_REACHED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "COUPON_NOT_FOUND": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 404
    },
    "CREATE_BODY_TOO_LARGE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 413
    },
    "CREATE_OPERATION_RETIRED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 410
    },
    "CREATE_TTL_OUT_OF_RANGE": {
      "extras": [
        "max"
      ],
      "source": "DAYTONA_API",
      "status": 400
    },
    "CROSS_CELL_PLACEMENT_UNSUPPORTED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "DEFAULT_IMAGE_NOT_CONFIGURED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "ECR_ACCOUNT_MISMATCH": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "ECR_CREDENTIALS_INVALID": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "ECR_OWNERSHIP_UNVERIFIABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 502
    },
    "EMAIL_ACCESS_DENIED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 403
    },
    "ENTITLEMENT_REQUIRED": {
      "extras": [
        "entitlement"
      ],
      "source": "DAYTONA_API",
      "status": 403
    },
    "FEATURE_NOT_ENABLED": {
      "extras": [
        "feature"
      ],
      "source": "DAYTONA_API",
      "status": 403
    },
    "HARDWARE_REPLY_TOO_LARGE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 503
    },
    "IDEMPOTENCY_KEY_REUSED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "IDENTITY_NOT_FOUND": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 404
    },
    "IDLE_OUT_OF_RANGE": {
      "extras": [
        "max"
      ],
      "source": "DAYTONA_API",
      "status": 400
    },
    "IF_MATCH_REQUIRED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 428
    },
    "IMAGE_BUILD_FAILED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "IMAGE_CLASS_MISMATCH": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "IMAGE_FORMAT_OUTDATED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "IMAGE_NAME_RESERVED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "IMAGE_NAME_TAKEN": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "IMAGE_NOT_FOUND": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 404
    },
    "IMAGE_NOT_READY": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "IMPORTED_KEY_ALWAYS_SYNCED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "INSTANCE_CREATE_FAILED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 503
    },
    "INSTANCE_UNREACHABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 502
    },
    "INSUFFICIENT_BALANCE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 402
    },
    "INVALID_FOR_SOURCE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "INVOCATION_TIMEOUT": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 504
    },
    "INVOICE_NOT_FINALIZED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "INVOICE_NOT_FOUND": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 404
    },
    "INVOICE_NOT_PAYABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "KEY_SYNC_NOT_APPLICABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "LIMIT_EXCEEDED": {
      "extras": [
        "limit",
        "current",
        "max"
      ],
      "source": "DAYTONA_API",
      "status": 429
    },
    "MAC_DISK_FULL": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "MANAGEMENT_PLANE_ELSEWHERE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 501
    },
    "NETWORK_POLICY_DOMAINS_REQUIRE_BLOCK_ALL": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "NETWORK_POLICY_TRANSITION_IN_PROGRESS": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "NOT_SUPPORTED_FOR_CLASS": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "NO_ACTIVE_RESERVATION": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "NO_CHECKPOINT": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "NO_FREE_SLOT": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "NO_MAC_AVAILABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "OPERATOR_IDENTITY_REQUIRED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 403
    },
    "ORG_SUSPENDED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 402
    },
    "ORIGIN_IMPORT_ONLY": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "OVERLOADED": {
      "extras": [
        "retry_after_seconds"
      ],
      "source": "DAYTONA_API",
      "status": 429
    },
    "PAYMENT_METHOD_REQUIRED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "PLACEMENT_UNAVAILABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 503
    },
    "PLAN_CHANGE_PENDING": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "PLAN_MANAGED_BY_OPERATOR": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "PLAN_REQUIRES_SALES": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "PLAN_UNCHANGED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "PROJECT_BUDGET_EXCEEDED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 402
    },
    "RATE_LIMITED": {
      "extras": [
        "retry_after_seconds"
      ],
      "source": "DAYTONA_API",
      "status": 429
    },
    "READ_ONLY_UNSUPPORTED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "RESERVATION_NOT_FOUND": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 404
    },
    "SEARCH_NOT_CONFIGURED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 501
    },
    "SEARCH_UNAVAILABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 503
    },
    "SECRET_ALREADY_EXISTS": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 412
    },
    "SIGNUP_NOT_INVITED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 403
    },
    "SNAPSHOT_CLASS_MISMATCH": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "SNAPSHOT_IN_PROGRESS": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "SNAPSHOT_NOT_FOUND": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 404
    },
    "SNAPSHOT_NOT_READY": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "SOURCE_AMBIGUOUS": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "STALE_NETWORK_POLICY_REVISION": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 412
    },
    "UNKNOWN_PLAN": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "UNSUPPORTED_VOLUME_TYPE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 400
    },
    "USAGE_UNAVAILABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 503
    },
    "V1_BACKUP_REGISTRY_UNCONFIGURED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 503
    },
    "V1_BRIDGE_UNAVAILABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 503
    },
    "V1_MIGRATION_DEFAULT_PROJECT_ONLY": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 403
    },
    "V1_SANDBOX_NOT_FOUND": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 404
    },
    "V1_SANDBOX_NOT_IMPORTABLE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 409
    },
    "WORKLOAD_PLANE_ELSEWHERE": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 501
    },
    "WORKOS_SYNC_DISABLED": {
      "extras": [],
      "source": "DAYTONA_API",
      "status": 402
    }
  },
  "x-daytona-generic-codes": {
    "BAD_GATEWAY": {
      "extras": [],
      "status": 502
    },
    "BAD_REQUEST": {
      "extras": [],
      "status": 400
    },
    "CONFLICT": {
      "extras": [],
      "status": 409
    },
    "FORBIDDEN": {
      "extras": [],
      "status": 403
    },
    "GATEWAY_TIMEOUT": {
      "extras": [],
      "status": 504
    },
    "GONE": {
      "extras": [
        "replacement"
      ],
      "status": 410
    },
    "INTERNAL_SERVER_ERROR": {
      "extras": [],
      "status": 500
    },
    "METHOD_NOT_ALLOWED": {
      "extras": [],
      "status": 405
    },
    "NOT_FOUND": {
      "extras": [],
      "status": 404
    },
    "NOT_IMPLEMENTED": {
      "extras": [],
      "status": 501
    },
    "PAYLOAD_TOO_LARGE": {
      "extras": [],
      "status": 413
    },
    "PAYMENT_REQUIRED": {
      "extras": [],
      "status": 402
    },
    "REQUEST_TIMEOUT": {
      "extras": [],
      "status": 408
    },
    "SERVICE_UNAVAILABLE": {
      "extras": [],
      "status": 503
    },
    "TOO_MANY_REQUESTS": {
      "extras": [],
      "status": 429
    },
    "UNAUTHORIZED": {
      "extras": [],
      "status": 401
    },
    "UNPROCESSABLE_ENTITY": {
      "extras": [],
      "status": 422
    },
    "UNSUPPORTED_MEDIA_TYPE": {
      "extras": [],
      "status": 415
    }
  }
}
