# Gateway CLI

Use `provon gateway` to manage AI Gateway provider keys, routing, guardrails, and observability
settings.

These commands require a project-scoped credential with Gateway capability.

## Status

Show the Gateway capability matrix and configured providers:

```bash
provon gateway status
```

## Provider Keys

### List provider keys

```bash
provon gateway providers list
provon gateway providers list --provider openai --include-disabled
```

### Create a provider key

```bash
provon gateway providers create \
  --provider openai \
  --display-name "OpenAI production" \
  --api-key "$OPENAI_API_KEY" \
  --priority 1
```

Optional flags: `--base-url`, `--enabled`, `--priority`, `--timeout-ms`.

### Update a provider key

```bash
provon gateway providers update <key-id> --display-name "New name"
provon gateway providers update <key-id> --api-key "$NEW_KEY"
provon gateway providers update <key-id> --enabled
provon gateway providers update <key-id> --disabled
```

### Enable or disable a key

```bash
provon gateway providers set-enabled <key-id> true
provon gateway providers set-enabled <key-id> false
```

### Reorder keys

```bash
provon gateway providers reorder <key-id-1> <key-id-2> <key-id-3>
```

### Delete a provider key

```bash
provon gateway providers delete <key-id>
```

## Model Bindings

Bind a Gateway model to an upstream model for a provider key:

```bash
provon gateway providers bind-model <key-id> \
  --gateway-model-id gpt-4o \
  --upstream-model-id gpt-4o-2024-08-06 \
  --endpoints chat,embeddings \
  --features streaming,json_schema
```

Remove a binding:

```bash
provon gateway providers unbind-model <key-id> <binding-id>
```

## Model Selection

Show the model selection manifest:

```bash
provon gateway model-selection
provon gateway model-selection --endpoint chat --features streaming
```

## Routing

Show current routing configuration:

```bash
provon gateway routing get
```

Update model policies:

```bash
provon gateway routing model-policies '{"rules":[]}'
provon gateway routing model-policies --file ./model-policies.json
```

Update the auto-router:

```bash
provon gateway routing auto-router '{"enabled":true}'
provon gateway routing auto-router --file ./auto-router.json
```

## Guardrails

Show guardrails configuration:

```bash
provon gateway guardrails get
```

Set guardrails mode:

```bash
provon gateway guardrails set-mode monitor
```

Modes: `off`, `monitor`, `enforce`.

Update guardrails rules from JSON:

```bash
provon gateway guardrails update '{"mode":"enforce","rules":[]}'
provon gateway guardrails update --file ./guardrails.json
```

## Observability

Show Gateway observability configuration:

```bash
provon gateway observability get
```

Update observability configuration from JSON:

```bash
provon gateway observability update '{"logPayloads":false}'
provon gateway observability update --file ./observability.json
```

## Gateway Lifecycle

Pause or resume the Gateway:

```bash
provon gateway pause
provon gateway resume
```

## Settings

Show or update the entire Gateway settings object:

```bash
provon gateway settings get
provon gateway settings update '{"modelPolicies":{...}}'
provon gateway settings update --file ./settings.json
provon gateway settings delete
```

## Related Docs

- [AI Gateway overview](../ai-gateway/index.md)
- [Gateway routing](../ai-gateway/routing.md)
- [Gateway providers](../ai-gateway/providers.md)
- [Gateway API](../api/gateway.md)
