v

latestOpenAPI 3.1.02026-08-08139159197.8 KB
Internal

Drain a serving deployment (platform admin)

Moves the deployment to draining. The reconcile loop drains its pool members so no replica takes new traffic while in-flight requests finish. Idempotent on an already-draining deployment.

post/v1/admin/inference/deployments/{id}/drain

Path parameters

idstring required

Response

Draining

backendCatalogWeightinteger

Live catalog routing weight of this deployment's backend. Only present when backendRegistered is true. May differ from backendWeight (the row mirror) while a rollout ramp is in flight.

backendHealthyboolean

Live catalog health of this deployment's backend (the kill switch). Only present when backendRegistered is true.

backendRegisteredboolean

Whether this deployment's pool:// backend is currently present on the catalog model row. Absent when the live catalog state could not be read; false until the first replica passes readiness.

backendVersionstring

The rollout tag this deployment's backend reports to the gateway as the version metric label on ig_model_requests_total and ig_stream_ttft_seconds. Use it to separate the two sides of a rollout in a dashboard query. Only present when backendRegistered is true.

backendWeightinteger required

Routing weight of the catalog backend. 0 = standby (blue/green starts here)

createdAtstring required
dtypestring
enginestring required

Inference engine, e.g. vllm or sglang

engineImagestring

Engine container image override; absent = the engine's default

envobject
extraArgsstring[]
gpuCountPerReplicainteger required
gpuModelIdstring required
idstring required
isolatedboolean required

True when replicas and their private endpoint pool are for direct operator testing only. Isolated deployments never register a catalog backend, never participate in blue/green rollout, and cannot receive gateway traffic.

maxConcurrencyPerReplicainteger
maxModelLeninteger
maxPromptBytesinteger

Exclusive text-request byte ceiling for routing eligibility; 0 or absent = unbounded. Routing hint only, not a context limit.

minPromptBytesinteger

Inclusive text-request byte floor for routing eligibility; 0 or absent = unbounded. Routing hint only, not a context limit.

nativeFamiliesstring[]
nodePoolstring

Stable logical capacity lane within the public model. Blue/green only replaces versions in the same node pool; empty preserves legacy model-wide grouping.

organizationIdstring required

Org that owns the managed replicas (and their metering)

poolIdstring

Endpoint pool the deployment's replicas register in

publicModelIdstring required

Catalog model this deployment serves capacity for

quantizationstring
readyReplicasinteger required
replicaVmIdsstring[]
replicasDesiredinteger required
replicasMaxinteger required
replicasMininteger required
rolloutRole'' | 'green'

Opt-in blue/green role. Empty (default) = an INDEPENDENT weighted capacity member of its lane, never blue or green. "green" = the lane's successor generation: the controller ramps it against the older members under a capacity guard and cuts them over once it reaches capacity parity. Rollouts are never implicit.

servedModelIdstring required

Model id the engine serves; must equal the catalog backend ref

status'pending' | 'deploying' | 'ready' | 'degraded' | 'scaling' | 'draining' | 'stopped' | 'failed' required
statusReasonstring

Human-readable cause for degraded/failed states

updatedAtstring required
versionstring

Generation marker for blue/green within one public model and node pool

weightsRefstring

Staged-checkpoint reference; absent = the engine loads from its own source