/** * This file was auto-generated by openapi-typescript. * Do not make direct changes to the file. */ export interface paths { "/v1/sandboxes/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesId"]; put?: never; post?: never; delete: operations["deleteV1SandboxesId"]; options?: never; head?: never; patch: operations["patchV1SandboxesId"]; trace?: never; }; "/v1/sandboxes/{id}/files": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdFiles"]; put: operations["putV1SandboxesIdFiles"]; post?: never; delete: operations["deleteV1SandboxesIdFiles"]; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/processes/{handle}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdProcessesHandle"]; put?: never; post?: never; delete: operations["deleteV1SandboxesIdProcessesHandle"]; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/secrets/{alias}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete: operations["deleteV1SandboxesIdSecretsAlias"]; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/volumes/{mount}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdVolumesMount"]; put?: never; post: operations["postV1SandboxesIdVolumesMount"]; delete: operations["deleteV1SandboxesIdVolumesMount"]; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/secrets/bindings/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete: operations["deleteV1SecretsBindingsId"]; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/secrets/{id}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SecretsId"]; put?: never; post?: never; delete: operations["deleteV1SecretsId"]; options?: never; head?: never; patch: operations["patchV1SecretsId"]; trace?: never; }; "/v1/volumes/{v}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesV"]; put: operations["putV1VolumesV"]; post?: never; delete: operations["deleteV1VolumesV"]; options?: never; head?: never; patch: operations["patchV1VolumesV"]; trace?: never; }; "/v1/volumes/{v}/files": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVFiles"]; put?: never; post?: never; delete: operations["deleteV1VolumesVFiles"]; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/files/upload/{uploadId}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete: operations["deleteV1VolumesVFilesUploadUploadId"]; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/tags/{tag}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put: operations["putV1VolumesVTagsTag"]; post?: never; delete: operations["deleteV1VolumesVTagsTag"]; options?: never; head?: never; patch?: never; trace?: never; }; "/health": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getHealth"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/me": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1Me"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/regions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1Regions"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1Sandboxes"]; put?: never; post: operations["postV1Sandboxes"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/egress-ip": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdEgressip"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/files/find": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdFilesFind"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/files/grep": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdFilesGrep"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/files/list": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdFilesList"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/files/stat": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdFilesStat"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/logs": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdLogs"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/processes": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdProcesses"]; put?: never; post: operations["postV1SandboxesIdProcesses"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/processes/{handle}/logs": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdProcessesHandleLogs"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/processes/{handle}/stream": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdProcessesHandleStream"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/secrets": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdSecrets"]; put: operations["putV1SandboxesIdSecrets"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/volumes": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1SandboxesIdVolumes"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/secrets": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1Secrets"]; put?: never; post: operations["postV1Secrets"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/templates": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1Templates"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1Volumes"]; put?: never; post: operations["postV1Volumes"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/limits": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesLimits"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/commits": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVCommits"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/commits/{ref}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVCommitsRef"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/files/content": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVFilesContent"]; put: operations["putV1VolumesVFilesContent"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/files/stat": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVFilesStat"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/files/upload": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVFilesUpload"]; put?: never; post: operations["postV1VolumesVFilesUpload"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/mounts": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVMounts"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/mounts/{mount}/wait": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVMountsMountWait"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/tags": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVTags"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/wait": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1VolumesVWait"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/workers": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1Workers"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/workers/{name}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get: operations["getV1WorkersName"]; put?: never; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/env": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post?: never; delete?: never; options?: never; head?: never; patch: operations["patchV1SandboxesIdEnv"]; trace?: never; }; "/v1/sandboxes/{id}/clone": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdClone"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/exec": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdExec"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/expose": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdExpose"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/files/mkdir": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdFilesMkdir"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/fork": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdFork"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/processes/{handle}/resize": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdProcessesHandleResize"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/processes/{handle}/signal": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdProcessesHandleSignal"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/processes/{handle}/stdin": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdProcessesHandleStdin"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/resume": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdResume"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/run-code": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdRuncode"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/volumes/{mount}/commit": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdVolumesMountCommit"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/volumes/{mount}/pull": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SandboxesIdVolumesMountPull"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/secrets/bindings": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SecretsBindings"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/secrets/{id}/versions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1SecretsIdVersions"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/templates/{id}/materialize": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1TemplatesIdMaterialize"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/templates/{id}/prepare": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1TemplatesIdPrepare"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/commit": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1VolumesVCommit"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/files/copy": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1VolumesVFilesCopy"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/files/move": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1VolumesVFilesMove"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/files/upload/{uploadId}/commit": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1VolumesVFilesUploadUploadIdCommit"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/fork": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1VolumesVFork"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/heartbeat": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1VolumesVHeartbeat"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/restore": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1VolumesVRestore"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/workers/{name}/activate": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1WorkersNameActivate"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/workers/{name}/versions": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put?: never; post: operations["postV1WorkersNameVersions"]; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/sandboxes/{id}/files/atomic": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put: operations["putV1SandboxesIdFilesAtomic"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; "/v1/volumes/{v}/files/upload/{uploadId}/blocks/{sha}": { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; get?: never; put: operations["putV1VolumesVFilesUploadUploadIdBlocksSha"]; post?: never; delete?: never; options?: never; head?: never; patch?: never; trace?: never; }; } export type webhooks = Record; export interface components { schemas: { /** @description A Worker: a folder under the org's storage prefix that cells created with `worker: ` boot from. */ Worker: { name: string; /** @description The wrangler `name` of the active version; null before the first activation. */ script_name?: string | null; /** @description Active version (16 hex, content-addressed); null before the first activation. */ version?: string | null; prefix?: string | null; /** @description Cells serving this worker: a count on the list, rows on GET /v1/workers/{name}. */ cells?: unknown; }; WorkerVersion: { name: string; script_name: string; /** @description First 16 hex of sha256(bundle) — celld's own version id; the same bundle is the same version. */ version: string; prefix: string; bytes: number; }; WorkerActivation: { name: string; script_name: string; version: string; cells: { id?: string; state?: string; }[]; /** @description celld 0.3.0 loads a deployment at startup: stop/start each cell. 0.4.0 adopts the pointer in place. */ restart_required: boolean; }; ExposedPort: { port: number; url: string; token?: string; public: boolean; }; ExecResult: { stdout: string; stderr: string; exit_code: number; error?: string; }; FsEntry: { name: string; size: number; mode: number; is_dir: boolean; }; ManagedProc: { /** @description Opaque id (p_…), unique per agent boot and stable across an in-place agent upgrade. */ handle: string; pid: number; cmd: string[]; /** @description Unix seconds. */ started_at?: number; running: boolean; /** @description Meaningless while `running` is true — the guest sends 0, not null. */ exit_code: number; /** @description Unix seconds; 0 while running. */ exited_at?: number; pty?: boolean; /** @description The PROCESS hit its own timeout_ms and was killed. Not the same as a wait that timed out. */ timed_out?: boolean; stdout_len?: number; stderr_len?: number; }; ProcLogs: { handle?: string; stdout: string; stderr: string; /** * @description How to read stdout/stderr. utf8 replaces invalid byte sequences with U+FFFD; ask for base64 when the bytes matter. * @enum {string} */ encoding?: "utf8" | "base64"; /** @description ABSOLUTE byte count since process start. Send it back as ?stdout_offset= to continue at the next byte. */ stdout_offset: number; stderr_offset: number; /** @description Bytes evicted from the ring before this read reached them — a HOLE. Non-zero means the returned data starts at offset + dropped; surface it rather than concatenating across the gap. */ stdout_dropped: number; stderr_dropped: number; running: boolean; /** @description Both output streams reached EOF. When false, final bytes may still arrive even if running is false. */ drained?: boolean; exit_code: number; timed_out?: boolean; }; SandboxLogs: { /** @description The log that was read. Per runtime: a cell offers celld | boot, a microVM offers app. */ source: string; /** @description Where that log lives inside the guest. */ path: string; /** @description Every source this sandbox's runtime offers, so a client can build its tabs from one call. */ sources: string[]; /** @description false when the file is not there (a plain sandbox has no pt-app.log); lines is then empty. */ exists: boolean; /** @description The last ?tail= lines (default 200, max 2000), oldest first, without line terminators. */ lines: string[]; /** @description The file has more lines than were returned. */ truncated: boolean; }; SandboxState: { id: string; name: string | null; orgId?: string; templateId?: string; hostId?: string | null; /** @enum {string} */ state: "pending" | "provisioning" | "starting" | "running" | "stopping" | "stopped" | "resuming" | "archived" | "failed-provision" | "failed-start" | "lost" | "deleted"; /** @enum {string} */ type?: "persistent" | "ephemeral"; region?: string | null; datacenter?: string | null; agent_ready?: boolean | null; /** @description In-VM runtime's OWN readiness, distinct from agent_ready (the agent HTTP surface being up). true=runtime ready, false=running but runtime NOT ready (see runtime_reason), null=unknown (not running, stale, or image has no runtime health endpoint). */ runtime_ready?: boolean | null; /** @description Machine-readable reason the runtime is not ready (e.g. "initial_opencode_session_failed"). Set only when runtime_ready is false. */ runtime_reason?: string | null; cpu: number; ramMb: number; diskGb: number; /** @description Execution backend; one of GET /v1/runtimes. Default microvm. */ runtime?: string; /** @description A cell's Worker: its folder under the org's storage prefix (workers/). Only with a runtime that manages its own storage; null = the org root. */ worker?: string | null; vsockCid?: number | null; internalIp?: string | null; exposedPorts?: number[]; metadata?: { [key: string]: unknown; }; errorMessage?: string | null; createdAt: string; startedAt?: string | null; stoppedAt?: string | null; deletedAt?: string | null; /** @description Whether an inbound request to an exposed port wakes the sandbox while it is stopped or archived. Set at create (auto_resume) or with PATCH. */ autoResume?: boolean; /** @description Present when Volumes are enabled for the org. */ volume_mounts?: components["schemas"]["VolumeMount"][]; }; SandboxCreated: { id: string; name?: string | null; state: string; host_id?: string; via?: string; warm?: boolean; exposed?: components["schemas"]["ExposedPort"][]; volume_mounts?: components["schemas"]["VolumeMount"][]; }; ExecResponse: { result: components["schemas"]["ExecResult"]; error?: string; }; Region: { region: string; label?: string; gpuAvailable?: boolean; }; TemplateInfo: { id: string; name: string; version?: string; state: string; }; /** @description A persistent volume: a chain of commits. Mounts are private working copies; nobody sees a write until it is committed. */ Volume: { /** @description vol_ */ id: string; name: string; /** @enum {string} */ kind: "volume"; /** @description Deleted 10 minutes after its last heartbeat or live mount. */ temporary: boolean; head_commit_id: string | null; /** @description The filesystem size; the tier cap. */ size_limit_bytes: number; /** @description Bytes used by files at the head. */ logical_bytes?: number; /** @description Stored bytes billed to this volume, sampled daily. */ unique_bytes?: number; file_count?: number; region?: string | null; forked_from?: { volume_id?: string; commit_id?: string; } | null; created_at: string; updated_at?: string; last_commit_at?: string | null; live_mounts?: number; }; /** @description A volume of a retired storage engine. Read-only and not billed; listed until an operator imports it into a v1 volume and retires it. */ LegacyVolume: { id: string; name: string; /** @enum {boolean} */ legacy: true; /** @enum {boolean} */ read_only: true; /** @description The retired engine: local, object_fuse or juicefs. */ engine: string | null; size_limit_bytes: number; state: string; /** @description Its data was imported (or given up) and the row is kept for the record. */ retired: boolean; created_at: string | null; }; FileEntry: { /** @description Absolute path within the volume. */ path: string; /** @enum {string} */ type: "file" | "dir" | "symlink" | "other"; size: number; /** @description Unix milliseconds. */ mtime: number; }; VolumeStat: components["schemas"]["FileEntry"] & { mode?: number; uid?: number; gid?: number; symlink_target?: string | null; /** @description Id of the commit that last changed this entry. */ version?: string | null; /** @description The commit that was read. */ commit_id?: string; }; PathReport: { path: string; reason: string; }; VolumeCommit: { id: string; volume_id: string; /** @description Position on the head chain; null for a side commit. */ seq?: number | null; on_head: boolean; /** @enum {string} */ kind: "init" | "fast" | "side" | "merge" | "api" | "restore" | "fork" | "import" | "orphan"; parent_id?: string | null; base_id?: string | null; merged_from?: string[]; author?: { kind?: string; id?: string | null; mount_id?: string | null; }; created_at: string; logical_bytes?: number; file_count?: number; overwritten_count?: number; tags?: string[]; stats?: { [key: string]: unknown; }; /** @description Only on GET …/commits/{ref}. */ overwritten?: components["schemas"]["PathReport"][]; /** @description Only on GET …/commits/{ref}. */ skipped?: components["schemas"]["PathReport"][]; }; /** @description The outcome of one commit. `merged`: someone committed first and the changed paths were laid over the new head (per-file last write wins); `overwritten` lists newer paths this commit replaced, `skipped` the deletes that lost. */ CommitResult: { commit_id: string; /** @enum {string} */ outcome: "fast" | "merged" | "queued" | "noop"; head_commit_id: string; overwritten: components["schemas"]["PathReport"][]; skipped: components["schemas"]["PathReport"][]; overwritten_count?: number; duration_ms?: number; }; VolumeMount: { /** @description vm_ */ id: string; sandbox_id: string; volume_id: string; volume_name?: string | null; mount_path: string; read_only: boolean; /** @description "/" for the whole volume. */ subdir?: string; /** @enum {string} */ state: "pending" | "mounted" | "pulling" | "unmounting" | "unmounted" | "unflushed" | "parked" | "lost" | "failed"; generation?: number; base_commit_id?: string | null; mounted_commit_id?: string | null; last_commit_id?: string | null; last_commit_at?: string | null; dirty_bytes?: number; unflushed?: boolean; /** @description Why the mount could not last catch up, commit or pull; null when the last attempt worked. */ error?: string | null; created_at?: string; }; VolumeTag: { name: string; commit_id: string; created_at?: string; }; SandboxVolumeSpec: { /** @description Volume name or id. */ volume: string; /** @default false */ read_only: boolean; /** @description Mount only this directory of the volume; created if missing. "/" or empty = the whole volume. */ subdir?: string; }; ApiError: { error: string; code: string; }; /** @description The exact CAS template is resident in the requested public region. No VM is started. */ TemplatePreparationReady: { template_id: string; region: string; /** @enum {string} */ state: "ready"; /** @enum {string} */ status: "ready"; }; /** @description Not ready. Poll prepare after retry_after_ms; queued never means resident. */ TemplatePreparationPending: { template_id: string; region: string; /** @enum {string} */ state: "absent" | "replicating" | "failed"; /** @enum {string} */ status: "queued" | "copying" | "cooling_down"; retry_after_ms: number; }; TemplateMaterialization: { template_id: string; /** @enum {string} */ status: "ready" | "in_progress" | "failed" | "unavailable"; queued: number; host_id?: string; command_id?: string; error?: string; code?: string; }; Identity: { orgId: string; /** @enum {string} */ role: "admin" | "org"; userId?: string; /** @enum {string} */ orgRole?: "owner" | "admin" | "member"; }; Health: { status: string; ts: string; }; SandboxCloneResult: { id: string; cloned_from: string; snapshot_id: string; /** @enum {string} */ state: "resuming"; }; SandboxForkResult: { id: string; forked_from: string; snapshot_id: string; /** @enum {string} */ state: "resuming"; snapshot_size_bytes?: number; snapshot_took_ms?: number; }; Secret: { id: string; /** @description Org-unique, lowercase: ^[a-z][a-z0-9_-]{0,63}$ */ name: string; description?: string | null; /** @description Version counter. Bumped by a rotation AND by any allow/headers/on_echo edit. */ current_gen: number; /** @description EXACT destination hostnames. Wildcards (*.example.com) are rejected. */ allow: string[]; /** @description Request header names the proxy may write the value into. Framing headers are rejected. */ headers: string[]; /** @enum {string} */ on_echo: "block" | "redact"; created_at: string; created_by?: string | null; last_used_at?: string | null; }; SecretBinding: { id: string; sandbox_id: string; secret_id: string; /** @description Identity key for the binding: ^[A-Za-z_][A-Za-z0-9_-]{0,63}$. NOT exported into the guest environment — nothing of this name exists inside the sandbox. */ alias: string; /** @description The pre-`alias` spelling of the SAME field, always equal to it. Both are returned permanently; both are accepted on input, and two that disagree are a 400. */ env_name: string; /** @description Request header this binding lands in. null until the derive has placed it. */ header?: string | null; created_at: string; revoked_at?: string | null; }; SecretAttach: string | { /** @description Secret id (sec_…) or name. `secret_id` and `name` are accepted spellings of this field. */ secret: string; /** @description Key this binding is addressed by: ^[A-Za-z_][A-Za-z0-9_-]{0,63}$. Defaults to the secret’s own name. `env_name` is accepted as the older spelling. */ alias?: string; /** @description Which of the secret’s own headers[] the value is written into. A header outside that list is refused: the ciphertext does not authorize it. */ header?: string; }; AttachedSecret: { binding_id: string; secret_id: string; /** @description null when the secret was deleted out from under the binding. */ secret_name?: string | null; alias: string; /** @description Always equal to `alias`. */ env_name: string; /** @description EXACT hostnames this credential may be spent against. */ hosts: string[]; /** @description Header the derive actually placed it in — the outcome, not the request. */ header?: string | null; /** @enum {string|null} */ on_echo?: "block" | "redact" | null; gen?: number | null; /** * @description armed = the host has it and the sandbox is running. arming = the protected datapath is still catching up. unavailable = waiting will not help because the secret, header placement, or host capability is invalid. * @enum {string} */ state: "armed" | "arming" | "unavailable"; }; /** @description What one sandbox may spend, and whether the datapath is carrying it. Descriptors only — no value and no placeholder cross this boundary. */ SandboxSecrets: { sandbox_id: string; /** @description Configuration version the control plane wants the host to carry. */ epoch: number; /** @description What the host last leased. Behind `epoch` on a running sandbox means still arming. */ leased_epoch: number; /** * @description Worst case over `secrets[]`. Zero bindings is `armed`: the datapath carries exactly what it should, which is nothing. * @enum {string} */ state: "armed" | "arming" | "unavailable"; /** @description Compatibility field. Secret routing supports open, restricted, and custom network policies, so v2 normally returns an empty list. */ policy_blocked?: string[]; /** @description The host-managed credential overlay. Nothing here is stored in the user-owned network policy. */ implied_egress: { /** @enum {string} */ network_mode?: "open" | "restricted"; /** @description Exact HTTPS destinations that may receive a credential. */ credential_hosts?: string[]; /** @description Destinations added to reachability under restricted mode. Empty under open mode. */ network_exceptions?: string[]; /** @description Compatibility alias for network_exceptions. */ domains: string[]; /** @description host → the header NAMES written on requests to it. Never the values. */ rules: { [key: string]: string[]; }; proxy: boolean; }; secrets: components["schemas"]["AttachedSecret"][]; }; }; responses: never; parameters: never; requestBodies: never; headers: never; pathItems: never; } export type $defs = Record; export interface operations { getV1SandboxesId: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SandboxState"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; deleteV1SandboxesId: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { id: string; state: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; patchV1SandboxesId: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description Display label; null/blank clears it. */ name?: string | null; /** @description Whether an inbound request to an exposed port wakes the sandbox while it is stopped or archived. */ auto_resume?: boolean; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdFiles: { parameters: { query: { path: string; offset?: number; limit?: number; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; putV1SandboxesIdFiles: { parameters: { query: { path: string; mode?: string; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; deleteV1SandboxesIdFiles: { parameters: { query: { path: string; recurse?: string; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdProcessesHandle: { parameters: { query?: { wait_ms?: number; }; header?: never; path: { id: string; handle: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ManagedProc"] & { /** @description Only with ?wait_ms=. The WAIT elapsed; the process is still running. */ wait_timed_out?: boolean; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; deleteV1SandboxesIdProcessesHandle: { parameters: { query?: never; header?: never; path: { id: string; handle: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { ok: boolean; handle: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; deleteV1SandboxesIdSecretsAlias: { parameters: { query?: never; header?: never; path: { id: string; alias: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SandboxSecrets"] & { /** @description Present ONLY when the binding was revoked but the host rejected the updated egress policy. Requests from that sandbox to the allowed hostname fail closed until the policy is re-applied (POST /v1/sandboxes/{id}/network, or the next start). */ warning?: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdVolumesMount: { parameters: { query?: never; header?: never; path: { id: string; mount: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["VolumeMount"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdVolumesMount: { parameters: { query?: never; header?: never; path: { id: string; mount: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { volume: string; read_only?: boolean; subdir?: string; /** @description The mount path, when {mount} is not one. */ mount_path?: string; }; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["VolumeMount"]; }; }; /** @description OK */ 202: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["VolumeMount"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; deleteV1SandboxesIdVolumesMount: { parameters: { query?: { commit?: boolean; }; header?: never; path: { id: string; mount: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { commit: components["schemas"]["CommitResult"] | null; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; deleteV1SecretsBindingsId: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SecretBinding"] & { /** @description Present ONLY when the binding was revoked but the host rejected the updated egress policy. Requests from that sandbox to the allowed hostname fail closed until the policy is re-applied (POST /v1/sandboxes/{id}/network, or the next start). */ warning?: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SecretsId: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Secret"] & { bindings?: components["schemas"]["SecretBinding"][]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; deleteV1SecretsId: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { id: string; name?: string; deleted: boolean; /** @description Always true: delete overwrites the stored ciphertext, it does not merely flag the row. */ value_erased: boolean; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; patchV1SecretsId: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { name?: string; description?: string | null; allow?: string[]; headers?: string[]; /** @enum {string} */ on_echo?: "block" | "redact"; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Secret"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1VolumesV: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Volume"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; putV1VolumesV: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: { content: { "application/json": Record; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Volume"]; }; }; /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Volume"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; deleteV1VolumesV: { parameters: { query?: { missing_ok?: boolean; }; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 204: { headers: { [name: string]: unknown; }; content: { "application/json": null; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; patchV1VolumesV: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { name: string; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Volume"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; getV1VolumesVFiles: { parameters: { query?: { path?: string; recursive?: boolean; limit?: number; cursor?: string; at?: string; }; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { entries: components["schemas"]["FileEntry"][]; next_cursor: string | null; commit_id: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; deleteV1VolumesVFiles: { parameters: { query: { path: string; recursive?: boolean; }; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommitResult"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; deleteV1VolumesVFilesUploadUploadId: { parameters: { query?: never; header?: never; path: { v: string; uploadId: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { upload_id: string; cancelled: boolean; staged_bytes?: number | null; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; putV1VolumesVTagsTag: { parameters: { query?: never; header?: never; path: { v: string; tag: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description A commit id, a tag, or "head" (default). */ commit?: string; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["VolumeTag"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; deleteV1VolumesVTagsTag: { parameters: { query?: never; header?: never; path: { v: string; tag: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 204: { headers: { [name: string]: unknown; }; content: { "application/json": null; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getHealth: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Health"]; }; }; }; }; getV1Me: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Identity"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1Regions: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Region"][]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1Sandboxes: { parameters: { query?: { paginated?: string; limit?: number; offset?: number; state?: string; runtime?: string; worker?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { rows: components["schemas"]["SandboxState"][]; total: number; offset?: number; limit?: number; has_more?: boolean; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1Sandboxes: { parameters: { query?: { wait_for_state?: string; wait_timeout_ms?: number; }; header?: never; path?: never; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description Pre-built template name or id. Mutually exclusive with image. */ template?: string; image?: { base_image: string; steps?: { [key: string]: unknown; }[]; entrypoint?: string; ready_cmd?: string; default_cpu?: number; default_ram_mb?: number; default_disk_gb?: number; size_mb?: number; }; name?: string; /** @enum {string} */ type?: "persistent" | "ephemeral"; region?: string; cpu?: number; ram_mb?: number; disk_gb?: number; gpus?: number; env?: { [key: string]: string; }; ssh_keys?: string[]; /** @enum {string} */ language?: "python" | "bash" | "node" | "sh"; auto_stop_minutes?: number; auto_archive_days?: number; auto_delete_days?: number; /** * @description Whether an inbound request to an exposed port wakes the sandbox while it is stopped or archived. false = only POST /start or /resume brings it back. * @default true */ auto_resume?: boolean; /** @description Automatic recovery-backup interval in minutes. 0 disables; omitted defaults to 60. */ backup_interval_min?: number; metadata?: { [key: string]: unknown; }; expose?: { port: number; public?: boolean; ttl_seconds?: number; }[]; /** @description Volume mounts keyed by absolute guest path, e.g. {"/data": {"volume": "data"}}. At most 8; paths must not nest. The legacy array [{volume_id, mount_path, subpath, mode}] is also accepted. */ volumes?: { [key: string]: components["schemas"]["SandboxVolumeSpec"]; }; /** @description Org secrets this sandbox may spend. Nothing lands in the guest: no env var, no file, no placeholder. Read back with GET /v1/sandboxes/{id}/secrets. */ secrets?: components["schemas"]["SecretAttach"][]; }; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SandboxCreated"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdEgressip: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { /** @description Current host network exit address. */ ip: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdFilesFind: { parameters: { query?: { path?: string; pattern?: string; max?: number; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { ok: boolean; matches: string[]; error?: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdFilesGrep: { parameters: { query?: { path?: string; pattern?: string; max?: number; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { ok: boolean; lines: string[]; error?: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdFilesList: { parameters: { query?: { path?: string; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { ok: boolean; entries?: components["schemas"]["FsEntry"][]; error?: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdFilesStat: { parameters: { query: { path: string; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdLogs: { parameters: { query?: { source?: string; tail?: number; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SandboxLogs"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdProcesses: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { procs: components["schemas"]["ManagedProc"][]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdProcesses: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description Command as argv array, or a string run via sh -c. */ cmd: string | string[]; /** @description Defaults to "/". Must exist. */ cwd?: string; /** @description Merged over the sandbox's own envVars, which are injected automatically. */ env?: { [key: string]: string; }; /** @description Allocate a PTY. stdout and stderr are then inherently merged: everything arrives on stdout and stderr stays empty. */ pty?: boolean; cols?: number; rows?: number; /** * @description 0 = no timeout. Above 0 the guest SIGKILLs the group at the deadline and marks the record timed_out. * @default 0 */ timeout_ms?: number; }; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": { handle: string; pid: number; pty?: boolean; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdProcessesHandleLogs: { parameters: { query?: { stdout_offset?: number; stderr_offset?: number; limit?: number; encoding?: string; }; header?: never; path: { id: string; handle: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ProcLogs"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdProcessesHandleStream: { parameters: { query?: { stdout_offset?: number; stderr_offset?: number; encoding?: string; max_seconds?: number; }; header?: never; path: { id: string; handle: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdSecrets: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SandboxSecrets"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; putV1SandboxesIdSecrets: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { secrets: components["schemas"]["SecretAttach"][]; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SandboxSecrets"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1SandboxesIdVolumes: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { mounts: components["schemas"]["VolumeMount"][]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1Secrets: { parameters: { query?: { limit?: number; cursor?: string; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { items: components["schemas"]["Secret"][]; /** @description Live secrets in the whole org, NOT the page — it does not count down as you page. */ total: number; /** @description Pass as ?cursor= for the next page. null on the last page. */ cursor: string | null; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1Secrets: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: { content: { "application/json": { name: string; description?: string; /** @description The credential. Write-only: no endpoint ever returns it. Printable ASCII, space or tab only (it is written verbatim into a request header). */ value: string; /** @description Exact hostnames. No wildcards. */ allow: string[]; headers: string[]; /** * @default block * @enum {string} */ on_echo?: "block" | "redact"; }; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Secret"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1Templates: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TemplateInfo"][]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1Volumes: { parameters: { query?: { limit?: number; before?: string; include_temporary?: boolean; include_legacy?: boolean; }; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { volumes: components["schemas"]["Volume"][]; next_cursor: string | null; /** @description Only with include_legacy=true. */ legacy_volumes?: components["schemas"]["LegacyVolume"][]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1Volumes: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: { content: { "application/json": { name?: string; temporary?: boolean; }; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Volume"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; getV1VolumesLimits: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { max_volumes: number; max_bytes_per_volume: number; commits_per_minute?: number; max_mounts_per_sandbox?: number; subdir_max_bytes?: number; used_volumes: number; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1VolumesVCommits: { parameters: { query?: { limit?: number; before?: string; include_side?: boolean; }; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { commits: components["schemas"]["VolumeCommit"][]; next_cursor: string | null; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1VolumesVCommitsRef: { parameters: { query?: never; header?: never; path: { v: string; ref: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["VolumeCommit"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; getV1VolumesVFilesContent: { parameters: { query: { path: string; at?: string; }; header?: { Range?: string; }; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/octet-stream": string; }; }; /** @description OK */ 206: { headers: { [name: string]: unknown; }; content: { "application/octet-stream": string; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; putV1VolumesVFilesContent: { parameters: { query: { path: string; overwrite?: boolean; mode?: string; }; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: { content: { "application/octet-stream": string; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommitResult"] & { path?: string; size?: number; version?: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 413: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; getV1VolumesVFilesStat: { parameters: { query: { path: string; at?: string; }; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["VolumeStat"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; getV1VolumesVFilesUpload: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { uploads: { upload_id: string; created_at: string; expires_at: string; reserved_bytes: number; }[]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1VolumesVFilesUpload: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @default false */ overwrite?: boolean; files?: { path: string; size: number; mode?: number; /** @description Unix ms. */ mtime?: number; /** @description sha256 of each 1 MiB chunk of the file, in order; the last may be short. */ blocks: string[]; }[]; dirs?: string[]; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { upload_id: string; missing: string[]; expires_at: string; /** @description Bytes of the missing blocks, held against the stored-bytes budget until the upload commits or ends. */ reserved_bytes?: number; /** @description Block encodings accepted besides raw (send with x-pt-block-codec). */ codecs?: string[]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1VolumesVMounts: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { mounts: components["schemas"]["VolumeMount"][]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1VolumesVMountsMountWait: { parameters: { query?: { commit?: string; timeout?: number; }; header?: never; path: { v: string; mount: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { commit_id: string; head_commit_id?: string | null; applied: boolean; mounts: { mount_id?: string; sandbox_id?: string; mounted_commit_id?: string | null; applied?: boolean; }[]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 408: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; getV1VolumesVTags: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { tags: components["schemas"]["VolumeTag"][]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1VolumesVWait: { parameters: { query?: { commit?: string; timeout?: number; }; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { commit_id: string; head_commit_id?: string | null; applied: boolean; mounts: { mount_id?: string; sandbox_id?: string; mounted_commit_id?: string | null; applied?: boolean; }[]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 408: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; getV1Workers: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { workers: components["schemas"]["Worker"][]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; getV1WorkersName: { parameters: { query?: never; header?: never; path: { name: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Worker"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; patchV1SandboxesIdEnv: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description Environment variables to MERGE into the sandbox. A null value removes that key; keys not mentioned are left untouched. Applies on the sandbox's next COLD BOOT — a running guest keeps the environment it was exec'd with. Values are never echoed back; the response returns key names only. */ env: { [key: string]: string | null; }; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdClone: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { snapshot_id?: string; }; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SandboxCloneResult"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdExec: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description Command as argv array, or a string run via sh -c. */ cmd: string | string[]; timeout_ms?: number; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ExecResponse"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdExpose: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { port: number; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ExposedPort"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdFilesMkdir: { parameters: { query: { path: string; mode?: string; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdFork: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": Record; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SandboxForkResult"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdProcessesHandleResize: { parameters: { query?: never; header?: never; path: { id: string; handle: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { cols: number; rows: number; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { ok: boolean; cols?: number; rows?: number; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdProcessesHandleSignal: { parameters: { query?: never; header?: never; path: { id: string; handle: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description Number, or a name like "SIGTERM"/"TERM". */ signal: number | string; /** @description Defaults to true in the guest: signal the whole process group, which is what actually stops a shell that spawned children. */ group?: boolean; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { ok: boolean; /** @description The resolved numeric signal, even when a name was sent. */ signal?: number; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdProcessesHandleStdin: { parameters: { query?: never; header?: never; path: { id: string; handle: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @default */ data?: string; /** * @description How `data` should be read. Use base64 for bytes that are not valid UTF-8. * @default utf8 * @enum {string} */ encoding?: "utf8" | "base64"; /** * @description Close stdin AFTER writing — the only way to finish an EOF-terminated reader. `data` may be empty. * @default false */ close?: boolean; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { written: number; closed?: boolean; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdResume: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { id: string; state: string; host_id?: string | null; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdRuncode: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { code: string; /** @enum {string} */ lang?: "python" | "bash" | "node" | "sh"; timeout_ms?: number; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ExecResult"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SandboxesIdVolumesMountCommit: { parameters: { query?: never; header?: never; path: { id: string; mount: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @default true */ wait?: boolean; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommitResult"]; }; }; /** @description OK */ 202: { headers: { [name: string]: unknown; }; content: { "application/json": { command_id: string; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 503: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; postV1SandboxesIdVolumesMountPull: { parameters: { query?: never; header?: never; path: { id: string; mount: string; }; cookie?: never; }; requestBody?: { content: { "application/json": Record; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { commit: components["schemas"]["CommitResult"] | null; head_commit_id: string; mounted_commit_id: string; generation: number; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; postV1SecretsBindings: { parameters: { query?: never; header?: never; path?: never; cookie?: never; }; requestBody?: { content: { "application/json": { sandbox_id: string; /** @description Key this binding is addressed by: ^[A-Za-z_][A-Za-z0-9_-]{0,63}$. `env_name` is the same field under its older spelling — send either; two that disagree are a 400. */ alias: string; /** @description Secret id (sec_…). Wins if `secret` is sent too. */ secret_id: string; } | { sandbox_id: string; /** @description Key this binding is addressed by: ^[A-Za-z_][A-Za-z0-9_-]{0,63}$. `env_name` is the same field under its older spelling — send either; two that disagree are a 400. */ alias: string; /** @description Secret NAME — the alternative to `secret_id`. */ secret: string; }; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["SecretBinding"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1SecretsIdVersions: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { value: string; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Secret"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1TemplatesIdMaterialize: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TemplateMaterialization"]; }; }; /** @description OK */ 202: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TemplateMaterialization"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 502: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TemplateMaterialization"]; }; }; /** @description OK */ 503: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TemplateMaterialization"]; }; }; }; }; postV1TemplatesIdPrepare: { parameters: { query?: never; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description Public region key, e.g. us-east. Datacenter codes are not accepted. */ region: string; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TemplatePreparationReady"]; }; }; /** @description OK */ 202: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["TemplatePreparationPending"]; }; }; /** @description OK */ 400: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; /** @description OK */ 403: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 404: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 409: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; /** @description OK */ 503: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["ApiError"]; }; }; }; }; postV1VolumesVCommit: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description Commit only this mount (default: every read/write mount in a running sandbox). */ mount_id?: string; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": { /** @description The head commit that holds every commit below: wait on it. */ commit_id: string; head_commit_id: string; commits: { mount_id?: string; sandbox_id?: string; commit_id?: string; outcome?: string; }[]; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1VolumesVFilesCopy: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { src: string; dst: string; recursive?: boolean; overwrite?: boolean; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommitResult"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1VolumesVFilesMove: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { src: string; dst: string; overwrite?: boolean; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommitResult"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1VolumesVFilesUploadUploadIdCommit: { parameters: { query?: never; header?: never; path: { v: string; uploadId: string; }; cookie?: never; }; requestBody?: { content: { "application/json": Record; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["CommitResult"] & { files?: number; }; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1VolumesVFork: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { name: string; /** @description A commit id, tag or "head" (default). */ at?: string; }; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["Volume"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1VolumesVHeartbeat: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 204: { headers: { [name: string]: unknown; }; content: { "application/json": null; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1VolumesVRestore: { parameters: { query?: never; header?: never; path: { v: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description A commit id or tag. */ to: string; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["VolumeCommit"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1WorkersNameActivate: { parameters: { query?: never; header?: never; path: { name: string; }; cookie?: never; }; requestBody?: { content: { "application/json": { /** @description 16 hex, from POST …/versions */ version: string; }; }; }; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkerActivation"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; postV1WorkersNameVersions: { parameters: { query?: never; header?: never; path: { name: string; }; cookie?: never; }; requestBody?: { content: { "multipart/form-data": { /** * Format: binary * @description The built main module (esbuild output), ≤ 32 MiB. */ bundle: string; /** @description JSON: {script_name, main_module, do_classes?, sqlite_classes?, raw_metadata?} — the wrangler name, the entry file name, Durable Object classes, and the raw wrangler bindings/migrations. */ manifest: string; }; }; }; responses: { /** @description OK */ 201: { headers: { [name: string]: unknown; }; content: { "application/json": components["schemas"]["WorkerVersion"]; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; putV1SandboxesIdFilesAtomic: { parameters: { query: { path: string; mode?: string; }; header?: never; path: { id: string; }; cookie?: never; }; requestBody?: never; responses: { /** @description OK */ 200: { headers: { [name: string]: unknown; }; content?: never; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; putV1VolumesVFilesUploadUploadIdBlocksSha: { parameters: { query?: never; header?: never; path: { v: string; uploadId: string; sha: string; }; cookie?: never; }; requestBody?: { content: { "application/octet-stream": string; }; }; responses: { /** @description OK */ 204: { headers: { [name: string]: unknown; }; content: { "application/json": null; }; }; /** @description Unauthorized */ 401: { headers: { [name: string]: unknown; }; content?: never; }; }; }; }