Command Reference
Deployments
Create, inspect, watch, and archive model deployments from the terminal.
Model deployments serve a fine-tuned or catalog model within a project, backed by allocated GPU instances. Use inf deployment to create a deployment, inspect everything about it now or at a past moment, and manage its lifecycle — all without opening the dashboard.
Alias: inf deployments
Quickstart
# See what a model may be deployed on (GPU families and counts)
inf deployment allowed-instance-types --model-id <model-id>
# Create a deployment and watch the rollout converge
inf deployment create \
--name my-deployment \
--model-id <model-id> \
--public-model-identifier <team>/<model-slug>
inf deployment watch <deployment-id>
# Inspect the deployment and the engine config it serves with
inf deployment get <deployment-id>
inf deployment config <deployment-id>
# Stop serving (reversible) or archive to free a slot
inf deployment stop <deployment-id> --yes
inf deployment start <deployment-id>Endpoint settings
A deployment serves an endpoint: the public model identifier callers use. The endpoint owns the model, the serverless pricing, the request-routing timeouts, the aliases, and the allowlist of extra teams. Every deployment serving it shares them, so they are changed on the endpoint, not the deployment. A deployment's endpointId names its endpoint.
inf endpoint get --id <endpoint-id>
inf endpoint update --id <endpoint-id> --model-id <model-id>Changing the model rolls every deployment on the endpoint. See Endpoints for every flag.
inf deployment list
List deployments for a team with their status, lifecycle, and served model alias.
inf deployment listAlias: inf deployment ls
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--team <id> | No | Team ID | INF_TEAM_ID / active team |
--project <id> | No | Filter results to a single project ID | — |
-l, --limit <n> | No | Max results to return (positive integer) | 50 |
Shows the deployment ID (8-char prefix), name, status, lifecycle state, public model identifier, and creation date.
inf deployment get
Show a single deployment's full details — status, lifecycle, model alias, and timestamps. Omit the id to pick interactively.
inf deployment get <id>Arguments
| Argument | Required | Description |
|---|---|---|
id | No | Deployment ID; omit to pick interactively |
Options
| Flag | Required | Description |
|---|---|---|
--team <id> | No | Team ID |
inf deployment config
Show the effective engine configuration a deployment serves with: the resolved flags, environment variables, and which layer set each.
inf deployment config <id>Arguments
| Argument | Required | Description |
|---|---|---|
id | No | Deployment ID; omit to pick interactively |
Options
| Flag | Required | Description |
|---|---|---|
--team <id> | No | Team ID |
inf deployment describe
Show everything you can read about a deployment in one view:
- The deployment's settings and config hash.
- The effective engine config. Each flag and env var shows the layer that set it (engine default, engine config, or deployment override) and the value it replaced.
- The endpoint's settings and its resolved list price.
- Routing: the deployment's rank, whether it is the default, its rule as CEL, and every other deployment on the endpoint.
- Instances: counts by status, how many run the current config hash, ready shards, and scheduling failures.
- Recent events.
- The live routing load: in-flight generations against routing slots across the deployment's connected instances, from each instance's latest engine heartbeat.
inf deployment describe <id>
# One JSON document for scripts and agents
inf --json deployment describe <id> | jq '.engineConfig.attribution.flags[] | select(.source=="override")'Alias: inf deployment inspect
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--team <id> | No | Team ID | Active team |
--events <n> | No | Recent events to include (1–100) | 20 |
--terminated | No | Include terminated instances | Live instances only |
--instance-status <statuses> | No | Only instances in these statuses, for example Unschedulable,Unhealthy. Repeat the flag or separate statuses with commas | Live instances |
--help lists what every field means and which command changes it.
inf deployment history
Show what changed on a deployment and its endpoint, and when:
configEras: the time ranges when each config hash was the desired config. Instances created in a range ran that config. To see which config a metric came from, match the metric's timestamps to these ranges.timeline: deployment and endpoint events, newest first, with a summary of each. Config, settings, and endpoint changes record their before and after values. Routing changes record every deployment's rank and rule before and after.instances: instances that were live in the window or created in it.instanceEngineConfigs(--instance-configs): instances grouped by the exact engine config stored on each when it was created. A deployment without a pinned engine config picks up new config versions without a deployment event, so this is the record of what actually ran.stateAt(--at): the deployment's config, settings, desired instance count, and lifecycle at that moment, with the endpoint's settings and routing. It starts from the current state and undoes every recorded change after--at.
inf deployment history <id> --since 24h
inf deployment history <id> --at 2026-10-01T14:05:00Z
inf deployment history <id> --type endpoint.routing_changed,deployment.config_changed
inf --json deployment history <id> --since 14d --instance-configsOptions
| Flag | Required | Description | Default |
|---|---|---|---|
--team <id> | No | Team ID | Active team |
--since <time> | No | Window start: ISO time or an age (90m, 24h, 7d, 2w) | 7d |
--until <time> | No | Window end | Now |
--at <time> | No | Also show the deployment and endpoint state at this moment | — |
--type <types> | No | Only these event types, or a prefix such as instance. Repeat the flag or separate types with commas | All |
--actor <type> | No | Only events from this actor (USER, AIR-TRAFFIC-CONTROL, ELIXIR-ENGINE, …) | All |
--instance <id> | No | Only this instance's events in the timeline. Eras and stateAt still use every event | All |
--no-endpoint-events | No | Leave the endpoint's events out of the timeline | — |
--instance-configs | No | Read each instance's stored engine config | — |
--max-events <n> | No | Stop reading each timeline after this many events. When it stops early, complete is false | 2000 |
--max-instance-configs <n> | No | With --instance-configs, the newest instances to read | 200 |
The history covers only recorded events. A change made before event recording began, or outside the API, does not appear.
inf deployment instances
List a deployment's running and terminated instances with their status, config hash, and stop reason.
inf deployment instances <id>Alias: inf deployment inst
Arguments
| Argument | Required | Description |
|---|---|---|
id | No | Deployment ID; omit to pick interactively |
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--team <id> | No | Team ID | Active team |
-l, --limit <n> | No | Max results to return (positive integer) | 100 |
inf deployment watch
Poll a deployment until its rollout converges — status Active and the target config hash Running.
inf deployment watch <id>Arguments
| Argument | Required | Description |
|---|---|---|
id | No | Deployment ID; omit to pick interactively |
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--team <id> | No | Team ID | Active team |
--target-config <hash> | No | Require this config hash to be the live, Running one | The deployment's current config hash |
--timeout <sec> | No | Max seconds to watch before giving up | 1800 |
--interval <sec> | No | Seconds between polls | 10 |
Exits 0 on convergence; fails if the timeout elapses.
inf deployment stop / start
stop archives a deployment so it stops serving (alias of archive). start restarts a previously archived deployment so it resumes serving. Both are reversible.
inf deployment stop <id> --yes
inf deployment start <id>Options
| Flag | Required | Description | Default |
|---|---|---|---|
--team <id> | No | Team ID | Active team |
-y, --yes | Yes in non-TTY environments (stop only) | Skip the confirmation prompt | Off |
stop prompts for confirmation in an interactive terminal; in non-TTY environments (CI, scripts) it refuses to run without -y.
inf deployment archive
Archive a deployment so it stops serving and frees a slot against the team cap. Reversible with start.
inf deployment archive <id> --yesArguments
| Argument | Required | Description |
|---|---|---|
id | No | Deployment ID; omit to pick interactively |
Options
| Flag | Required | Description | Default |
|---|---|---|---|
--team <id> | No | Team ID | Active team |
-y, --yes | Yes in non-TTY environments | Skip the confirmation prompt | Off |
inf deployment create
Create a deployment with its full configuration.
inf deployment create \
--name <name> \
--model-id <model-id> \
--public-model-identifier <team>/<model-slug>Options
| Flag | Required | Description | Default |
|---|---|---|---|
--name <name> | Yes | Deployment name | — |
--model-id <id> | Yes | Model to deploy | — |
--public-model-identifier <id> | Yes | Public model slug, e.g. <team>/<model> | — |
--project-id <id> | No | Project to create the deployment in | Active project |
--team-id <id> | No | Team to create the deployment in | Active team |
--desired-instance-count <n> | No | Instance count to scale to | — |
--instance-requirements <obj> | No | GPU instance requirements (see allowed-instance-types) | — |
--is-serverless-deployment <bool> | No | Deploy as a serverless model | false |
--model-config-flag-overrides <obj> | No | Engine flag overrides | — |
--model-config-version-override <n> | No | Pin a specific model-config version | — |
--billing-exempt <bool> | No | Exempt the deployment from billing | false |
Prints the new deployment ID. Run inf deployment watch <deployment-id> to track its rollout.
Examples
# Deploy on 1 GPU instance and watch the rollout converge
inf deployment create \
--name support-model \
--model-id <model-id> \
--public-model-identifier acme/support-v1 \
--desired-instance-count 1
inf deployment watch <deployment-id>
# Override an engine flag to lower max tokens served
inf deployment create \
--name support-model \
--model-id <model-id> \
--public-model-identifier acme/support-v1 \
--model-config-flag-overrides '{"max_tokens": 4096}'Generated REST verbs
inf deployment also exposes the full deployment API surface as generated commands — versions, update, events (one page of the raw event timeline; --since / --until bound it), engine-config, engine-configs, inferences, inference-filter-options, public-identifier-available, training-job-for-model, open-source-models, and allowed-instance-types. Run inf deployment --help to list them and their flags.