{"components":{"schemas":{"AccountDeletion":{"properties":{"account":{"type":["string","null"]},"attempts":{"type":"integer"},"completed_at":{"format":"date-time","type":["string","null"]},"id":{"type":"string"},"last_error":{"type":["string","null"]},"message":{"type":"string"},"next_attempt_at":{"format":"date-time","type":["string","null"]},"object":{"enum":["account_deletion"],"type":"string"},"requested_at":{"format":"date-time","type":"string"},"state":{"enum":["pending","completed"],"type":"string"},"step":{"enum":["workers","billing","records","done"],"type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","object","state","step","account","attempts","last_error","requested_at","updated_at","completed_at"],"type":"object"},"AccountExportFile":{"properties":{"account":{"type":"string"},"compute":{"additionalProperties":true,"type":["object","null"]},"control_plane":{"additionalProperties":true,"type":"object"},"generated_at":{"format":"date-time","type":"string"},"object":{"enum":["account_export"],"type":"string"}},"required":["object","generated_at","account","control_plane","compute"],"type":"object"},"AccountExportLink":{"properties":{"expires_at":{"format":"date-time","type":"string"},"message":{"type":"string"},"object":{"enum":["account_export_link"],"type":"string"},"url":{"type":"string"}},"required":["object","url","expires_at","message"],"type":"object"},"AlertPreferenceResponse":{"properties":{"description":{"type":"string"},"enabled":{"type":"boolean"},"kind":{"type":"string"},"title":{"type":"string"}},"required":["kind","enabled","title","description"],"type":"object"},"AlertPreferencesResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AlertPreferenceResponse"},"type":"array"},"email":{"type":"string"},"email_delivery":{"description":"`configured` when the origin has an SMTP relay, else `unconfigured`.","type":"string"},"object":{"type":"string"}},"required":["object","email","email_delivery","data"],"type":"object"},"AlertResponse":{"properties":{"acknowledged_at":{"format":"date-time","type":["string","null"]},"created_at":{"format":"date-time","type":"string"},"detail":{"type":"string"},"emailed_at":{"format":"date-time","type":["string","null"]},"id":{"format":"uuid","type":"string"},"kind":{"type":"string"},"object":{"type":"string"},"resource_id":{"type":["string","null"]},"resource_type":{"type":["string","null"]},"title":{"type":"string"}},"required":["id","object","kind","title","detail","created_at"],"type":"object"},"ApiErrorDetail":{"description":"The envelope of every error answer (kiste-run/backend\n`contract/errors.yaml`; `errors` holds the registry).","properties":{"code":{"description":"The support code, e.g. `N01`; the message ends with it.","pattern":"^[KNDSABLCP][0-9]{2}$","type":"string"},"docs_url":{"description":"The public page for the code (https://kiste.run/errors/X##).","type":"string"},"hint":{"description":"What to do next.","type":"string"},"message":{"description":"For people: plain English, ending in `(code: X##)`.","type":"string"},"param":{"description":"The request field the error is about.","type":["string","null"]},"request_id":{"description":"The id the request was logged under; quote it to support.","type":["string","null"]},"retryable":{"description":"Whether the same request may succeed later.","type":"boolean"},"type":{"description":"The stable machine identifier clients branch on, e.g. `machine_not_found`.","type":"string"}},"required":["code","type","message","hint","retryable","docs_url"],"type":"object"},"ApiTokenResponse":{"properties":{"created_at":{"format":"date-time","type":"string"},"expires_at":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"label":{"type":"string"},"last_used_at":{"format":"date-time","type":["string","null"]},"object":{"type":"string"},"revoked_at":{"format":"date-time","type":["string","null"]},"token_hint":{"type":"string"}},"required":["id","object","label","token_hint","created_at","expires_at"],"type":"object"},"AutoRefill":{"properties":{"enabled":{"type":"boolean"},"last_failed_at":{"format":"date-time","type":["string","null"]},"pack":{"type":["string","null"]},"threshold_micros":{"type":"integer"}},"required":["enabled","pack","threshold_micros","last_failed_at"],"type":"object"},"AutoRefillRequest":{"properties":{"enabled":{"type":"boolean"},"pack":{"type":"string"},"threshold_micros":{"type":"integer"}},"required":["enabled"],"type":"object"},"BillingInactive":{"additionalProperties":false,"description":"Billing is not offered to this account (yet): nothing to show, nothing to buy.","properties":{"active":{"enum":[false],"type":"boolean"}},"required":["active"],"type":"object"},"BillingPeriod":{"properties":{"end":{"format":"date-time","type":"string"},"start":{"format":"date-time","type":"string"}},"required":["start","end"],"type":"object"},"BillingPlan":{"properties":{"credit_micros":{"description":"Credit the plan grants per period (micro-units; the fee, 1:1).","type":"integer"},"currency":{"type":"string"},"id":{"type":"string"},"included":{"properties":{"disk_gib":{"type":"number"},"running_hours_default":{"type":"number"}},"required":["running_hours_default","disk_gib"],"type":"object"},"limits":{"properties":{"machines":{"type":"integer"},"running_machines":{"type":"integer"},"shapes":{"items":{"enum":["default","large"],"type":"string"},"type":"array"}},"required":["machines","running_machines","shapes"],"type":"object"},"monthly_cents":{"type":"integer"},"name":{"type":"string"},"overage":{"oneOf":[{"properties":{"default_hour_cents":{"type":"number"},"disk_gib_month_cents":{"type":"number"},"large_hour_cents":{"type":"number"}},"required":["default_hour_cents","large_hour_cents","disk_gib_month_cents"],"type":"object"},{"type":"null"}]}},"required":["id","name","currency","monthly_cents","credit_micros","included","overage","limits"],"type":"object"},"BillingPlanState":{"properties":{"active":{"description":"true: billing is on for this account and the rest of the object is present.","type":"boolean"},"auto_refill":{"$ref":"#/components/schemas/AutoRefill"},"cancel_at_period_end":{"type":"boolean"},"current_plan":{"type":"string"},"grace_hours":{"type":"number"},"packs":{"items":{"$ref":"#/components/schemas/CreditPack"},"type":"array"},"payment_method":{"oneOf":[{"$ref":"#/components/schemas/PaymentMethod"},{"type":"null"}]},"period":{"$ref":"#/components/schemas/BillingPeriod"},"plans":{"items":{"$ref":"#/components/schemas/BillingPlan"},"type":"array"},"rates_micros_per_hour":{"properties":{"default":{"type":"integer"},"large":{"type":"integer"}},"required":["default","large"],"type":"object"},"state":{"enum":["none","active","past_due","canceled"],"type":"string"},"wallet":{"$ref":"#/components/schemas/Wallet"}},"required":["state","current_plan","period","cancel_at_period_end","payment_method","plans","wallet","rates_micros_per_hour","grace_hours","packs","auto_refill"],"type":"object"},"BillingRedirect":{"properties":{"url":{"type":"string"}},"required":["url"],"type":"object"},"BillingUsage":{"properties":{"machines":{"items":{"$ref":"#/components/schemas/MachineUsage"},"type":"array"},"period":{"$ref":"#/components/schemas/BillingPeriod"},"totals":{"properties":{"disk_gib_hours":{"type":"number"},"estimated_cents":{"type":"integer"},"running_seconds":{"properties":{"default":{"type":"number"},"large":{"type":"number"}},"required":["default","large"],"type":"object"},"spent_micros":{"description":"Credit spent on running time in the period (micro-units).","type":"integer"}},"required":["running_seconds","disk_gib_hours","spent_micros","estimated_cents"],"type":"object"},"updated_at":{"format":"date-time","type":"string"}},"required":["period","totals","machines","updated_at"],"type":"object"},"CapacityMetrics":{"properties":{"available_mib":{"format":"int64","minimum":0,"type":"integer"},"total_mib":{"format":"int64","minimum":0,"type":"integer"},"used_mib":{"format":"int64","minimum":0,"type":"integer"}},"required":["total_mib","used_mib","available_mib"],"type":"object"},"CheckoutRequest":{"properties":{"plan":{"type":"string"}},"required":["plan"],"type":"object"},"CommandResponse":{"properties":{"cancel_requested_at":{"format":"date-time","type":["string","null"]},"completion_status":{"type":["string","null"]},"duration_ms":{"format":"int64","type":["integer","null"]},"error_message":{"type":["string","null"]},"exit_code":{"format":"int32","type":["integer","null"]},"finished_at":{"format":"date-time","type":["string","null"]},"id":{"format":"uuid","type":"string"},"instance_id":{"format":"uuid","type":"string"},"instance_name":{"type":"string"},"object":{"type":"string"},"signal":{"format":"int32","type":["integer","null"]},"started_at":{"format":"date-time","type":"string"},"status":{"type":"string"},"stderr_bytes":{"format":"int64","type":["integer","null"]},"stdout_bytes":{"format":"int64","type":["integer","null"]},"updated_at":{"format":"date-time","type":"string"}},"required":["id","object","instance_id","instance_name","status","started_at","updated_at"],"type":"object"},"ConsoleLoginRequest":{"properties":{"email":{"type":"string"},"password":{"type":"string"}},"required":["email","password"],"type":"object"},"ConsoleSession":{"properties":{"authenticated":{"type":"boolean"},"csrf":{"description":"The browser session's CSRF token, sent back with the CLI approval (POST /oauth/authorize).","type":"string"},"user":{"$ref":"#/components/schemas/UserResponse"}},"required":["authenticated"],"type":"object"},"ControlEventResponse":{"properties":{"created_at":{"format":"date-time","type":"string"},"data":{},"object":{"type":"string"},"resource_id":{"type":"string"},"resource_type":{"type":"string"},"sequence":{"format":"int64","type":"integer"},"type":{"type":"string"}},"required":["sequence","object","type","resource_type","resource_id","data","created_at"],"type":"object"},"ControlHealth":{"properties":{"region":{"type":["string","null"]},"service":{"type":"string"},"status":{"type":"string"}},"required":["status","service","region"],"type":"object"},"ControlPlaneStatusResponse":{"properties":{"features":{"$ref":"#/components/schemas/FeatureStatusResponse"},"limits":{"$ref":"#/components/schemas/ResourceLimitsResponse"},"object":{"type":"string"},"status":{"type":"string"},"usage":{"$ref":"#/components/schemas/ResourceUsageResponse"},"version":{"type":"string"}},"required":["object","status","version","limits","usage","features"],"type":"object"},"CpuMetrics":{"properties":{"cores":{"format":"int32","minimum":0,"type":"integer"},"load_1":{"format":"double","type":"number"},"load_15":{"format":"double","type":"number"},"load_5":{"format":"double","type":"number"},"percent":{"description":"Whole-guest utilisation over the sampling window; `None` when the\nsecond sample could not be read.","format":"double","type":["number","null"]}},"required":["cores","load_1","load_5","load_15"],"type":"object"},"CreateApiTokenRequest":{"additionalProperties":false,"properties":{"expires_in_seconds":{"format":"int32","minimum":0,"type":"integer"},"label":{"type":"string"}},"required":["label","expires_in_seconds"],"type":"object"},"CreateDesktopLinkRequest":{"additionalProperties":false,"description":"Mints a reusable desktop link for one machine. `ttl_seconds` defaults to\n[`DESKTOP_LINK_DEFAULT_TTL_SECONDS`] and must lie within\n[`DESKTOP_LINK_MIN_TTL_SECONDS`]..=[`DESKTOP_LINK_MAX_TTL_SECONDS`].","properties":{"ttl_seconds":{"format":"int32","minimum":0,"type":["integer","null"]}},"type":"object"},"CreateEnvironmentRequest":{"additionalProperties":false,"properties":{"name":{"type":"string"},"repositories":{"items":{"$ref":"#/components/schemas/RepositorySpec"},"type":"array"},"secret_files":{"items":{"$ref":"#/components/schemas/SecretFileInput"},"type":"array"},"setup_script":{"type":"string"},"variables":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"}},"required":["name"],"type":"object"},"CreateImageRequest":{"properties":{"components":{"items":{"$ref":"#/components/schemas/ImageComponentSelection"},"type":"array"},"from":{"type":"string"},"name":{"type":"string"},"resources":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageResources"}]}},"required":["name"],"type":"object"},"CreateInstanceRequest":{"additionalProperties":false,"properties":{"auto_snapshot_seconds":{"description":"How often a changed disk is checkpointed, 60–86400 seconds (default\n300). Automatic checkpoints are always on; only the interval is\nconfigurable.","format":"int32","minimum":0,"type":["integer","null"]},"disk_mib":{"format":"int32","minimum":0,"type":"integer"},"environment":{"type":["string","null"]},"image":{"type":["string","null"]},"memory_mib":{"format":"int32","minimum":0,"type":"integer"},"name":{"type":["string","null"]},"profile":{"$ref":"#/components/schemas/InstanceProfile"},"ssh_public_key":{"type":"string"},"ttl_seconds":{"description":"Lifetime in seconds; when it ends the Kiste stops cleanly (its disk\nstays). Without it the Kiste runs until it is stopped.","format":"int32","minimum":0,"type":["integer","null"]},"vcpu":{"format":"int32","minimum":0,"type":"integer"}},"required":["profile","vcpu","memory_mib","disk_mib","ssh_public_key"],"type":"object"},"CreateServiceRequest":{"additionalProperties":false,"properties":{"description":{"type":"string"},"name":{"type":"string"},"port":{"format":"int32","minimum":0,"type":"integer"}},"required":["name","port"],"type":"object"},"CreateSnapshotRequest":{"properties":{"name":{"type":"string"}},"required":["name"],"type":"object"},"CreateTerminalSessionRequest":{"properties":{"cols":{"format":"int32","minimum":0,"type":"integer"},"rows":{"format":"int32","minimum":0,"type":"integer"}},"type":"object"},"CreateWebhookRequest":{"additionalProperties":false,"properties":{"events":{"items":{"type":"string"},"type":"array"},"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url","events"],"type":"object"},"CreatedApiTokenResponse":{"properties":{"data":{"$ref":"#/components/schemas/ApiTokenResponse"},"token":{"type":"string"}},"required":["token","data"],"type":"object"},"CreatedWebhookResponse":{"description":"The plaintext signing secret is returned exactly once, alongside the\nendpoint it belongs to, mirroring `CreatedApiTokenResponse`.","properties":{"data":{"$ref":"#/components/schemas/WebhookEndpointResponse"},"secret":{"type":"string"}},"required":["secret","data"],"type":"object"},"CreditCheckoutRequest":{"properties":{"pack":{"type":"string"}},"required":["pack"],"type":"object"},"CreditPack":{"properties":{"cents":{"type":"integer"},"credit_micros":{"type":"integer"},"currency":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name","cents","currency","credit_micros"],"type":"object"},"DeleteAccountRequest":{"properties":{"confirm":{"description":"The account's e-mail address, typed as confirmation.","type":"string"},"password":{"type":"string"}},"required":["confirm","password"],"type":"object"},"DeletedApiTokenResponse":{"properties":{"deleted":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"object":{"type":"string"}},"required":["id","object","deleted"],"type":"object"},"DeletedDeviceKey":{"properties":{"deleted":{"type":"boolean"},"id":{"type":"string"},"object":{"type":"string"}},"required":["id","object","deleted"],"type":"object"},"DeletedImage":{"properties":{"deleted":{"type":"boolean"},"id":{"type":"string"},"object":{"type":"string"}},"required":["id","object","deleted"],"type":"object"},"DeletedSession":{"properties":{"deleted":{"type":"boolean"},"id":{"type":"string"},"object":{"type":"string"}},"required":["id","object","deleted"],"type":"object"},"DeletedWebhookResponse":{"properties":{"deleted":{"type":"boolean"},"id":{"format":"uuid","type":"string"},"object":{"type":"string"}},"required":["id","object","deleted"],"type":"object"},"DesktopBootstrapPreflightRequest":{"properties":{"machine":{"type":"string"},"protocol":{"type":"string"}},"required":["protocol","machine"],"type":"object"},"DesktopBootstrapRequest":{"properties":{"machine":{"type":"string"},"protocol":{"type":"string"}},"required":["protocol","machine"],"type":"object"},"DesktopBootstrapResponse":{"properties":{"expires_at":{"format":"date-time","type":"string"},"offer_url":{"description":"Where the viewer posts its SDP offer for the native transport.","type":"string"},"protocol":{"type":"string"},"recovery":{"$ref":"#/components/schemas/RecoveryCapability"},"revoke_url":{"type":"string"},"transport":{"type":"string"}},"required":["protocol","offer_url","expires_at","revoke_url","transport","recovery"],"type":"object"},"DesktopLinkResponse":{"properties":{"expires_at":{"format":"date-time","type":"string"},"url":{"type":"string"}},"required":["url","expires_at"],"type":"object"},"DesktopSessionResponse":{"allOf":[{"$ref":"#/components/schemas/DesktopBootstrapResponse"},{"properties":{"ice_servers":{"items":{"$ref":"#/components/schemas/IceServer"},"type":"array"}},"required":["ice_servers"],"type":"object"}]},"DeviceKey":{"properties":{"created_at":{"format":"date-time","type":"string"},"id":{"type":"string"},"last_used_at":{"format":"date-time","type":["string","null"]},"name":{"type":"string"},"object":{"enum":["device_key"],"type":"string"},"public_key":{"type":"string"}},"required":["id","object","name","public_key","created_at","last_used_at"],"type":"object"},"DeviceKeyList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/DeviceKey"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"},"EnvironmentResponse":{"properties":{"created_at":{"format":"date-time","type":"string"},"current_version":{"format":"int32","type":"integer"},"id":{"format":"uuid","type":"string"},"name":{"type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["id","name","current_version","created_at","updated_at"],"type":"object"},"EnvironmentVersionResponse":{"properties":{"created_at":{"format":"date-time","type":"string"},"environment_id":{"format":"uuid","type":"string"},"environment_name":{"type":"string"},"id":{"format":"uuid","type":"string"},"repositories":{"items":{"$ref":"#/components/schemas/RepositorySpec"},"type":"array"},"secret_paths":{"items":{"type":"string"},"type":"array"},"setup_script":{"type":"string"},"variables":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"version":{"format":"int32","type":"integer"}},"required":["id","environment_id","environment_name","version","repositories","variables","secret_paths","setup_script","created_at"],"type":"object"},"ErrorResponse":{"properties":{"error":{"$ref":"#/components/schemas/ApiErrorDetail"}},"required":["error"],"type":"object"},"ExecCompletion":{"properties":{"duration_ms":{"format":"int64","minimum":0,"type":"integer"},"exit_code":{"format":"int32","type":"integer"},"id":{"format":"uuid","type":"string"},"instance":{"type":"string"},"signal":{"format":"int32","type":["integer","null"]},"status":{"$ref":"#/components/schemas/ExecCompletionStatus"},"stderr_bytes":{"format":"int64","minimum":0,"type":"integer"},"stdout_bytes":{"format":"int64","minimum":0,"type":"integer"}},"required":["id","instance","exit_code","status","duration_ms","stdout_bytes","stderr_bytes"],"type":"object"},"ExecCompletionStatus":{"enum":["exited","signaled","timed_out","cancelled","output_limit_exceeded"],"type":"string"},"ExecEvent":{"description":"The stable native-execution stream contract. Each event is encoded as one\nnewline-delimited JSON object by the HTTP API. Output bytes are base64 so\narbitrary compiler output remains lossless and frame boundaries never\ndepend on UTF-8 character boundaries.","oneOf":[{"properties":{"id":{"format":"uuid","type":"string"},"instance":{"type":"string"},"type":{"enum":["started"],"type":"string"}},"required":["id","instance","type"],"type":"object"},{"properties":{"data_base64":{"type":"string"},"id":{"format":"uuid","type":"string"},"sequence":{"format":"int64","minimum":0,"type":"integer"},"stream":{"$ref":"#/components/schemas/ExecOutputStream"},"type":{"enum":["output"],"type":"string"}},"required":["id","sequence","stream","data_base64","type"],"type":"object"},{"allOf":[{"$ref":"#/components/schemas/ExecCompletion"},{"properties":{"type":{"enum":["completed"],"type":"string"}},"required":["type"],"type":"object"}]},{"properties":{"id":{"format":"uuid","type":"string"},"instance":{"type":"string"},"message":{"type":"string"},"type":{"enum":["failed"],"type":"string"}},"required":["id","instance","message","type"],"type":"object"}]},"ExecOutputStream":{"enum":["stdout","stderr"],"type":"string"},"ExecRequest":{"additionalProperties":false,"properties":{"argv":{"items":{"type":"string"},"type":"array"},"cwd":{"type":["string","null"]},"env":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"},"id":{"format":"uuid","type":["string","null"]},"timeout_ms":{"format":"int64","minimum":0,"type":"integer"}},"required":["argv"],"type":"object"},"ExtendInstanceRequest":{"additionalProperties":false,"properties":{"ttl_seconds":{"description":"Seconds added to the Kiste's deadline (or from now when it has none);\nat the deadline it stops cleanly.","format":"int32","minimum":0,"type":"integer"}},"required":["ttl_seconds"],"type":"object"},"FeatureStatusResponse":{"properties":{"command_interrupt":{"type":"boolean"},"event_watch":{"type":"boolean"},"hosted_http":{"type":"boolean"},"hosted_websocket":{"type":"boolean"},"native_exec_stream":{"type":"boolean"},"remote_snapshot_pull":{"type":"boolean"},"snapshot_storage_mode":{"type":"string"},"snapshots":{"type":"boolean"}},"required":["native_exec_stream","command_interrupt","event_watch","hosted_http","hosted_websocket","snapshots","snapshot_storage_mode","remote_snapshot_pull"],"type":"object"},"ForkInstanceRequest":{"additionalProperties":false,"properties":{"name":{"type":"string"},"ttl_seconds":{"description":"The copy's lifetime in seconds (60 to 2592000); without it the copy\nhas no automatic stop (it never inherits the source's deadline).","format":"int32","minimum":0,"type":["integer","null"]}},"required":["name"],"type":"object"},"HostedServiceResponse":{"properties":{"created_at":{"format":"date-time","type":"string"},"description":{"type":"string"},"id":{"format":"uuid","type":"string"},"instance_id":{"format":"uuid","type":"string"},"instance_name":{"type":"string"},"name":{"type":"string"},"path_prefix":{"type":"string"},"port":{"format":"int32","minimum":0,"type":"integer"},"protocol":{"type":"string"},"public_url":{"type":"string"},"status":{"type":"string"},"updated_at":{"format":"date-time","type":"string"},"websocket":{"type":"boolean"}},"required":["id","instance_id","instance_name","name","port","protocol","path_prefix","websocket","description","status","public_url","created_at","updated_at"],"type":"object"},"IceServer":{"properties":{"credential":{"type":"string"},"urls":{"items":{"type":"string"},"type":"array"},"username":{"type":"string"}},"required":["urls"],"type":"object"},"ImageComponent":{"properties":{"category":{"type":"string"},"default_version":{"type":"string"},"description":{"type":"string"},"estimated_size_mib":{"format":"int32","minimum":0,"type":"integer"},"id":{"type":"string"},"name":{"type":"string"},"object":{"type":"string"},"requires":{"items":{"type":"string"},"type":"array"},"versions":{"items":{"type":"string"},"type":"array"}},"required":["id","object","name","description","category","versions","default_version","estimated_size_mib","requires"],"type":"object"},"ImageComponentSelection":{"properties":{"id":{"type":"string"},"version":{"type":"string"}},"required":["id","version"],"type":"object"},"ImageOs":{"properties":{"architecture":{"type":"string"},"distribution":{"type":"string"},"libc":{"type":"string"},"version":{"type":"string"}},"required":["distribution","version","architecture","libc"],"type":"object"},"ImageResources":{"properties":{"disk_mib":{"format":"int32","minimum":0,"type":"integer"},"memory_mib":{"format":"int32","minimum":0,"type":"integer"},"vcpu":{"format":"int32","minimum":0,"type":"integer"}},"required":["vcpu","memory_mib","disk_mib"],"type":"object"},"InstanceMetricsResponse":{"properties":{"cpu":{"$ref":"#/components/schemas/CpuMetrics"},"disk":{"$ref":"#/components/schemas/CapacityMetrics"},"instance":{"type":"string"},"memory":{"$ref":"#/components/schemas/CapacityMetrics"},"object":{"type":"string"},"processes":{"items":{"$ref":"#/components/schemas/ProcessMetrics"},"type":"array"},"sampled_at":{"format":"date-time","type":"string"},"uptime_seconds":{"format":"int64","minimum":0,"type":"integer"}},"required":["object","instance","sampled_at","cpu","memory","disk","uptime_seconds","processes"],"type":"object"},"InstanceProfile":{"description":"Intentional extension seam: exactly one profile ships today, and the type\nis threaded through the node so a second machine profile lands as data,\nnot surgery. Signatures that discard it do so deliberately.","enum":["desktop"],"type":"string"},"InstanceResponse":{"properties":{"artifact_key":{"type":"string"},"auto_snapshot_seconds":{"description":"Seconds between automatic checkpoints, taken only when the disk\nchanged. Automatic checkpoints are always on.","format":"int32","type":"integer"},"components":{"items":{"$ref":"#/components/schemas/ImageComponentSelection"},"type":"array"},"created":{"format":"int64","type":"integer"},"created_at":{"format":"date-time","type":"string"},"desired_state":{"type":"string"},"disk_mib":{"format":"int32","type":"integer"},"environment_version_id":{"format":"uuid","type":["string","null"]},"expires_at":{"format":"date-time","type":["string","null"]},"id":{"format":"uuid","type":"string"},"image":{"type":"string"},"image_version":{"description":"Kiste image version this instance's disk last received vendor\ncontent from (vYYYY.MM.DD-hash8), if the host has a record.","type":["string","null"]},"last_checkpoint_at":{"description":"When the newest checkpoint of this machine became ready.","format":"date-time","type":["string","null"]},"last_offsite_at":{"description":"When the newest checkpoint of this machine was held in every\noff-site location.","format":"date-time","type":["string","null"]},"latest_image_version":{"description":"The image version the node currently serves.","type":["string","null"]},"memory_mib":{"format":"int32","type":"integer"},"name":{"type":"string"},"object":{"type":"string"},"profile":{"$ref":"#/components/schemas/InstanceProfile"},"session_saved":{"description":"A stopped instance whose memory session is saved: its next start\nresumes that session, on the image it was running. False in every\nother state.","type":"boolean"},"setup_error":{"type":["string","null"]},"setup_status":{"type":"string"},"ssh_host":{"type":["string","null"]},"ssh_port":{"format":"int32","type":["integer","null"]},"status":{"type":"string"},"update_available":{"description":"True while this instance does not run exactly what the worker serves\n(its guest image and system files). Only a cold boot applies\nit: `kiste update` reboots a running instance; a stopped one gets it\nat its next start unless `session_saved`, which `kiste update`\ndiscards without starting the instance.","type":["boolean","null"]},"updated_at":{"format":"date-time","type":"string"},"vcpu":{"format":"int32","type":"integer"}},"required":["id","object","created","name","image","artifact_key","components","profile","status","desired_state","vcpu","memory_mib","disk_mib","created_at","updated_at","setup_status","auto_snapshot_seconds"],"type":"object"},"InterruptCommandRequest":{"additionalProperties":false,"properties":{"reason":{"type":["string","null"]}},"type":"object"},"InterruptCommandResponse":{"properties":{"accepted":{"type":"boolean"},"command":{"$ref":"#/components/schemas/CommandResponse"}},"required":["accepted","command"],"type":"object"},"Invoice":{"properties":{"created":{"format":"date-time","type":"string"},"currency":{"type":"string"},"hosted_url":{"type":"string"},"id":{"type":"string"},"number":{"type":"string"},"period":{"$ref":"#/components/schemas/BillingPeriod"},"status":{"enum":["draft","paid","open","void","uncollectible"],"type":"string"},"total_cents":{"type":"integer"}},"required":["id","number","created","period","total_cents","currency","status","hosted_url"],"type":"object"},"InvoiceList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/Invoice"},"type":"array"}},"required":["data"],"type":"object"},"LedgerEntry":{"properties":{"amount_micros":{"type":"integer"},"bucket":{"enum":["plan","purchased"],"type":"string"},"created":{"format":"date-time","type":"string"},"description":{"type":"string"},"expires_at":{"format":"date-time","type":["string","null"]},"id":{"type":"string"},"kind":{"enum":["grant","purchase","spend","expire"],"type":"string"}},"required":["id","bucket","kind","amount_micros","description","created","expires_at"],"type":"object"},"LedgerList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/LedgerEntry"},"type":"array"}},"required":["data"],"type":"object"},"LogoutResponse":{"properties":{"authenticated":{"type":"boolean"},"message":{"type":"string"},"origin_revoked":{"type":"boolean"}},"required":["origin_revoked"],"type":"object"},"LogsResponse":{"properties":{"logs":{"type":"string"},"name":{"type":"string"}},"required":["name","logs"],"type":"object"},"MachineImage":{"properties":{"artifact_key":{"type":"string"},"base_image":{"type":["string","null"]},"build_strategy":{"type":"string"},"components":{"items":{"$ref":"#/components/schemas/ImageComponentSelection"},"type":"array"},"created":{"format":"int64","type":"integer"},"description":{"type":"string"},"estimated_size_mib":{"format":"int32","minimum":0,"type":"integer"},"id":{"type":"string"},"launchable":{"type":"boolean"},"name":{"type":"string"},"object":{"type":"string"},"os":{"$ref":"#/components/schemas/ImageOs"},"owned_by":{"type":"string"},"profile":{"$ref":"#/components/schemas/InstanceProfile"},"resources":{"$ref":"#/components/schemas/ImageResources"},"slug":{"type":"string"},"status":{"type":"string"},"visibility":{"type":"string"}},"required":["id","object","created","owned_by","name","slug","description","status","visibility","profile","os","components","resources","estimated_size_mib","build_strategy","artifact_key","launchable"],"type":"object"},"MachineUsage":{"properties":{"deleted":{"type":"boolean"},"disk_gib_hours":{"type":"number"},"name":{"type":"string"},"running_seconds":{"type":"number"},"shape":{"enum":["default","large"],"type":"string"}},"required":["name","shape","running_seconds","disk_gib_hours","deleted"],"type":"object"},"MessageResponse":{"properties":{"message":{"type":"string"}},"required":["message"],"type":"object"},"NativeOfferRequest":{"additionalProperties":false,"properties":{"sdp":{"type":"string"}},"required":["sdp"],"type":"object"},"NativeOfferResponse":{"properties":{"sdp":{"type":"string"}},"required":["sdp"],"type":"object"},"NoticeRef":{"properties":{"args":{"additionalProperties":{"type":["string","number"]},"type":"object"},"id":{"description":"A registered notice id (https://kiste.run/errors.json, notices).","type":"string"}},"required":["id","args"],"type":"object"},"OAuthTokenRequest":{"properties":{"client_id":{"type":"string"},"code":{"type":"string"},"code_verifier":{"type":"string"},"grant_type":{"enum":["authorization_code"],"type":"string"},"redirect_uri":{"type":"string"}},"required":["grant_type","client_id","code","code_verifier","redirect_uri"],"type":"object"},"OAuthTokenResponse":{"properties":{"access_token":{"type":"string"},"expires_in":{"type":"integer"},"token_type":{"enum":["Bearer"],"type":"string"},"user":{"$ref":"#/components/schemas/UserResponse"}},"required":["access_token","token_type","expires_in","user"],"type":"object"},"PaymentMethod":{"properties":{"brand":{"type":"string"},"exp_month":{"type":"integer"},"exp_year":{"type":"integer"},"last4":{"type":"string"}},"required":["brand","last4","exp_month","exp_year"],"type":"object"},"PlatformStatus":{"properties":{"components":{"items":{"properties":{"id":{"type":"string"},"name":{"$ref":"#/components/schemas/NoticeRef"},"state":{"enum":["operational","degraded","outage","maintenance","unknown"],"type":"string"},"uptime_7d":{"type":["number","null"]}},"required":["id","name","state","uptime_7d"],"type":"object"},"type":"array"},"errors_24h":{"items":{"properties":{"count":{"description":"5xx answers in the hour, without those inside a maintenance window for the component it covers (a compute window: N01; an edge window: all).","type":"integer"},"hour":{"format":"date-time","type":"string"},"maintenance":{"description":"A maintenance window covered part of the hour.","type":"boolean"}},"required":["hour","count","maintenance"],"type":"object"},"type":"array"},"incidents":{"items":{"properties":{"component":{"type":"string"},"detail":{"$ref":"#/components/schemas/NoticeRef"},"id":{"type":"string"},"resolved_at":{"format":"date-time","type":["string","null"]},"started_at":{"format":"date-time","type":"string"},"title":{"$ref":"#/components/schemas/NoticeRef"}},"required":["id","component","title","detail","started_at","resolved_at"],"type":"object"},"type":"array"},"maintenance":{"description":"Planned maintenance windows: open, upcoming and of the last 90 days. component is a component id; closed_at null while the window is open.","items":{"properties":{"closed_at":{"format":"date-time","type":["string","null"]},"component":{"type":"string"},"ends_at":{"format":"date-time","type":["string","null"]},"id":{"type":"string"},"reason":{"$ref":"#/components/schemas/NoticeRef"},"started_at":{"format":"date-time","type":"string"}},"required":["id","component","reason","started_at","ends_at","closed_at"],"type":"object"},"type":"array"},"state":{"enum":["operational","degraded","outage","maintenance","unknown"],"type":"string"},"updated_at":{"format":"date-time","type":"string"}},"required":["updated_at","state","components","incidents","maintenance","errors_24h"],"type":"object"},"ProcessMetrics":{"properties":{"command":{"type":"string"},"cpu_percent":{"format":"double","type":"number"},"pid":{"format":"int32","minimum":0,"type":"integer"},"rss_mib":{"format":"double","type":"number"}},"required":["pid","command","cpu_percent","rss_mib"],"type":"object"},"RecoveryCapability":{"properties":{"token":{"type":"string"},"websocket_url":{"type":"string"}},"required":["websocket_url","token"],"type":"object"},"RegisterDeviceKeyRequest":{"properties":{"name":{"type":"string"},"public_key":{"type":"string"}},"required":["name","public_key"],"type":"object"},"RenameInstanceRequest":{"additionalProperties":false,"properties":{"name":{"description":"The new Kiste name; same rules as at creation.","type":"string"}},"required":["name"],"type":"object"},"RepositorySpec":{"additionalProperties":false,"properties":{"destination":{"type":["string","null"]},"revision":{"type":["string","null"]},"url":{"type":"string"}},"required":["url"],"type":"object"},"ResolveImageRequest":{"properties":{"components":{"items":{"$ref":"#/components/schemas/ImageComponentSelection"},"type":"array"},"from":{"type":"string"},"resources":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ImageResources"}]}},"type":"object"},"ResolvedImagePlan":{"properties":{"added_dependencies":{"items":{"type":"string"},"type":"array"},"artifact_key":{"type":"string"},"build_strategy":{"type":"string"},"cache_hit":{"type":"boolean"},"cache_key":{"type":"string"},"components":{"items":{"$ref":"#/components/schemas/ImageComponentSelection"},"type":"array"},"estimated_size_mib":{"format":"int32","minimum":0,"type":"integer"},"from":{"type":"string"},"id":{"type":"string"},"object":{"type":"string"},"resources":{"$ref":"#/components/schemas/ImageResources"},"warnings":{"items":{"type":"string"},"type":"array"}},"required":["id","object","from","cache_key","components","resources","estimated_size_mib","build_strategy","artifact_key","cache_hit","added_dependencies","warnings"],"type":"object"},"ResourceLimitsResponse":{"properties":{"max_disk_mib":{"format":"int64","type":"integer"},"max_images":{"format":"int64","type":"integer"},"max_instance_disk_mib":{"format":"int64","type":"integer"},"max_instances":{"format":"int64","type":"integer"},"max_memory_mib":{"format":"int64","type":"integer"},"max_running_instances":{"description":"Running at once (the operator's own account is exempt).","format":"int64","type":"integer"},"max_running_memory_mib":{"format":"int64","type":"integer"},"max_running_vcpu":{"format":"int64","type":"integer"},"max_vcpu":{"format":"int64","type":"integer"},"min_disk_mib":{"format":"int64","type":"integer"},"min_memory_mib":{"format":"int64","type":"integer"},"min_vcpu":{"format":"int64","type":"integer"}},"required":["max_instances","max_disk_mib","max_images","min_vcpu","max_vcpu","min_memory_mib","max_memory_mib","min_disk_mib","max_instance_disk_mib"],"type":"object"},"ResourceUsageResponse":{"properties":{"active_api_tokens":{"format":"int64","type":"integer"},"disk_mib":{"format":"int64","type":"integer"},"images":{"format":"int64","type":"integer"},"instances":{"format":"int64","type":"integer"},"memory_mib":{"format":"int64","type":"integer"},"running_instances":{"format":"int64","type":"integer"},"snapshot_disk_mib":{"format":"int64","type":"integer"},"snapshots":{"format":"int64","type":"integer"},"vcpu":{"format":"int64","type":"integer"}},"required":["instances","running_instances","vcpu","memory_mib","disk_mib","snapshots","snapshot_disk_mib","images","active_api_tokens"],"type":"object"},"RestoreSnapshotRequest":{"properties":{"from_offsite":{"description":"Restore from the off-site copy even where the local copy exists:\nproves the off-site copy restores (it boots lazily from it).","type":"boolean"},"name":{"type":"string"}},"required":["name"],"type":"object"},"RevokeDesktopLinksResponse":{"properties":{"revoked":{"format":"int64","minimum":0,"type":"integer"}},"required":["revoked"],"type":"object"},"RuntimeImageResponse":{"properties":{"latest_version":{"description":"The image version the node currently serves.","type":"string"},"notes":{"description":"Human-readable notes for the most recent image round, shown before an\nupdate. Lines starting with `BREAKING:` deserve attention.","type":"string"}},"required":["latest_version","notes"],"type":"object"},"SecretFileInput":{"additionalProperties":false,"properties":{"contents_base64":{"type":"string"},"mode":{"format":"int32","minimum":0,"type":"integer"},"path":{"type":"string"}},"required":["path","contents_base64"],"type":"object"},"SessionRevocation":{"properties":{"object":{"type":"string"},"origin_revoked":{"type":"boolean"},"revoked":{"type":"integer"}},"required":["object","revoked","origin_revoked"],"type":"object"},"SignIn":{"properties":{"created_at":{"format":"date-time","type":"string"},"current":{"type":"boolean"},"expires_at":{"format":"date-time","type":"string"},"id":{"type":"string"},"kind":{"enum":["browser","cli"],"type":"string"},"last_used_at":{"format":"date-time","type":"string"},"name":{"type":"string"},"object":{"enum":["session"],"type":"string"}},"required":["id","object","kind","name","current","created_at","last_used_at","expires_at"],"type":"object"},"SignInList":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SignIn"},"type":"array"},"has_more":{"type":"boolean"},"object":{"type":"string"}},"required":["object","data","has_more"],"type":"object"},"SnapshotPullResponse":{"properties":{"available":{"type":"boolean"},"chunk_bytes":{"format":"int32","type":["integer","null"]},"chunk_count":{"format":"int32","type":["integer","null"]},"encryption_key_id":{"type":["string","null"]},"logical_bytes":{"format":"int64","type":["integer","null"]},"manifest_digest":{"type":["string","null"]},"manifest_key":{"type":["string","null"]},"object":{"type":"string"},"reason":{"type":"string"},"remote_status":{"type":["string","null"]},"snapshot":{"$ref":"#/components/schemas/SnapshotResponse"},"transport":{"type":"string"}},"required":["object","snapshot","available","transport","reason"],"type":"object"},"SnapshotRemote":{"description":"A snapshot's off-site copy.","properties":{"copies":{"description":"Independent locations holding every object once uploaded.","format":"int32","type":"integer"},"new_bytes":{"description":"Bytes this snapshot added to the store (its changes since the last).","format":"int64","type":"integer"},"state":{"description":"pending, uploading, uploaded or failed.","type":"string"},"stored_bytes":{"description":"Stored (compressed, encrypted) bytes of every object the snapshot\nneeds, shared ones included.","format":"int64","type":"integer"},"uploaded_at":{"format":"date-time","type":["string","null"]}},"required":["state","copies","stored_bytes","new_bytes"],"type":"object"},"SnapshotResponse":{"properties":{"artifact_key":{"type":"string"},"components":{"items":{"$ref":"#/components/schemas/ImageComponentSelection"},"type":"array"},"consistency":{"description":"`frozen` (taken with the guest's file system frozen: clean) or `crash`\n(taken while the guest wrote heavily, like a power cut: every fsynced\nwrite is in it); null for snapshots taken before this was recorded.","type":["string","null"]},"created_at":{"format":"date-time","type":"string"},"disk_mib":{"format":"int32","type":"integer"},"generation":{"format":"int32","type":"integer"},"id":{"format":"uuid","type":"string"},"image":{"type":"string"},"kind":{"type":"string"},"lineage_id":{"format":"uuid","type":"string"},"local":{"description":"The reflink is still on its worker (restores instantly there).","type":"boolean"},"memory_mib":{"format":"int32","type":"integer"},"metadata_digest":{"type":"string"},"name":{"type":"string"},"object":{"type":"string"},"parent_snapshot_id":{"format":"uuid","type":["string","null"]},"profile":{"$ref":"#/components/schemas/InstanceProfile"},"ready_at":{"format":"date-time","type":["string","null"]},"remote":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/SnapshotRemote","description":"The off-site copy, when a remote store is configured."}]},"size_mib":{"format":"int64","type":"integer"},"source_instance_id":{"format":"uuid","type":["string","null"]},"source_name":{"type":"string"},"status":{"type":"string"},"storage_mode":{"type":"string"},"trigger":{"description":"Why the checkpoint exists: manual, interval, stop, restart, delete\nor fork.","type":"string"},"updated_at":{"format":"date-time","type":"string"},"vcpu":{"format":"int32","type":"integer"}},"required":["id","object","name","source_name","image","artifact_key","components","profile","vcpu","memory_mib","disk_mib","size_mib","status","lineage_id","generation","storage_mode","kind","trigger","local","metadata_digest","created_at","updated_at"],"type":"object"},"SnapshotTreeResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SnapshotResponse"},"type":"array"},"latest_snapshot_id":{"format":"uuid","type":["string","null"]},"object":{"type":"string"}},"required":["object","data"],"type":"object"},"SshHostKeyResponse":{"properties":{"host_key_alias":{"type":"string"},"known_hosts":{"type":"string"},"name":{"type":"string"},"public_keys":{"items":{"type":"string"},"type":"array"}},"required":["name","host_key_alias","public_keys","known_hosts"],"type":"object"},"StopInstanceRequest":{"additionalProperties":false,"properties":{"snapshot":{"description":"Preserve the running session: writes the memory snapshot so the next\nstart resumes in about a second. Slower to stop. Without it the stop\nis a clean shutdown and the next start is a fresh boot.","type":"boolean"}},"type":"object"},"TerminalSessionEnvelope":{"properties":{"data":{"$ref":"#/components/schemas/TerminalSessionResponse"}},"required":["data"],"type":"object"},"TerminalSessionResponse":{"properties":{"expires_at":{"format":"date-time","type":"string"},"id":{"format":"uuid","type":"string"},"token":{"type":"string"},"websocket_url":{"type":"string"}},"required":["id","websocket_url","token","expires_at"],"type":"object"},"UnlockResponse":{"properties":{"unlocked":{"type":"boolean"}},"required":["unlocked"],"type":"object"},"UpdateEnvironmentRequest":{"additionalProperties":false,"properties":{"repositories":{"items":{"$ref":"#/components/schemas/RepositorySpec"},"type":"array"},"secret_files":{"items":{"$ref":"#/components/schemas/SecretFileInput"},"type":"array"},"setup_script":{"type":"string"},"variables":{"additionalProperties":{"type":"string"},"propertyNames":{"type":"string"},"type":"object"}},"type":"object"},"UpdateWebhookRequest":{"additionalProperties":false,"properties":{"enabled":{"type":["boolean","null"]},"events":{"items":{"type":"string"},"type":["array","null"]},"name":{"type":["string","null"]},"url":{"type":["string","null"]}},"type":"object"},"UserResponse":{"properties":{"created_at":{"format":"date-time","type":"string"},"email":{"type":"string"},"id":{"format":"uuid","type":"string"}},"required":["id","email","created_at"],"type":"object"},"Wallet":{"properties":{"empty_since":{"description":"When the balance reached zero; machines are parked at `park_at`.","format":"date-time","type":["string","null"]},"park_at":{"format":"date-time","type":["string","null"]},"parked":{"type":"boolean"},"plan_expires_at":{"format":"date-time","type":["string","null"]},"plan_micros":{"type":"integer"},"purchased_micros":{"type":"integer"},"total_micros":{"type":"integer"}},"required":["plan_micros","purchased_micros","total_micros","plan_expires_at","empty_since","park_at","parked"],"type":"object"},"WatchEventsResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ControlEventResponse"},"type":"array"},"has_more":{"type":"boolean"},"next_cursor":{"format":"int64","type":"integer"},"object":{"type":"string"}},"required":["object","data","next_cursor","has_more"],"type":"object"},"WebhookDeliveryResponse":{"properties":{"attempt":{"format":"int32","type":"integer"},"created_at":{"format":"date-time","type":"string"},"delivered_at":{"format":"date-time","type":["string","null"]},"endpoint_id":{"format":"uuid","type":"string"},"error":{"type":["string","null"]},"event_sequence":{"format":"int64","type":"integer"},"event_type":{"type":"string"},"id":{"format":"uuid","type":"string"},"next_attempt_at":{"format":"date-time","type":["string","null"]},"object":{"type":"string"},"state":{"type":"string"},"status_code":{"format":"int32","type":["integer","null"]}},"required":["id","object","endpoint_id","event_sequence","event_type","attempt","state","created_at"],"type":"object"},"WebhookEndpointResponse":{"properties":{"created_at":{"format":"date-time","type":"string"},"enabled":{"type":"boolean"},"events":{"items":{"type":"string"},"type":"array"},"failing_since":{"format":"date-time","type":["string","null"]},"id":{"format":"uuid","type":"string"},"last_delivery_at":{"format":"date-time","type":["string","null"]},"last_delivery_status":{"format":"int32","type":["integer","null"]},"name":{"type":"string"},"object":{"type":"string"},"secret_hint":{"type":"string"},"updated_at":{"format":"date-time","type":"string"},"url":{"type":"string"}},"required":["id","object","name","url","events","enabled","secret_hint","created_at","updated_at"],"type":"object"}}},"info":{"description":"Generated by kiste-run/backend scripts/openapi.mjs from the worker's openapi/origin.json and contract/control.openapi.json. Do not edit; regenerate.","title":"Kiste API (public)","version":"1"},"openapi":"3.1.0","paths":{"/api/auth/login":{"post":{"operationId":"console_login","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsoleLoginRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsoleSession"}}},"description":"Signed in; sets the session cookie"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/auth/logout":{"post":{"operationId":"console_logout","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogoutResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/billing/auto-refill":{"patch":{"operationId":"billing_auto_refill","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoRefillRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPlanState"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/billing/checkout":{"post":{"operationId":"billing_checkout","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingRedirect"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/billing/credit/checkout":{"post":{"operationId":"billing_credit_checkout","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditCheckoutRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingRedirect"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/billing/invoices":{"get":{"operationId":"billing_invoices","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceList"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/billing/ledger":{"get":{"operationId":"billing_ledger","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LedgerList"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/billing/plan":{"get":{"operationId":"billing_plan","responses":{"200":{"content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/BillingPlanState"},{"$ref":"#/components/schemas/BillingInactive"}]}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/billing/portal":{"post":{"operationId":"billing_portal","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingRedirect"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/billing/usage":{"get":{"operationId":"billing_usage","parameters":[{"in":"query","name":"period","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingUsage"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/api/desktop/exchange":{"get":{"description":"desktop.kiste.run: redeems the code against this browser's state cookie, sets __Host-kiste-desktop-account and redirects to the viewer.","operationId":"desktop_handoff_exchange","parameters":[{"in":"query","name":"code","required":true,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect (browser navigation)"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-host":"desktop.kiste.run","x-kiste-served-by":"control"}},"/api/desktop/handoff":{"get":{"description":"kiste.run: with a console session, mints a single-use code bound to the state and redirects to desktop.kiste.run/api/desktop/exchange; without one, back to desktop.kiste.run.","operationId":"desktop_handoff_issue","parameters":[{"in":"query","name":"state","required":true,"schema":{"type":"string"}}],"responses":{"302":{"description":"Redirect (browser navigation)"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-host":"kiste.run","x-kiste-served-by":"control"}},"/api/desktop/login":{"get":{"description":"desktop.kiste.run: sets the handoff state cookie and redirects to kiste.run/api/desktop/handoff (src/desktop-host.ts).","operationId":"desktop_handoff_begin","responses":{"302":{"description":"Redirect (browser navigation)"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-host":"desktop.kiste.run","x-kiste-served-by":"control"}},"/api/session":{"get":{"operationId":"console_session","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsoleSession"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/downloads/{channel}/{version}/{file}":{"get":{"operationId":"download_channel","parameters":[{"in":"path","name":"channel","required":true,"schema":{"type":"string"}},{"in":"path","name":"version","required":true,"schema":{"type":"string"}},{"in":"path","name":"file","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"application/octet-stream":{"schema":{"contentMediaType":"application/octet-stream","type":"string"}}}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/downloads/{file}":{"get":{"operationId":"download","parameters":[{"in":"path","name":"file","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"application/octet-stream":{"schema":{"contentMediaType":"application/octet-stream","type":"string"}}}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/health":{"get":{"operationId":"control_health_alias","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlHealth"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/healthz":{"get":{"operationId":"control_health","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlHealth"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/install-debug.sh":{"get":{"operationId":"install_debug_sh","responses":{"200":{"content":{"application/json":{"schema":{"text/plain":{"schema":{"type":"string"}}}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/install.ps1":{"get":{"operationId":"install_ps1","responses":{"200":{"content":{"application/json":{"schema":{"text/plain":{"schema":{"type":"string"}}}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/install.sh":{"get":{"operationId":"install_sh","responses":{"200":{"content":{"application/json":{"schema":{"text/plain":{"schema":{"type":"string"}}}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/oauth/authorize":{"get":{"operationId":"oauth_authorize_page","parameters":[{"in":"query","name":"response_type","required":false,"schema":{"type":"string"}},{"in":"query","name":"client_id","required":false,"schema":{"type":"string"}},{"in":"query","name":"redirect_uri","required":false,"schema":{"type":"string"}},{"in":"query","name":"code_challenge","required":false,"schema":{"type":"string"}},{"in":"query","name":"code_challenge_method","required":false,"schema":{"type":"string"}},{"in":"query","name":"state","required":false,"schema":{"type":"string"}},{"in":"query","name":"device","required":false,"schema":{"type":"string"}}],"responses":{"302":{"description":"Signed in: to the console approval page /app/authorize with the same query; signed out: to the console sign-in with continue=/oauth/authorize?…; on kiste.run (308): to console.kiste.run"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"},"post":{"operationId":"oauth_authorize_approve","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"additionalProperties":{"type":"string"},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"location":{"type":"string"}},"required":["location"],"type":"object"}}},"description":"The console approval page's answer: where the browser goes next, the CLI's loopback callback with code and state"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/oauth/token":{"post":{"operationId":"oauth_token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthTokenRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthTokenResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/openapi.json":{"get":{"operationId":"openapi","responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object"}}},"description":"This document"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/s/{capability}":{"get":{"operationId":"hosted_service_root","parameters":[{"in":"path","name":"capability","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Answered by the target as it is"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-any-method":true,"x-kiste-audience":"public","x-kiste-edge":"stream-host","x-kiste-served-by":"origin"}},"/s/{capability}/":{"get":{"operationId":"hosted_service_root_slash","parameters":[{"in":"path","name":"capability","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Answered by the target as it is"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-any-method":true,"x-kiste-audience":"public","x-kiste-edge":"stream-host","x-kiste-served-by":"origin"}},"/s/{capability}/{path}":{"get":{"operationId":"hosted_service","parameters":[{"in":"path","name":"capability","required":true,"schema":{"type":"string"}},{"in":"path","name":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Answered by the target as it is"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-any-method":true,"x-kiste-audience":"public","x-kiste-edge":"stream-host","x-kiste-served-by":"origin"}},"/status.json":{"get":{"operationId":"platform_status","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformStatus"}}},"description":"The current platform status"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"summary":"Platform status: components, 7-day uptime, incidents, maintenance windows, 5xx answers per hour (kiste.run/status)","x-kiste-audience":"public","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/alerts":{"get":{"operationId":"list_alerts","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AlertResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/alerts/preferences":{"get":{"operationId":"get_alert_preferences","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertPreferencesResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"patch":{"operationId":"update_alert_preferences","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"boolean"},"type":"object"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertPreferencesResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/alerts/{id}/acknowledge":{"post":{"operationId":"acknowledge_alert","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/api-tokens":{"get":{"operationId":"list_api_tokens","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ApiTokenResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"post":{"operationId":"create_api_token","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiTokenRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedApiTokenResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/api-tokens/{id}":{"delete":{"operationId":"delete_api_token","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedApiTokenResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"get":{"operationId":"get_api_token","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiTokenResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/auth/logout":{"post":{"operationId":"logout","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogoutResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/auth/unlock":{"post":{"description":"Lifts the account-wide login lock for unknown browsers. Accepts a CLI or API token of the account only, never a browser session.","operationId":"unlockLogin","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnlockResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/commands/{id}":{"get":{"operationId":"get_command","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommandResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/commands/{id}/interrupt":{"post":{"operationId":"interrupt_command","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterruptCommandRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InterruptCommandResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/desktop/native/preflight":{"post":{"operationId":"preflight_native_session","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DesktopBootstrapPreflightRequest"}}},"required":true},"responses":{"204":{"description":"No content"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"desktop-gateway","x-kiste-served-by":"origin"}},"/v1/desktop/native/session":{"post":{"operationId":"create_native_session","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DesktopBootstrapRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DesktopSessionResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"desktop-gateway","x-kiste-served-by":"origin"}},"/v1/desktop/native/session/renew":{"post":{"operationId":"renew_native_session","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DesktopBootstrapRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DesktopSessionResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"desktop-gateway","x-kiste-served-by":"origin"}},"/v1/desktop/native/session/{session}":{"delete":{"operationId":"revoke_native_session","parameters":[{"in":"path","name":"session","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No content"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"desktop-gateway","x-kiste-served-by":"origin"}},"/v1/desktop/native/{session}/offer":{"post":{"operationId":"native_session_offer","parameters":[{"in":"path","name":"session","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NativeOfferRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NativeOfferResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"desktop-gateway","x-kiste-served-by":"origin"}},"/v1/desktop/recovery/{session}":{"get":{"operationId":"desktop_recovery_connect","parameters":[{"in":"path","name":"session","required":true,"schema":{"type":"string"}}],"responses":{"101":{"description":"WebSocket upgrade"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"desktop-gateway","x-kiste-served-by":"origin"}},"/v1/device-keys":{"get":{"operationId":"list_device_keys","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceKeyList"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"},"post":{"operationId":"register_device_key","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterDeviceKeyRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceKey"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/device-keys/{id}":{"delete":{"operationId":"delete_device_key","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedDeviceKey"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/environments":{"get":{"operationId":"list_environments","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/EnvironmentResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"post":{"operationId":"create_environment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEnvironmentRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentVersionResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/environments/{name}":{"get":{"operationId":"get_environment","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentVersionResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"put":{"operationId":"update_environment","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEnvironmentRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentVersionResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/events":{"get":{"operationId":"watch_events","parameters":[{"in":"query","name":"after","required":false,"schema":{"type":"integer"}},{"in":"query","name":"limit","required":false,"schema":{"type":"integer"}},{"in":"query","name":"wait_ms","required":false,"schema":{"type":"integer"}},{"in":"query","name":"resource_type","required":false,"schema":{"type":"string"}},{"in":"query","name":"resource_id","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchEventsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/image-components":{"get":{"operationId":"list_image_components","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ImageComponent"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/images":{"get":{"operationId":"list_images","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/MachineImage"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"post":{"operationId":"create_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImageRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MachineImage"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/images/resolve":{"post":{"operationId":"resolve_image","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolveImageRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResolvedImagePlan"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/images/{id}":{"delete":{"operationId":"delete_image","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedImage"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"get":{"operationId":"get_image","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MachineImage"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances":{"get":{"operationId":"list_instances","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/InstanceResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"post":{"operationId":"create_instance","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInstanceRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}":{"delete":{"operationId":"delete_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"Finished"},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"Still running; the body is the state as it is now, the end is an event"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"get":{"operationId":"get_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/commands":{"get":{"operationId":"list_commands","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/CommandResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/desktop-link":{"delete":{"operationId":"revoke_desktop_links","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevokeDesktopLinksResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"post":{"operationId":"create_desktop_link","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDesktopLinkRequest"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DesktopLinkResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/exec":{"post":{"operationId":"exec_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecRequest"}}},"required":true},"responses":{"200":{"content":{"application/x-ndjson":{"schema":{"$ref":"#/components/schemas/ExecEvent"}}},"description":"One JSON event per line"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/exec/{id}":{"delete":{"operationId":"cancel_exec","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}},{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/extend":{"post":{"operationId":"extend_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExtendInstanceRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/fork":{"post":{"operationId":"fork_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForkInstanceRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/logs":{"get":{"operationId":"instance_logs","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}},{"in":"query","name":"tail","required":false,"schema":{"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/metrics":{"get":{"operationId":"instance_metrics","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceMetricsResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/rename":{"post":{"operationId":"rename_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameInstanceRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/restart":{"post":{"operationId":"restart_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"Finished"},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"Still running; the body is the state as it is now, the end is an event"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/resume":{"post":{"operationId":"resume_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"Finished"},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"Still running; the body is the state as it is now, the end is an event"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/services":{"get":{"operationId":"list_services","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/HostedServiceResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"post":{"operationId":"create_service","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateServiceRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HostedServiceResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/services/{service}":{"delete":{"operationId":"delete_service","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}},{"in":"path","name":"service","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/snapshots":{"get":{"operationId":"list_instance_snapshots","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SnapshotResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"post":{"operationId":"create_snapshot","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSnapshotRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/ssh-host-key":{"get":{"operationId":"ssh_host_key","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SshHostKeyResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/ssh-tunnel":{"get":{"operationId":"ssh_tunnel","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"101":{"description":"WebSocket upgrade"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/stop":{"post":{"operationId":"stop_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StopInstanceRequest"}}},"required":false},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"Finished"},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"Still running; the body is the state as it is now, the end is an event"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/terminal":{"post":{"operationId":"create_terminal_session","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTerminalSessionRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TerminalSessionEnvelope"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/instances/{name}/upgrade":{"post":{"operationId":"upgrade_instance","parameters":[{"in":"path","name":"name","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"Finished"},"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"Still running; the body is the state as it is now, the end is an event"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/me":{"delete":{"operationId":"delete_account","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAccountRequest"}}},"required":true},"responses":{"202":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountDeletion"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"},"get":{"operationId":"me","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/me/export":{"post":{"operationId":"create_account_export","responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountExportLink"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/me/export/download":{"get":{"operationId":"download_account_export","parameters":[{"in":"query","name":"token","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountExportFile"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/runtime/image":{"get":{"operationId":"runtime_image","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeImageResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/sessions":{"get":{"operationId":"list_sessions","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignInList"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/sessions/revoke-all":{"post":{"operationId":"revoke_all_sessions","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionRevocation"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/sessions/{id}":{"delete":{"operationId":"revoke_session","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedSession"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"control","x-kiste-served-by":"control"}},"/v1/snapshots":{"get":{"operationId":"list_snapshots","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SnapshotResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/snapshots/latest":{"get":{"operationId":"latest_snapshot","parameters":[{"in":"query","name":"instance","required":false,"schema":{"type":"string"}},{"in":"query","name":"lineage_id","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/snapshots/tree":{"get":{"operationId":"snapshot_tree","parameters":[{"in":"query","name":"instance","required":false,"schema":{"type":"string"}},{"in":"query","name":"lineage_id","required":false,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotTreeResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/snapshots/{id}":{"delete":{"operationId":"delete_snapshot","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"get":{"operationId":"get_snapshot","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/snapshots/{id}/pull":{"get":{"operationId":"snapshot_pull_metadata","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SnapshotPullResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/snapshots/{id}/restore":{"post":{"operationId":"restore_snapshot","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RestoreSnapshotRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InstanceResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/status":{"get":{"operationId":"control_plane_status","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ControlPlaneStatusResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/terminal/connect":{"get":{"operationId":"terminal_connect","responses":{"101":{"description":"WebSocket upgrade"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"terminal-gateway","x-kiste-served-by":"origin"}},"/v1/webhooks":{"get":{"operationId":"list_webhooks","responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/WebhookEndpointResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"post":{"operationId":"create_webhook","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebhookRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatedWebhookResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/webhooks/{id}":{"delete":{"operationId":"delete_webhook","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeletedWebhookResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"get":{"operationId":"get_webhook","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"},"patch":{"operationId":"update_webhook","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWebhookRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/webhooks/{id}/deliveries":{"get":{"operationId":"list_webhook_deliveries","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"properties":{"data":{"items":{"$ref":"#/components/schemas/WebhookDeliveryResponse"},"type":"array"},"first_id":{"type":["string","null"]},"has_more":{"type":"boolean"},"last_id":{"type":["string","null"]},"object":{"type":"string"}},"required":["object","data","first_id","last_id","has_more"],"type":"object"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}},"/v1/webhooks/{id}/test":{"post":{"operationId":"test_webhook","parameters":[{"in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookDeliveryResponse"}}},"description":"OK"},"default":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}},"description":"Error"}},"x-kiste-audience":"account","x-kiste-edge":"proxy","x-kiste-served-by":"origin"}}},"servers":[{"url":"https://kiste.run"}]}