Coveo CLI

What is it?

The Coveo CLI is a powerful command-line interface (CLI) that interacts with the Coveo platform to facilitate development and build automation. Key features include the following:

Installation

Option 1: Install via an Executable

Download and run the executable for your operating system to install the latest available version of the CLI.

Afterward, you can run coveo update at any time to update your CLI installation to the latest version.

Option 2: Install via NPM

You can alternatively install the CLI globally via npm:

npm install -g @coveo/cli

Afterward, you can run npm update -g @coveo/cli at any time to update your npm-based CLI installation to the latest version.

You can also run the CLI via npx:

npx @coveo/cli

Usage

$ npm install -g @coveo/cli
$ coveo COMMAND
running command...
$ coveo (-v|--version|version)
@coveo/cli/1.28.1 linux-x64 node-v16.15.0
$ coveo --help [COMMAND]
USAGE
  $ coveo COMMAND
...

Commands

coveo auth:login

Log in to the Coveo Platform using the OAuth2 flow.

USAGE
  $ coveo auth:login
OPTIONS
  -e, --environment=dev|qa|hipaa|prod  [default: prod] The Coveo Platform environment to log in to.
  -o, --organization=myOrgID           The identifier of the organization to log in to. If not specified, the CLI logs
                                       you in to the first available organization. See also commands `config:get`,
                                       `config:set`, and `org:list`.
  -r, --region=US|EU|AU                [default: us] The Coveo Platform region to log in to. See
                                       <https://docs.coveo.com/en/2976>.
EXAMPLE
  $ coveo auth:login

See code: src/commands/auth/login.ts

coveo auth:token

Log in to the Coveo Platform using an access token.

USAGE
  $ coveo auth:token
OPTIONS
  -e, --environment=dev|qa|hipaa|prod  [default: prod] The Coveo Platform environment to log in to.
  -r, --region=US|EU|AU                [default: us] The Coveo Platform region to log in to. See
                                       <https://docs.coveo.com/en/2976>.
  -t, --token=xxx-api-key              (required) The API-Key that shall be used to authenticate you to the
                                       organization. See
                                       <https://github.com/coveo/cli/wiki/Using-the-CLI-using-an-API-Key>.
EXAMPLE
  $ coveo auth:token

See code: src/commands/auth/token.ts

coveo config:get [KEY]

Display the current configuration.

USAGE
  $ coveo config:get [KEY]
ARGUMENTS
  KEY  The config key for which to show the value
EXAMPLES
  $ coveo config:get
  $ coveo config:get organization
  $ coveo config:get accessToken

See code: src/commands/config/get.ts

coveo config:set

Modify the current configuration.

USAGE
  $ coveo config:set
OPTIONS
  -a, --analytics=y|n                  Whether to enable analytics and telemetry tracking.
  -e, --environment=dev|qa|hipaa|prod  The Coveo Platform environment to log in to.
  -o, --organization=myOrgID           The identifier of the organization inside which to perform operations. See
                                       <https://docs.coveo.com/en/1562/#organization-id-and-other-information>.
  -r, --region=US|EU|AU                The Coveo Platform region to log in to. See <https://docs.coveo.com/en/2976>.

See code: src/commands/config/set.ts

coveo help [COMMAND]

Display help for coveo.

USAGE
  $ coveo help [COMMAND]
ARGUMENTS
  COMMAND  Command to show help for.
OPTIONS
  -n, --nested-commands  Include all nested commands in the output.

See code: @oclif/plugin-help

coveo org:create NAME

Create a new test Coveo organization.

USAGE
  $ coveo org:create NAME
ARGUMENTS
  NAME  The name to assign to the new organization.
OPTIONS
  -s, --[no-]setDefaultOrganization  Set the created organization as the default one

See code: src/commands/org/create.ts

coveo org:list

List Coveo organizations.

USAGE
  $ coveo org:list
OPTIONS
  -x, --extended          show extra columns
  --columns=columns       only show provided columns (comma-separated)
  --csv                   output is csv format [alias: --output=csv]
  --filter=filter         filter property by partial string matching, ex: name=foo
  --no-header             hide table header from output
  --no-truncate           do not truncate output to fit screen
  --output=csv|json|yaml  output in a more machine friendly format
  --sort=sort             property to sort by (prepend '-' for descending)

See code: src/commands/org/list.ts

coveo org:resources:list

(beta) List available snapshots from an organization

USAGE
  $ coveo org:resources:list
OPTIONS
  -o, --organization=targetorganizationg7dg3gd  The unique identifier of the organization containing the snapshots. If
                                                not specified, the organization you are connected to will be used.
  -x, --extended                                show extra columns
  --columns=columns                             only show provided columns (comma-separated)
  --csv                                         output is csv format [alias: --output=csv]
  --filter=filter                               filter property by partial string matching, ex: name=foo
  --no-header                                   hide table header from output
  --no-truncate                                 do not truncate output to fit screen
  --output=csv|json|yaml                        output in a more machine friendly format
  --sort=sort                                   property to sort by (prepend '-' for descending)

See code: src/commands/org/resources/list.ts

coveo org:resources:model:create

(beta) Create a Snapshot Pull Model

USAGE
  $ coveo org:resources:model:create

See code: src/commands/org/resources/model/create.ts

coveo org:resources:monitor SNAPSHOTID

(beta) Monitor a Snapshot operation

USAGE
  $ coveo org:resources:monitor SNAPSHOTID
ARGUMENTS
  SNAPSHOTID  The unique identifier of the target snapshot.
OPTIONS
  -o, --organization=targetorganizationg7dg3gd  The unique identifier of the organization containing the snapshot. If
                                                not specified, the organization you are connected to will be used.
  -w, --wait=seconds                            [default: 60] The maximum number of seconds to wait before the commands
                                                exits with a timeout error. A value of zero means that the command will
                                                wait indefinitely.

See code: src/commands/org/resources/monitor.ts

coveo org:resources:preview

(beta) Preview resource updates

USAGE
  $ coveo org:resources:preview
OPTIONS
  -d, --showMissingResources                    Preview resources deletion when enabled
  -o, --organization=targetorganizationg7dg3gd  The unique identifier of the organization where to preview the changes
                                                If not specified, the organization you are connected to will be used.
  -p, --previewLevel=(light|detailed)           [default: detailed] The verbosity of the preview. The `light` preview is
                                                faster to generate but only contains a limited amount of information, as
                                                opposed to the `detailed` preview that takes more time to generate, but
                                                returns a diff representation of all the changes to apply.
  -s, --snapshotId=snapshotId                   The unique identifier of the snapshot to preview. If not specified, a
                                                new snapshot will be created from your local project. You can list
                                                available snapshots in your organization with org:resources:list
  -w, --wait=seconds                            [default: 60] The maximum number of seconds to wait before the commands
                                                exits with a timeout error. A value of zero means that the command will
                                                wait indefinitely.
  -y, --sync                                    Apply synchronization when there is a 100% match between organization
                                                and snapshot resources.

See code: src/commands/org/resources/preview.ts

coveo org:resources:pull

(beta) Pull resources from an organization

USAGE
  $ coveo org:resources:pull
OPTIONS
  -f, --overwrite                               Overwrite resources directory if it exists.
  -g, --[no-]git                                Whether to create a git repository when creating a new project.
  -m, --model=path/to/snapshot.json             The path to a snapshot pull model. This flag is useful when you want to
                                                include only specific resource items in your snapshot (e.g., a subset of
                                                sources). Use the "org:resources:model:create" command to create a new
                                                Snapshot Pull Model
  -o, --organization=targetorganizationg7dg3gd  The unique identifier of the organization from which to pull the
                                                resources If not specified, the organization you are connected to will
                                                be used.
  -r, --resourceTypes=type1 type2               [default: EXTENSION,FEATURED_RESULT,FIELD,FILTER,MAPPING,ML_MODEL,ML_MOD
                                                EL_ASSOCIATION,QUERY_PARAMETER,QUERY_PIPELINE,QUERY_PIPELINE_CONDITION,R
                                                ANKING_EXPRESSION,RANKING_WEIGHT,SEARCH_PAGE,SECURITY_PROVIDER,SOURCE,ST
                                                OP_WORD,SUBSCRIPTION,THESAURUS,TRIGGER] The resources types to pull from
                                                the organization.
  -s, --snapshotId=snapshotId                   The unique identifier of the snapshot to pull. If not specified, a new
                                                snapshot will be created. You can list available snapshot in your
                                                organization with org:resources:list
  -w, --wait=seconds                            [default: 60] The maximum number of seconds to wait before the commands
                                                exits with a timeout error. A value of zero means that the command will
                                                wait indefinitely.

See code: src/commands/org/resources/pull.ts

coveo org:resources:push

(beta) Preview, validate and deploy your changes to the destination org

USAGE
  $ coveo org:resources:push
OPTIONS
  -d, --deleteMissingResources                  Delete missing resources when enabled
  -o, --organization=targetorganizationg7dg3gd  The unique identifier of the organization where to send the changes If
                                                not specified, the organization you are connected to will be used.
  -p, --previewLevel=(light|detailed)           [default: detailed] The verbosity of the preview. The `light` preview is
                                                faster to generate but only contains a limited amount of information, as
                                                opposed to the `detailed` preview that takes more time to generate, but
                                                returns a diff representation of all the changes to apply.
  -s, --skipPreview                             Do not preview changes before applying them to the organization
  -w, --wait=seconds                            [default: 60] The maximum number of seconds to wait before the commands
                                                exits with a timeout error. A value of zero means that the command will
                                                wait indefinitely.
  -y, --sync                                    Apply synchronization when there is a 100% match between organization
                                                and snapshot resources.

See code: src/commands/org/resources/push.ts

coveo org:search:dump

Dump the content of one or more sources in CSV format.

USAGE
  $ coveo org:search:dump
OPTIONS
  -c, --chunkSize=chunkSize                [default: 10000] The maximum number of results to dump into each CSV file.
  -d, --destination=destination            [default: .] The folder in which to create the CSV files. The data dump will
                                           fail if the folder doesn't exist.
  -f, --additionalFilter=additionalFilter  The additional search filter to apply while getting the content. See
                                           <https://docs.coveo.com/en/1552>.
  -n, --name=name                          [default: indexdump] The base name to use when creating a new CSV file. If
                                           more than one file is created, the CLI will append `_2`, `_3`, etc. to each
                                           new file name after the first one.
  -p, --pipeline=pipeline                  The name of the query pipeline through which to get content. If not
                                           specified, the default query pipeline is used.
  -s, --source=mySourceName                (required) The names (not the identifiers) of the sources from which to get
                                           content.
  -x, --fieldsToExclude=fieldsToExclude    The fields to exclude from the data dump. If not specified, all fields are
                                           included.

See code: src/commands/org/search/dump.ts

coveo source:catalog:add SOURCEID

Index a JSON document into a Coveo Catalog source. See https://docs.coveo.com/en/2956 for more information.

USAGE
  $ coveo source:catalog:add SOURCEID
ARGUMENTS
  SOURCEID  The identifier of the Catalog source on which to perform the add operation. See `source:list` to obtain the
            identifier.
OPTIONS
  -c, --maxConcurrent=maxConcurrent
      [default: 10] The maximum number of requests to send concurrently. Increasing this value increases the speed at
      which documents are indexed to the Coveo platform. However, if you run into memory or throttling issues, consider
      reducing this value.
  -f, --files=myfile.json
      Combinaison of JSON files and folders (containing JSON files) to push. Can be repeated.
  -m, --[no-]createMissingFields
      Analyse documents to detect and automatically create missing fields in the destination organization. When enabled,
      an error will be thrown if a field is used to store data of inconsistent type across documents.
  --fullUpload
      Controls the way your items are added to your catalog source.
      Setting this option to false will trigger a document update (Default operation). Useful to perform incremental
      updates for smaller adjustments to your catalog that do not require pushing the entire catalog. A document update
      must only be performed after a full catalog upload.
      See https://docs.coveo.com/en/l62e0540
      Setting this option to true will trigger a full catalog upload. This process acts as a full rebuild of your catalog
      source. Therefore, previous items that are not included in the new payload will be deleted.
      See https://docs.coveo.com/en/lb4a0344
  --skipFullUploadCheck
      Do not check whether a full catalog upload was triggered on the target source.

See code: src/commands/source/catalog/add.ts

coveo source:catalog:new NAME

Create a new catalog source in a Coveo organization

USAGE
  $ coveo source:catalog:new NAME
ARGUMENTS
  NAME  The name of the source to create.
OPTIONS
  -v, --sourceVisibility=(PRIVATE|SECURED|SHARED)  [default: SECURED] Controls the content security option that should
                                                   be applied to the items in a source. See
                                                   https://docs.coveo.com/en/1779/index-content/content-security

See code: src/commands/source/catalog/new.ts

coveo source:list

List all available push sources in your Coveo organization

USAGE
  $ coveo source:list
OPTIONS
  -x, --extended          show extra columns
  --columns=columns       only show provided columns (comma-separated)
  --csv                   output is csv format [alias: --output=csv]
  --filter=filter         filter property by partial string matching, ex: name=foo
  --no-header             hide table header from output
  --no-truncate           do not truncate output to fit screen
  --output=csv|json|yaml  output in a more machine friendly format
  --sort=sort             property to sort by (prepend '-' for descending)

See code: src/commands/source/list.ts

coveo source:push:add SOURCEID

Index a JSON document into a Coveo Push source. See https://github.com/coveo/cli/wiki/Pushing-JSON-files-with-Coveo-CLI for more information.

USAGE
  $ coveo source:push:add SOURCEID
ARGUMENTS
  SOURCEID  The identifier of the source on which to perform the add operation. See source:list to obtain the
            identifier.
OPTIONS
  -c, --maxConcurrent=maxConcurrent  [default: 10] The maximum number of requests to send concurrently. Increasing this
                                     value increases the speed at which documents are indexed to the Coveo platform.
                                     However, if you run into memory or throttling issues, consider reducing this value.
  -f, --files=myfile.json            Combinaison of JSON files and folders (containing JSON files) to push. Can be
                                     repeated.
  -m, --[no-]createMissingFields     Analyse documents to detect and automatically create missing fields in the
                                     destination organization. When enabled, an error will be thrown if a field is used
                                     to store data of inconsistent type across documents.

See code: src/commands/source/push/add.ts

coveo source:push:delete SOURCEID

Delete one or multiple items in a given Push source. See https://docs.coveo.com/en/171 and https://docs.coveo.com/en/131

USAGE
  $ coveo source:push:delete SOURCEID
ARGUMENTS
  SOURCEID  The identifier of the Push source on which to perform the delete operation. To retrieve the list of
            available Push source identifiers, use the `source:push:list` command.
OPTIONS
  -c, --[no-]deleteChildren
      Whether to delete all items that share the same base URI as the specified item to delete.
  -d, --deleteOlderThan=2000-01-01T00:00:00-06:00 OR 1506700606240
      If this flag is set, all items that have been added or updated in the source before the specified ISO 8601 date or
      Unix timestamp in milliseconds will be deleted. The documents will be deleted using the default queueDelay, meaning
      they will stay in the index for about 15 minutes after being marked for deletion.
  -x, --delete=delete
      The URIs of the items to delete. Can be repeated. If you want to delete more than one specific items, use the
      `source:push:batch` command instead.

See code: src/commands/source/push/delete.ts

coveo source:push:list

[Deprecated] List all available push sources in your Coveo organization

USAGE
  $ coveo source:push:list
OPTIONS
  -x, --extended          show extra columns
  --columns=columns       only show provided columns (comma-separated)
  --csv                   output is csv format [alias: --output=csv]
  --filter=filter         filter property by partial string matching, ex: name=foo
  --no-header             hide table header from output
  --no-truncate           do not truncate output to fit screen
  --output=csv|json|yaml  output in a more machine friendly format
  --sort=sort             property to sort by (prepend '-' for descending)

See code: src/commands/source/push/list.ts

coveo source:push:new NAME

Create a new push source in a Coveo organization

USAGE
  $ coveo source:push:new NAME
ARGUMENTS
  NAME  The name of the source to create.
OPTIONS
  -v, --sourceVisibility=(PRIVATE|SECURED|SHARED)  [default: SECURED] Controls the content security option that should
                                                   be applied to the items in a source. See
                                                   https://docs.coveo.com/en/1779/index-content/content-security

See code: src/commands/source/push/new.ts

coveo ui:create:angular NAME

Create a Coveo Headless-powered search page with the Angular web framework. See https://docs.coveo.com/headless and https://angular.io/.

USAGE
  $ coveo ui:create:angular NAME
ARGUMENTS
  NAME  The name of the application to create.
OPTIONS
  -d, --defaults         Whether to automatically select the default value for all prompts that have a default value.
  -v, --version=version  [default: 1.28.0] The version of @coveo/angular to use.

See code: src/commands/ui/create/angular.ts

coveo ui:create:atomic NAME

Create a Coveo Headless-powered search page with Coveo’s own Atomic framework. See https://docs.coveo.com/atomic and https://docs.coveo.com/headless.

USAGE
  $ coveo ui:create:atomic NAME
ARGUMENTS
  NAME  The name of the application to create.
OPTIONS
  -v, --version=version  [default: 1.28.0] The version of @coveo/create-atomic to use.
  -p, --pageId=id The hosted search page ID, e.g. "7944ff4a-9943-4999-a3f6-3e81a7f6fb0a".
EXAMPLE
  $ coveo ui:create:atomic myapp

See code: src/commands/ui/create/atomic.ts

coveo ui:create:react NAME

Create a Coveo Headless-powered search page with the React web framework. See https://docs.coveo.com/headless and https://reactjs.org/.

USAGE
  $ coveo ui:create:react NAME
ARGUMENTS
  NAME  The name of the application to create.
OPTIONS
  -v, --version=version  [default: 1.28.0] Version of @coveo/cra-template to use.
EXAMPLES
  $ coveo ui:create:react myapp
  $ coveo ui:create:react --help

See code: src/commands/ui/create/react.ts

coveo ui:create:vue NAME

Create a Coveo Headless-powered search page with the Vue.js web framework. See https://docs.coveo.com/headless and https://vuejs.org/.

USAGE
  $ coveo ui:create:vue NAME
ARGUMENTS
  NAME  The name of the application to create.
OPTIONS
  -p, --preset=path      The path to a JSON file with pre-defined options and plugins for creating a new project.
                         If not specified, the default TypeScript preset is used.
                         For more information about Vue CLI presets, see
                         https://cli.vuejs.org/guide/plugins-and-presets.html#presets.
  -v, --version=version  [default: 1.28.1] The version of @coveo/vue-cli-plugin-typescript to use.
EXAMPLES
  $ coveo ui:create:vue --preset path/to/my/preset.json
  $ coveo ui:create:vue --help

See code: src/commands/ui/create/vue.ts

coveo update [CHANNEL]

update the coveo CLI

USAGE
  $ coveo update [CHANNEL]
OPTIONS
  -a, --available        Install a specific version.
  -i, --interactive      Interactively select version to install. This is ignored if a channel is provided.
  -v, --version=version  Install a specific version.
  --force                Force a re-download of the requested version.
EXAMPLES
  [object Object]
  [object Object]
  [object Object]
  [object Object]

See code: @oclif/plugin-update

coveo version

USAGE
  $ coveo version

See code: @oclif/plugin-version

What's Next for Me?