# CLI reference

> Every numes command, subcommand and flag for coding agents, sign-in, installation and serving inference as a provider.

Source: https://0.0.0.0:3000/docs/providers/cli
Documentation index: https://0.0.0.0:3000/docs/llms.txt

`numes` is one executable. It runs the [terminal UI](/docs/providers/terminal-ui), guided setup, the serving daemon and the commands below, and it starts coding agents on Numes models with [`numes run`](#run), which needs no provider setup. Run any command with `--help` for its usage and units. [Install and update](/docs/providers/install-and-update) covers installing it.

```bash
numes COMMAND [SUBCOMMAND] [OPTIONS]            # sign-in, accounts, coding agents and the installation
numes provider COMMAND [SUBCOMMAND] [OPTIONS]   # everything about serving inference
```

With no command, `numes` prints help; `numes provider` prints the provider commands.

## General options

| Option | Effect |
| --- | --- |
| `--json` | Print machine-readable JSON instead of text. |
| `--profile-root PATH` | Use a different profile root. |
| `--application-config PATH` | Read application settings from this file, which must exist. Defaults to the optional `config.toml` in the profile root; see [Profiles and configuration](/docs/providers/profiles). |
| `--allow-env-overrides` | Apply broad `PROVIDER_*` environment overrides to a named profile. They're ignored otherwise. |
| `--login-method auto\|loopback\|device` | How to sign in, for commands that need it. |
| `--help` | Show usage for the command. |

Commands that talk to the platform use your saved sign-in. If none is saved and the command is interactive, it signs you in first. Non-interactive commands, and `--json` commands without an explicit `--login-method`, fail instead of prompting.

### Files and environment variables

| Path or variable | Purpose |
| --- | --- |
| `~/.config/numes/provider/` | Profile root: profiles, setup drafts, your sign-in and the optional `config.toml`. Follows `XDG_CONFIG_HOME`. |
| `~/.local/share/numes/` | Installed releases. Follows `XDG_DATA_HOME`. |
| `~/.config/numes/apps/` | The inference key used by `numes run` and generated agent configuration. Follows `XDG_CONFIG_HOME`. |
| `~/.local/share/numes/apps/` | Pi and OMP homes used by `numes run`, including their sessions. Follows `XDG_DATA_HOME`. |
| `~/.local/bin/numes` | The command link created by the installer. |
| `NUMES_PROFILE_ROOT` | Same as `--profile-root`. |
| `NUMES_APPLICATION_CONFIG_PATH` | Same as `--application-config`. |
| `NUMES_AUTO_UPDATE` | `0` or `false` turns off automatic installation of updates; `1` or `true` turns it on. Overrides `[updates] auto_apply`. |
| `NUMES_INSTALL_DIR` | Directory for the command link, for the installer and `numes install`. |
| `NUMES_API_KEY` | Inference key for `numes run` and `numes bridge`, used instead of the saved key and never stored. |
| `NUMES_E2EE_BRIDGE_KEY` | The key local clients use to call `numes bridge`. |

### Secrets are never arguments

Options whose names suggest a secret, such as tokens, credentials, private keys or secrets, are rejected. Two options take a typed reference instead of a value: `--api-key-secret` and `--resource-configuration-secret` accept `env://NAME` or `local://NAME`. `--api-key-env NAME` is shorthand for `--api-key-secret env://NAME`. Keys you type at a prompt go to the profile's owner-only secret store. See [Profiles and configuration](/docs/providers/profiles).

### Exit codes

| Code | Meaning |
| --- | --- |
| `0` | Success. |
| `1` | The command failed, for example a source was unreachable, a profile wasn't ready or an update was rolled back. |
| `2` | Usage error: an unknown command, a missing or invalid option, or a missing confirmation. |

Errors go to standard error as `numes: MESSAGE` and never include secrets. `numes run` exits with the agent's exit code.

## Commands

| Command | Purpose |
| --- | --- |
| [`numes run`](#run) | Start OpenCode, Pi or OMP on Numes models. |
| [`numes bridge`](#bridge) | Start a local API for end-to-end encrypted models. |
| [`numes auth`](#auth) | Sign in, check sign-in, sign out. |
| [`numes auth key`](#auth-key) | Set, inspect or remove the inference key for `numes run`. |
| [`numes account list`](#account) | List the accounts you can act for. |
| [`numes version`](#version) | Print the installed version. |
| [`numes update`](#update) | Check for and install a newer release. |
| [`numes uninstall`](#uninstall) | Remove services and installed releases. |
| [`numes install`](#install) | Install the running executable. Used by the installer. |
| [`numes provider tui`](#tui) | Open the terminal UI. |
| [`numes provider setup`](#setup) | Create a profile, endpoint and first publication. |
| [`numes provider status`](#status) | Combined local and platform readiness for a profile. |
| [`numes provider profile`](#profile) | List, start, stop, diagnose, validate and remove profiles. |
| [`numes provider service`](#service) | Install, inspect or remove a profile's background service. |
| [`numes provider config`](#config) | Show, validate and edit a profile's configuration file. |
| [`numes provider source`](#source) | Inspect or reconfigure a profile's source. |
| [`numes provider models`](#models) | Discover and draft model selections; manage public model names. |
| [`numes provider prices`](#prices) | Draft exact prices before the first publication. |
| [`numes provider manifest`, `publish`](#manifest) | Preview, compare, publish and synchronize terms. |
| [`numes provider capacity edit`](#capacity) | Change local endpoint concurrency. |
| [`numes provider verification retry`](#verification) | Check failed models again. |
| [`numes provider autopilot`](#autopilot) | Show, preview, turn on, change or turn off autopilot. |
| [`numes provider review`](#review) | Correct and resubmit a provider or endpoint for review. |
| [`numes provider remote`](#platform-views) | Platform views: status, operations, earnings, withdrawals. |
| [`numes provider daemon`](#daemon) | Run a profile in the foreground. |

`numes help` and `numes provider help` print general and provider help.

## run

```bash
numes run
numes run [OPTIONS] opencode|pi|omp [AGENT ARGUMENTS...]
```

Without an agent, lists the supported agents, whether each is installed and the version Numes tests with. With one, refreshes the agent's model list from the models your inference key can use, writes its configuration and starts it in this terminal. Options for `numes run` come before the agent's name; everything after it goes to the agent unchanged. The first launch asks you to paste a key or sign in and create one. See [Coding agents](/docs/integrations/coding-agents).

| Option | Effect |
| --- | --- |
| `--replace-key` | Paste or create a different key before starting. |
| `--paste` | When a key is needed, paste one without being asked. |
| `--create` | When a key is needed, sign in and create one without being asked. |
| `--account ID` | With `--create`, the account to bill. |
| `--currency USD\|BTC` | With `--create`, the key's currency. Chosen automatically when only one is enabled. |
| `--key-name NAME` | With `--create`, the key's name. Defaults to Numes CLI and today's date. |
| `--limit DECIMAL\|none` | With `--create`, a spending limit. A BTC limit counts sats. |
| `--revoke` | Revoke a replaced key that `numes` created, without asking. |
| `--keep-previous` | Keep a replaced key active, without asking. |
| `--default-model ID` | The model the agent starts on. |
| `--non-interactive` | Never prompt; fail when a choice is needed. |

## bridge

```bash
numes bridge
```

Starts an OpenAI-compatible API on this machine's loopback address for end-to-end encrypted (`:e2ee`) models, using your saved inference key. Set `NUMES_E2EE_BRIDGE_KEY` to a private 32–256 character key first; clients use that key with the printed base URL. `Ctrl+C` stops it. See [Encrypted inference](/docs/inference/encrypted).

## auth

```bash
numes auth login [--login-method auto|loopback|device]
numes auth status
numes auth logout [--login-method loopback|device]
```

`login` always starts a new sign-in. `auto` uses a device code over SSH, on Linux without a graphical display, or when the terminal isn't interactive, and a browser on this machine otherwise. `status` reads local state only. `logout` revokes and removes the saved sign-in; with a method, only that method's.

## auth key

```bash
numes auth key set [--paste | --create] [create options]
numes auth key status
numes auth key remove [--revoke | --keep-previous]
```

Manages the inference key `numes run` uses, separately from your sign-in. `set` replaces it and takes the same options as `numes run`. `status` shows the key's name, currency, limit and state, never the key, and notes when `NUMES_API_KEY` overrides it. `remove` forgets the key on this machine. When a key that `numes` created is replaced or removed, `numes` offers to revoke it; revoke a pasted key in [Keys](/dashboard/keys).

## account

```bash
numes account list
```

Lists the personal and organization accounts you can act for, with the IDs `setup --account` takes.

## version

```bash
numes version
numes --version
```

Prints the release version followed by the exact build, for example `0.1.0 (source-0123…)`.

## update

```bash
numes update [--check | --retry]
```

Installs a newer release from the release feed, restarts each background service on it, and restores the previous release if a service doesn't reconnect. A profile started without a background service keeps running the earlier release until you restart it; `update` lists each one it finds. `--check` only reports whether a newer release exists. A release that was rolled back on this machine isn't installed again automatically; `--retry` tries it once more. Works only for installations made by the installer or the desktop app. See [Install and update](/docs/providers/install-and-update).

## uninstall

```bash
numes uninstall
numes uninstall --purge --confirm
```

Removes every profile's background service, the updater, the command link and every installed release. Profiles, your sign-in, the saved inference key and agent sessions stay unless you add `--purge --confirm`. Nothing on the platform is deleted.

## install

```bash
numes install [--manifest FILE]
```

Installs the running executable into `~/.local/share/numes` and links the command. With `--manifest`, it first checks that the release manifest names this executable's exact digest, size and, where required, signature. The installer runs this for you.

## tui

```bash
numes provider tui [--profile NAME]
```

Opens the [terminal UI](/docs/providers/terminal-ui), optionally with an endpoint selected. It needs an interactive terminal.

## setup

```bash
numes provider setup SOURCE [OPTIONS]
numes provider setup --resume PROFILE [--plan | --start [--wait-ready]] [--skip-failing-models] [--include-kept-models]
numes provider setup --list-drafts
numes provider setup --resume PROFILE --discard
```

Setup signs you in if needed, selects the account and provider, connects the source, discovers and selects models, prices them, creates or reuses the provider and endpoint, publishes the models and optionally starts the daemon. Interactive setup prompts for anything missing and asks for one confirmation before publishing. Without `--provider`, `--provider-name` or `--reuse-provider-from`, it lists the account's self-hosted providers, such as one you created in the dashboard, then **Create a new provider**. With `--non-interactive`, or when input isn't a terminal, every required value must be a flag. Every change is saved to a resumable draft.

`SOURCE` is a source kind, such as `ollama`, `vllm`, `llama-cpp`, `openai-compatible`, `openrouter`, `openai`, `anthropic`, `google-gemini`, `kimi-code`, `opencode-zen`, `ppq`, `deepinfra`, `novita`, `venice` or `tinfoil`. `numes provider source kinds` lists them; [Inference sources](/docs/providers/sources) describes each.

### Setup modes

| Flag | Effect |
| --- | --- |
| `--plan` | Save the reviewed draft and print the plan. Creates nothing on the platform. |
| `--resume PROFILE` | Continue that profile's draft. |
| `--list-drafts` | List resumable drafts. Doesn't sign in. |
| `--discard` | With `--resume`, delete the draft and its locally stored secrets. |
| `--start` | Start the daemon after publishing. Setup returns once the daemon has checked its source. |
| `--wait-ready` | With `--start`, wait up to 30 seconds for readiness and print the combined status. |
| `--non-interactive` | Never prompt. |
| `--skip-failing-models` | Publish the models that pass their capability checks and keep the failed ones for later. Without it, one failed model stops the whole publication. |
| `--include-kept-models` | Include models kept for later in this publication, so they're checked and published again. |

### When a model fails its checks

Before anything is created on the platform, setup checks every selected model against the source: chat, tools, reasoning and the other capabilities it declares. Every model is checked, even after one fails, so one run reports them all.

By default a failed model stops the publication and nothing is submitted. Setup prints each model's outcome (state `capability_validation_failed`, with the failed check and verdict per model) and exits with status 1. Fix the source or the model's settings, then run `setup --resume PROFILE` again.

To publish the models that passed, resume with `--skip-failing-models`. The failed models stay in the draft, kept for later with their terms; the result lists them under `kept_for_later` with each one's failed check. Once they pass, run `setup --resume PROFILE --include-kept-models` to check and publish them as the endpoint's next revision. Only the kept models are published: models you already published keep their current terms, including any changes you made to the endpoint since setup.

### Models and source options

| Flag | Effect |
| --- | --- |
| `--profile NAME` | Name of the new profile. Required non-interactively; the interactive default is `default`. |
| `--model ID` | A model ID as the source reports it. Repeat per model. Required non-interactively. |
| `--canonical-model ID=SLUG` | Propose the public `publisher/model` name for a model. Needed for each model without an unambiguous suggested name. Public model names are reviewed by the platform. |
| `--model-origin ID=CHAIN` | Public provenance: `publisher/repository@COMMIT`, optionally followed by `,repackaged:…` or `,derived:…` entries. |
| `--enrich-origins` | Look up the origins you gave at the public model repository. |
| `--auth-mode none\|api_key\|oauth` | How to authenticate to the source. Defaults to the source's usual mode. |
| `--api-key-env NAME` | Read the source API key from this environment variable at run time. |
| `--api-key-secret REF` | `env://NAME` or `local://NAME` reference for the source API key. |
| `--source-url URL` | Source address. Required for `openai-compatible`; optional for vLLM and llama.cpp. |
| `--dialect auto\|responses\|messages\|gemini\|compatible` | Upstream API dialect. Default `auto`. |
| `--catalog-path PATH` | A reviewed [catalog overlay](/docs/providers/sources). |
| `--resource-configuration-secret REF` | Reference to hosted-tool resource bindings, for sources that use them. |
| `--hosted-tool ID` | Offer a server-hosted tool the source discovered. Repeat per tool. |
| `--review-details` | Prompt for the source address, data policy and other endpoint details instead of using defaults. |

### Price options

| Flag | Effect |
| --- | --- |
| `--currency USD\|BTC\|BTC-indexed` | Default `USD`. `BTC-indexed` prices are entered in USD and charged in BTC. |
| `--prompt-price`, `--completion-price` | Exact input and output price per 1M tokens. |
| `--cache-read-price`, `--cache-write-price` | Price per 1M cached tokens read or written. Can't exceed the input price. |
| `--reasoning-price` | Price per 1M reasoning tokens, when the source reports them separately. |
| `--request-price` | Price per request. Default `0`. |
| `--input-image-price`, `--output-image-price` | Price per input or generated image. |
| `--input-audio-price`, `--output-audio-price` | Price per second of input or generated audio. |
| `--input-character-price` | Price per input character. |
| `--sku-price ID=DECIMAL` | Price per call of a selected hosted tool. |
| `--accept-reference-prices` | Use each model's reference prices as your prices. |
| `--markup-percent DECIMAL` | One exact percentage, 0 to 10,000, added to every comparable upstream reference price. |
| `--market-adjustment DECIMAL` | One exact percentage, above -100 and up to 10,000, applied to every market reference price. Default `0`. |
| `--free` | Price every required meter at exactly zero. |
| `--share-with-organization HANDLE` | Share every selected model, free, with the organization that owns the provider. Members call `MODEL:org-HANDLE`; see [Model IDs](/docs/models). |

A price flag is needed only when the model reports usage for that meter. `--free` and `--share-with-organization` can't be combined with reference prices, markup or non-zero prices. See [Pricing your models](/docs/providers/pricing).

### Provider and endpoint options

| Flag | Effect |
| --- | --- |
| `--account ID` | The account to act for. Required when you belong to more than one. |
| `--provider ID` | Reuse an existing provider. |
| `--provider-name NAME` | Create a new provider with this name. |
| `--reuse-provider-from PROFILE` | Reuse another local profile's provider, with a new endpoint. |
| `--endpoint-name NAME` | Display name of the new endpoint. Defaults to the profile name, numbered if the provider already has a live endpoint with that name. |
| `--endpoint ID` | Reuse an existing endpoint of `--provider` instead of creating one. |
| `--manifest-revision INTEGER` | Required with `--endpoint`: the endpoint's next revision number. |

### Capacity and data policy options

| Flag | Effect |
| --- | --- |
| `--capacity INTEGER` | Endpoint concurrency ceiling. |
| `--model-capacity ID=INTEGER` | Per-model concurrency ceiling. Repeat per model. |
| `--collects-data true\|false` | Whether the source collects request data. |
| `--retention none\|limited\|indefinite\|unknown` | How long the source keeps request data. |
| `--retention-days INTEGER` | Required with `limited` retention. |
| `--country-code CODE` | ISO country code where the source processes data. Repeat per country. |
| `--region REGION` | Region where the source processes data. Repeat per region. |

Data declarations are binding commitments under the provider terms. Inaccurate declarations lead to suspension and withholding of earnings.

Examples:

```bash
# Ollama, published and started in one command
numes provider setup ollama --profile ollama-local \
  --provider-name "Example Labs" --model llama3.2:3b \
  --canonical-model llama3.2:3b=meta-llama/llama-3.2-3b-instruct \
  --currency USD --prompt-price 0.10 --completion-price 0.40 \
  --non-interactive --start --wait-ready

# OpenRouter, reference prices plus 15%, planned first
numes provider setup openrouter --profile cloud \
  --api-key-env OPENROUTER_API_KEY --model example-author/example-model \
  --provider-name "Example Labs" --currency USD --markup-percent 15 \
  --plan --non-interactive
```

## status

```bash
numes provider status --profile NAME [--local]
```

Reports one combined readiness state, the next action, source health, platform connection, configured and accepted terms, and the provider, endpoint and model statuses. `--local` skips sign-in and the platform lookup. See [Readiness states](/docs/providers/quickstart#readiness-states).

## profile

```bash
numes provider profile list
numes provider profile start --profile NAME | --all
numes provider profile stop|status|doctor|validate|edit|logs --profile NAME
numes provider profile remove --profile NAME --confirm [--keep-endpoint]
```

| Subcommand | Effect |
| --- | --- |
| `list` | List local profiles. |
| `start` | Start the daemon in the background, or its background service when one is installed. `--all` starts every saved profile, skips running ones, reports each result and exits non-zero if any fails. It doesn't install services. |
| `stop` | Stop admitting work, finish accepted requests, then stop. |
| `status` | Local state of a running profile. With `--ready`, exits non-zero until the source is healthy, the platform connection is up, the published terms are accepted and the profile accepts work. |
| `doctor` | Diagnose a running profile: configuration, secrets, source, model drift, identity, enrollment, connection and override names. |
| `validate` | Check the configuration and that its secrets resolve, without starting anything. |
| `edit` | Open the configuration in `$VISUAL` or `$EDITOR` and validate it on exit. |
| `logs` | Print the path of the profile's owner-only log file. |
| `remove` | Delete the endpoint on the platform, then stop the daemon and delete the local files. If the platform deletion fails, nothing is removed. `--keep-endpoint` deletes only the local files. |
| `create` | Bind a new profile to an existing endpoint with `--endpoint-id ID`, or from a file with `--from FILE`. For advanced manual setups; prefer `setup`. |

Aliases: `numes provider doctor`, `logs` and `stop` run the matching `profile` subcommand.

## service

```bash
numes provider service install --profile NAME [--manual-start]
numes provider service status --profile NAME
numes provider service remove --profile NAME
```

Runs a profile as a per-user background service (a systemd user service on Linux, a LaunchAgent on macOS) that restarts after a failure and starts after a reboot.

| Subcommand | Effect |
| --- | --- |
| `install` | Write and enable the service, set to start automatically; `--manual-start` turns automatic startup off. Also installs the updater. Start it with `profile start`. |
| `status` | Whether the service is installed, whether it starts at boot, and any missing prerequisite. |
| `remove` | Stop and remove the service; the profile stays. Removing the last service also removes the updater. |

The service always runs the installed release. The command never overwrites a service it didn't create, and refuses when the profile reads a secret from an environment variable the service wouldn't have. On Linux without lingering, user services stop at logout; the command enables lingering when it can and otherwise prints `sudo loginctl enable-linger <user>` for an administrator. See [Keep it running](/docs/providers/quickstart#keep-it-running).

## config

```bash
numes provider config path|show|validate|edit --profile NAME
numes provider config show --profile NAME --effective
```

`path` prints the location of `profile.toml`. `show` redacts secrets and private connection details; `--effective` also lists which `PROVIDER_*` override names are set and whether they apply, never their values. See [Profiles and configuration](/docs/providers/profiles).

## source

```bash
numes provider source kinds
numes provider source probe|version --profile NAME
numes provider source configure --profile NAME --kind KIND [OPTIONS]
numes provider source auth login|status|logout --profile NAME
```

| Subcommand | Effect |
| --- | --- |
| `kinds` | List the source kinds and their configuration fields. |
| `probe` | Check that the source is reachable and print its version. |
| `version` | Print the source's version. |
| `configure` | Change an existing profile's source. Takes `--kind`, `--source-url`, `--auth-mode`, `--api-key-secret`, `--dialect`, `--catalog-path` and `--resource-configuration-secret`. With `--auth-mode api_key` and no reference, prompts for the key. Clears the model selection. |
| `auth` | Sign in to, check or sign out of a source configured with `--auth-mode oauth`. |

## models

```bash
numes provider models discover|list --profile NAME
numes provider models inspect --profile NAME --model ID
numes provider models select|unselect --profile NAME --model ID [--model ID ...]
numes provider models refresh --profile NAME [--accept-reference-prices]
  [--markup-percent DECIMAL] [--market-adjustment DECIMAL]
numes provider models identity --profile NAME --model ID
  [--action resolve|accept-change|retry-completion]
  [--canonical-id publisher/model] [--origin CHAIN] [--enrich-origins]
```

`discover` lists what the source offers now, on any profile. `list` and `inspect` show the draft before the first publication and the published models after it, read from the platform with your sign-in. If this version can't show the published terms exactly, they refuse; `manifest preview` then prints the published manifest, unless a number in it can't be shown exactly either. `select`, `unselect` and `refresh` edit the draft before the first publication; after that, change models in the terminal UI or desktop app. `refresh` keeps your prices unless `--accept-reference-prices` replaces them with current references.

`identity` also works on published profiles:

| Action | Effect |
| --- | --- |
| `resolve` (default) | Refresh the review feedback for a model's public name. |
| `accept-change` | Accept the replacement public name proposed in review. |
| `retry-completion` | Retry a saved submission that couldn't be completed, after fixing the reported issue. |

An approved name never replaces verification.

## prices

```bash
numes provider prices show --profile NAME
numes provider prices set --profile NAME --model ID --meter TYPE \
  --currency USD|BTC --cost DECIMAL --unit UNIT \
  [--pricing-basis fixed|usd_indexed] [--sku ID]
numes provider prices unset --profile NAME --model ID --meter TYPE \
  --currency USD|BTC [--sku ID]
```

`TYPE` is `prompt`, `cached_prompt`, `cache_write`, `completion`, `internal_reasoning`, `request` or `sku`. `UNIT` is `call`, `character`, `image`, `megabyte`, `page`, `request`, `search`, `second` or `token`, as the model's usage allows. Token costs are per 1M tokens; other costs are per unit. `usd_indexed` needs `--currency BTC` and a USD cost. `show` works on any profile: before the first publication it shows the draft, after it the published prices. Like `models list`, it refuses when it can't show the published terms exactly. `set` and `unset` work only before the first publication.

## manifest

```bash
numes provider manifest preview|diff --profile NAME
numes provider manifest publish --profile NAME [--plan]
numes provider publish --profile NAME [--plan]
numes provider manifest sync --profile NAME
numes provider manifest recover --profile NAME [--choose FIELD=local|server ...] [--confirm]
```

`publish` (or the `publish` shorthand) works on an unpublished draft. `publish` reloads a running profile; a stopped one uses the new terms on its next start. `--plan` shows the revision, models and price count without publishing. `preview` and `diff` work on any profile: after the first publication, `preview` prints the published manifest (or refuses if a number in it can't be shown exactly) and `diff` shows there are no local changes, because published terms are edited in the terminal UI or desktop app. `sync` adopts the terms the platform last accepted for a published endpoint, without changing local credentials or source settings. When `sync` preserves conflicting local edits, `recover` lists the conflicts; choose `local` or `server` for each and add `--confirm` to apply them. Edit and publish the terms of an existing endpoint in the terminal UI or desktop app.

## capacity

```bash
numes provider capacity edit --profile NAME --maximum-concurrent INTEGER
```

On a published profile, `--maximum-concurrent` changes only the local ceiling and applies it to the running daemon at once; it can't raise the published capacity. To change published capacity, edit it in the terminal UI or desktop app and publish.

## verification

```bash
numes provider verification retry --profile NAME [--model ID]
```

Runs the profile doctor first and refuses unless the source, selected models, secrets, endpoint identity, credential and platform connection are ready. Then it retries a targeted recovery check for each model whose platform status allows it, or only `--model`. A failed initial full check uses bounded automatic retries; further full checks require our team. It never publishes. See [Verification](/docs/providers/lifecycle).

## autopilot

```bash
numes provider autopilot status|refresh --profile NAME
numes provider autopilot preview|enable|set --profile NAME [--markup-percent N]
  [--models selected|all] [--add-new-models|--no-add-new-models]
  [--exclude ID,ID] [--currency USD|BTC|both] [--cost-guard on|off] [--yes]
numes provider autopilot disable --profile NAME
```

Autopilot settings are stored on the platform for the profile's endpoint, and the running agent applies them. `preview` shows the model list autopilot would publish; `enable`, and `set` while autopilot is on, publish it only with `--yes`. Options you leave out keep their values. If the settings changed after the command read them, nothing changes. `refresh` asks the agent to check again and needs autopilot to be on. Models put on autopilot one by one in the dashboard show as `listed`; `--models` replaces that choice. See [Autopilot](/docs/providers/autopilot).

## review

```bash
numes provider review save-provider --profile NAME --name DISPLAY_NAME
numes provider review submit-provider --profile NAME
numes provider review endpoint --profile NAME
numes provider review save-endpoint|submit-endpoint --profile NAME [OPTIONS]
```

| Subcommand | Effect |
| --- | --- |
| `save-provider` | Correct the provider name. |
| `submit-provider` | Resubmit the provider for review. |
| `endpoint` | Print the endpoint's current declaration. |
| `save-endpoint` | Save changes without resubmitting. |
| `submit-endpoint` | Save changes and submit the endpoint for review. |

`save-endpoint` and `submit-endpoint` take `--name`, `--collects-data true|false`, `--retention none|limited|indefinite|unknown`, `--retention-days N`, `--countries CODES` and `--regions REGIONS`, with comma-separated lists. See [Review and lifecycle](/docs/providers/lifecycle).

## Platform views

```bash
numes provider remote status|operations|earnings|withdrawals --profile NAME
```

Read-only views of the platform's records for the profile's provider:

| View | Shows | Alias |
| --- | --- | --- |
| `status` | Provider, endpoint and model status. | |
| `operations` | Each endpoint's connection, health, last report, queue and free concurrency. | `numes provider statistics` |
| `earnings` | Exact earnings per currency. | `numes provider earnings` |
| `withdrawals` | Withdrawals per currency. Start them in the dashboard. | `numes provider withdrawals`, `payouts` |

## daemon

```bash
numes provider daemon --profile NAME
```

Runs the profile's daemon in the foreground until it receives a termination signal, then finishes accepted requests and exits. Use it under a service manager or container supervisor you manage; [`service install`](#service) sets up a per-user service for you.

## Next steps

:::cards

- {rocket} [Provider quickstart](/docs/providers/quickstart) The commands in the order you need them.
- {boxes} [Install and update](/docs/providers/install-and-update) Installation, updates and uninstalling.
- {tree} [Profiles and configuration](/docs/providers/profiles) What the profile commands operate on.
- {terminal} [Terminal UI](/docs/providers/terminal-ui) The same work, interactively.
- {plug} [Inference sources](/docs/providers/sources) Source kinds and their options.
  :::
