{
  "schema_version": 2,
  "id": "integrate/redis-data-integration/reference/cli",
  "title": "CLI reference",
  "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/",
  "summary": "Reference for the RDI CLI commands",
  "aliases": [
    "/integrate/redis-data-integration/ingest/reference/cli/",
    "/integrate/redis-data-integration/reference/cli/redis-di-install/",
    "/integrate/redis-data-integration/reference/cli/redis-di-upgrade/",
    "/integrate/redis-data-integration/reference/cli/redis-di-monitor/",
    "/integrate/redis-data-integration/reference/cli/redis-di-trace/"
  ],
  "tags": [
    "docs",
    "integrate",
    "rs",
    "rdi"
  ],
  "last_updated": "2026-09-18T16:41:35+01:00",
  "children": [
    {
      "id": "integrate/redis-data-integration/reference/cli/previous-cli-comparison",
      "summary": "Compare the RDI CLI introduced in version 1.19.0 with the previous CLI",
      "title": "Compare the previous and current RDI CLI",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/previous-cli-comparison/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di",
      "summary": "Command line tool to manage Redis Data Integration",
      "title": "redis-di",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-completion",
      "summary": "Generates a shell autocompletion script",
      "title": "redis-di completion",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-completion/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-configure-rdi",
      "summary": "Configures the RDI database connection",
      "title": "redis-di configure-rdi",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-configure-rdi/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-delete",
      "summary": "Deleting a pipeline is not supported",
      "title": "redis-di delete",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-delete/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-delete-context",
      "summary": "Deletes a context",
      "title": "redis-di delete-context",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-delete-context/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-delete-secret",
      "summary": "Deletes a secret of a pipeline",
      "title": "redis-di delete-secret",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-delete-secret/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-deploy",
      "summary": "Deploys a pipeline with the specified configuration",
      "title": "redis-di deploy",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-deploy/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-describe",
      "summary": "Describes a pipeline with its status",
      "title": "redis-di describe",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-describe/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-describe-context",
      "summary": "Describes a context",
      "title": "redis-di describe-context",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-describe-context/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-describe-job",
      "summary": "Describes a job of a pipeline",
      "title": "redis-di describe-job",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-describe-job/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-describe-secret",
      "summary": "Describes a secret of a pipeline",
      "title": "redis-di describe-secret",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-describe-secret/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-dump-support-package",
      "summary": "Dumps the RDI support package",
      "title": "redis-di dump-support-package",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-dump-support-package/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-get",
      "summary": "Gets a pipeline",
      "title": "redis-di get",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-get-dlq",
      "summary": "Gets a dead-letter queue of a pipeline",
      "title": "redis-di get-dlq",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get-dlq/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-get-job",
      "summary": "Gets a job of a pipeline",
      "title": "redis-di get-job",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get-job/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-get-metric-collection",
      "summary": "Gets a metric collection of a pipeline",
      "title": "redis-di get-metric-collection",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get-metric-collection/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-get-secret",
      "summary": "Gets a secret of a pipeline",
      "title": "redis-di get-secret",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get-secret/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-info",
      "summary": "Displays information about the RDI deployment",
      "title": "redis-di info",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-info/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-list",
      "summary": "Lists all pipelines",
      "title": "redis-di list",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-list-contexts",
      "summary": "Lists all contexts",
      "title": "redis-di list-contexts",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-contexts/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-list-dlq-records",
      "summary": "Lists the rejected records of a dead-letter queue",
      "title": "redis-di list-dlq-records",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-dlq-records/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-list-dlqs",
      "summary": "Lists the dead-letter queues of a pipeline",
      "title": "redis-di list-dlqs",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-dlqs/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-list-jobs",
      "summary": "Lists the jobs of a pipeline",
      "title": "redis-di list-jobs",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-jobs/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-list-metric-collections",
      "summary": "Lists the metric collections of a pipeline",
      "title": "redis-di list-metric-collections",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-metric-collections/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-list-secrets",
      "summary": "Lists the secrets of a pipeline",
      "title": "redis-di list-secrets",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-secrets/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-reset",
      "summary": "Resets a pipeline",
      "title": "redis-di reset",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-reset/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-scaffold",
      "summary": "Generates pipeline configuration files",
      "title": "redis-di scaffold",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-scaffold/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-set-context",
      "summary": "Creates or updates a context",
      "title": "redis-di set-context",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-set-context/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-set-secret",
      "summary": "Creates or updates a secret of a pipeline",
      "title": "redis-di set-secret",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-set-secret/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-start",
      "summary": "Starts a pipeline",
      "title": "redis-di start",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-start/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-stop",
      "summary": "Stops a pipeline",
      "title": "redis-di stop",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-stop/"
    },
    {
      "id": "integrate/redis-data-integration/reference/cli/redis-di-use-context",
      "summary": "Sets a context to be the active one",
      "title": "redis-di use-context",
      "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-use-context/"
    }
  ],
  "page_type": "content",
  "content_hash": "091dcf19237f2165719eea8b933e02e42bbe5d94705f981ab8cdd1013e211f40",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "`redis-di` is the command line tool that manages Redis Data Integration (RDI).\nIt is a thin client over the RDI REST API, so it works the same way for all\ninstallation types: [VM](https://redis.io/docs/latest/integrate/redis-data-integration/installation/install-vm),\n[Kubernetes](https://redis.io/docs/latest/integrate/redis-data-integration/installation/install-k8s), and Redis Cloud.\nUse it to deploy pipelines, manage secrets, inspect status and metrics, and read rejected records.\n\n> [!NOTE]\n> RDI 1.19.0 introduced the current API-based CLI. If you are moving from an earlier RDI version,\n> see [Compare the previous and current RDI CLI](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/previous-cli-comparison)\n> for the connection, context, command, and output changes."
    },
    {
      "id": "connecting-to-the-api",
      "title": "Connecting to the API",
      "role": "content",
      "text": "Most commands connect to the RDI API, which you specify with the `--api-url` option (or the\n`RDI_API_URL` environment variable). Because the API is served over HTTPS, you can also supply\n`--cacert` to trust a private or self-signed certificate, or `--insecure` to skip TLS verification.\n\nThe CLI supports three authentication modes, selected by the credentials you provide:\n\n- **User authentication** (JWT): when you set a `--user`, the CLI logs in with that user and a\n  password from `--password`, the `RDI_PASSWORD` environment variable, or an interactive prompt.\n  This is the usual mode for VM and Kubernetes installations.\n- **Redis Cloud authentication**: when you set an `--account-key`, the CLI authenticates to the\n  Redis Cloud API gateway with that account key and a user key from `--user-key`, the `RDI_USER_KEY`\n  environment variable, or an interactive prompt. This is the mode for RDI running in Redis Cloud.\n- **No authentication**: when you set neither a user nor an account key, the CLI connects without\n  authenticating, which is the mode to use when authentication is disabled in the API.\n\nSetting both `--user` and `--account-key` is an error, as is setting both `--cacert` and `--insecure`.\nPasswords and user keys are secrets and are never stored on disk."
    },
    {
      "id": "contexts",
      "title": "Contexts",
      "role": "content",
      "text": "Instead of passing the connection options on every command, you can save them in a _context_.\nContexts are stored in a `~/.redis-di` file that holds a map of named contexts and the active one,\nsimilar to a `kubeconfig` file. Each context sets an `api-url`, an optional `user` or `account-key`,\nand either a `cacert` or `insecure: true`. Secrets (the password and user key) are never stored, so\nyou still supply them per session.\n\n[code example]\n\nUse the [`set-context`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-set-context)\nand [`use-context`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-use-context)\ncommands to create and select contexts rather than editing the file by hand."
    },
    {
      "id": "commands",
      "title": "Commands",
      "role": "syntax",
      "text": "Pipeline-scoped commands take the pipeline name as an optional positional argument that defaults to\n`default`, for example `redis-di start [pipeline]`. Sub-resource commands (for a secret, DLQ, or job)\ntake their own key or name as the positional argument and target the pipeline with the `-p` / `--pipeline`\noption, which also defaults to `default`.\n\nThere are two command options that select a particular database of the pipeline. The secret commands take `--db` with\na source name or `target` to address that database's secrets, and the `start`, `stop`, and `reset` commands take\n`--source` with a source name to act on that source alone. See\n[Multiple sources in one pipeline](https://redis.io/docs/latest/integrate/redis-data-integration/data-pipelines/multiple-sources) for more information.\n\nThe commands group as follows:\n\n- **Information**: [`info`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-info).\n- **Pipelines**: [`list`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list),\n  [`get`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get),\n  [`describe`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-describe) (alias `status`),\n  [`deploy`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-deploy) (alias `set`),\n  [`start`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-start),\n  [`stop`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-stop), and\n  [`reset`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-reset).\n- **Secrets**: [`list-secrets`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-secrets),\n  [`get-secret`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get-secret),\n  [`describe-secret`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-describe-secret),\n  [`set-secret`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-set-secret), and\n  [`delete-secret`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-delete-secret).\n- **Dead-letter queues**: [`list-dlqs`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-dlqs),\n  [`get-dlq`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get-dlq), and\n  [`list-dlq-records`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-dlq-records) (alias `get-rejected`).\n- **Jobs**: [`list-jobs`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-jobs),\n  [`get-job`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get-job), and\n  [`describe-job`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-describe-job).\n- **Metric collections**: [`list-metric-collections`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-metric-collections) and\n  [`get-metric-collection`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-get-metric-collection).\n- **Scaffolding**: [`scaffold`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-scaffold)\n- **Contexts**: [`list-contexts`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-list-contexts),\n  [`describe-context`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-describe-context),\n  [`set-context`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-set-context),\n  [`use-context`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-use-context), and\n  [`delete-context`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-delete-context).\n\nOn VM installations, the CLI also exposes the\n[`configure-rdi`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-configure-rdi) and\n[`dump-support-package`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-dump-support-package)\nadministration commands.\n\nSee the [`redis-di`](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di) page for the\nglobal options that apply to every command."
    },
    {
      "id": "output-formats",
      "title": "Output formats",
      "role": "returns",
      "text": "The `list` and `get` commands print an aligned, column-based table by default. Pass `-o` / `--output`\nwith `json` or `yaml` to emit the underlying data instead, which is useful for scripting and for tools\nsuch as `jq`. The `describe` commands always print a human-readable, sectioned layout."
    }
  ],
  "examples": [
    {
      "id": "contexts-ex0",
      "language": "yaml",
      "code": "# ~/.redis-di\ncurrent-context: prod\ncontexts:\n  prod:\n    api-url: https://rdi.example.com\n    user: default\n    cacert: /etc/rdi/ingress-ca.crt\n  dev:\n    api-url: https://localhost:8443\n    insecure: true",
      "section_id": "contexts"
    }
  ]
}
