---
title: "Hold off auto-standby"
method: POST
path: "/instances/{id}/auto-standby/hold"
---

# Hold off auto-standby

`POST /instances/{id}/auto-standby/hold`

Places a hold that prevents the auto-standby controller from putting the
instance into standby before `hold_until`, and cancels any queued
auto-standby attempt.

Each hold replaces the instance's previous hold, so `hold_until` always
reflects the most recent call. Holding again after the policy's
`idle_timeout` is shortened moves `hold_until` earlier.

Callers may use this before opening a connection to a candidate-idle instance:
a 200 means it is safe to connect until `hold_until`; a 409 means the
instance is in standby (or irrevocably entering it) and must be restored
first.

Instances where auto-standby is disabled, unconfigured, or unsupported
return 200 with their current status because no auto-standby will occur.

## Path parameters

- `id` string, required

## Response `200`

Hold placed (or nothing to hold); safe to connect until hold_until

- AutoStandbyStatus
  - `supported` boolean, required — Whether the current host platform supports auto-standby diagnostics.
  - `configured` boolean, required — Whether the instance has any auto-standby policy configured.
  - `enabled` boolean, required — Whether the configured auto-standby policy is enabled.
  - `eligible` boolean, required — Whether the instance is currently eligible to enter standby.
  - `status` 'unsupported' | 'disabled' | 'ineligible' | 'active' | 'idle_countdown' | 'ready_for_standby' | 'standby_requested' | 'error', required
  - `reason` 'unsupported_platform' | 'policy_missing' | 'policy_disabled' | 'instance_not_running' | 'network_disabled' | 'missing_ip' | 'has_vgpu' | 'active_inbound_connections' | 'idle_timeout_not_elapsed' | 'observer_error' | 'ready_for_standby', required
  - `active_inbound_connections` integer, required — Number of currently tracked qualifying inbound TCP connections.
  - `idle_timeout` string, nullable — Configured idle timeout from the auto-standby policy.
  - `idle_since` string, date-time, nullable — When the controller most recently observed the instance become idle.
  - `last_inbound_activity_at` string, date-time, nullable — Timestamp of the most recent qualifying inbound TCP activity the controller observed.
  - `next_standby_at` string, date-time, nullable — When the controller expects to attempt standby next, if a countdown is active.
  - `hold_until` string, date-time, nullable — Until when auto-standby is held off, if a hold is active.
  - `countdown_remaining` string, nullable — Remaining time before the controller attempts standby, when applicable.
  - `tracking_mode` string, required — Diagnostic identifier for the runtime tracking mode in use.

## Other responses

- `404` — Instance not found
- `409` — Instance is in standby or a standby is already executing (code `instance_in_standby`); restore it before connecting
- `500` — Internal server error

---

[API](https://skmtc.net/kernel/apis/hypeman-api.md) · [All operations](https://skmtc.net/kernel/apis/hypeman-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/kernel/hypeman-api/versions/b4642bb950dc/schema)
