Installation
Azure DevOps
-
Visit the Epi CLI Task page on Azure Marketplace.
-
Click Get it free and add it to your organization.
-
Include the Epi CLI task in your pipeline:
steps: - task: EpiCli@1 -
Verify the installation by running:
steps: - script: epi -h
GitHub
-
Add the Epi CLI action to your workflow:
steps: - uses: tuyen-at-work/epi-cli-action@master -
Verify the installation by running:
steps: - run: epi -h
Local Installation
MacOS and Linux
Linux users — The
unzippackage is required to install Epi CLI. Usesudo apt install unzipto installunzippackage. Kernel version 5.6 or higher is strongly recommended, but the minimum is 5.1. Useuname -rto check Kernel version.
curl -fsSL https://cli.eshn.dev/install.sh | bash # for macOS, Linux, and WSL
Windows
To install, paste this into a terminal:
powershell -c "irm cli.eshn.dev/install.ps1 | iex"
epi command
Usage
epi [OPTIONS] <COMMAND>
Commands
storage
Storage commands.
Aliases: blob.
deployment
Deployment commands.
Aliases: deploy.
project
Project commands.
app
App commands.
Aliases: application, apps.
db
Database commands.
Aliases: database.
log
Log commands.
content-graph
Content Graph commands.
Aliases: contentgraph, cg.
Options
-r, –root <ROOT>
Directory to use as root of project.
Default: .
–pause
Pause the program after execution.
Aliases: wait.
–pause-if-error
Pause the program after execution if an error occurs.
Aliases: wait-if-error.
–proxy <PROXY>
Proxy server to use.
Example: --proxy http://localhost:8888.
–no-print
Do not print output.
–verbose
Verbose output.
–log-file-path <LOG_FILE_PATH>
Log file path.
Example: --log-file-path /path/to/log/epi-cli.log.
If omitted, the app will attempt to use the environment variable EPI_LOG_FILE_PATH, if exists.
–notification-endpoint <NOTIFICATION_ENDPOINT>
Notification endpoint.
Example: --notification-endpoint http://localhost:8080.
If omitted, the app will attempt to use the environment variable EPI_NOTIFICATION_ENDPOINT, then EPI_NOTIFICATION_URI, finally EPI_NOTIFICATION_URL, if any exist.
Aliases: notification-uri, notification-url.
-h, –help
Print help.
-V, –version
Print version.
epi project command
Project commands.
Usage
epi project <COMMAND>
Commands
list
List all projects.
add
Add a DXP project.
Aliases: connect.
update
Update a DXP project.
remove
Remove existing project.
help
Print this message or the help of the given subcommand(s).
Options
-h, –help
Print help.
epi project add command
Add a DXP project.
Usage
epi project add --name <NAME> --project-id <PROJECT_ID> --client-key <CLIENT_KEY> --client-secret <CLIENT_SECRET>
Examples
To add a new project to your configuration, use the following command with your project-specific credentials:
epi project add \
--name my-project \
--id 012345678-0123-1234-2345-0123456789012 \
--key 5XCxy0REu0W9A41bm9kiBQ0-btzZ8-0YqWItm5HOvaH_M9nl \
--secret JlIlfaFUuU6Q65bgQxAfawSBbFbnCLocOw_7nJDNTgScHt0FZTCGVmFJyXxGL3Cu
Important: Replace the example values above with the actual credentials from your Optimizely DXP project. You can find these values in your DXP project settings.
Options
–name <NAME>
The project name. You can choose any meaningful name, doesn’t neccessarily have to be the same as the project name in DXP.
Aliases: project.
–project-id <PROJECT_ID>
The ID (should be a guid) of the project. Get it from the DXP PaaS Portal.
Aliases: id.
–client-key <CLIENT_KEY>
The client key used to access the project. Get it from the DXP PaaS Portal.
Aliases: key.
–client-secret <CLIENT_SECRET>
The client secret used to access the project. Get it from the DXP PaaS Portal.
Aliases: secret.
-h, –help
Print help.
epi project list command
List all projects.
Usage
epi project list
Options
-h, –help
Print help.
epi project update command
Update a DXP project.
Usage
epi project update [OPTIONS] --name <NAME>
Options
–name <NAME>
The existing project name.
Aliases: project.
–new-name <NEW_NAME>
The new project name. You can choose any meaningful name, doesn’t neccessarily have to be the same as the project name in DXP.
–project-id <PROJECT_ID>
The Id (should be a guid) of the project.
Aliases: id.
–client-key <CLIENT_KEY>
The client key used to access the project.
Aliases: key.
–client-secret <CLIENT_SECRET>
The client secret used to access the project.
Aliases: secret.
-h, –help
Print help.
epi project remove command
Remove existing project.
Usage
epi project remove --project <PROJECT>
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
-h, –help
Print help.
epi deployment command
Deployment commands.
Usage
epi deployment <COMMAND>
Commands
get
Retrieves deployments that have been triggered via the deployment api for the specified project id.
await-status
Awaiting for all pending deployments to finish.
complete
This function will complete the specified code deployment.
start
Starts a code deployment for the specified project.
reset
Resets or completes resetting the specified deployment.
add-package
Will upload the specified file to the code package container by using a SAS link.
Aliases: addpackage.
get-package-location
Retrieves the location where deployment packages can be uploaded.
Aliases: getpackagelocation.
get-package-properties
Retrieves the properties of the specified deployment package.
Aliases: getpackageproperties, getpackage.
parse
Parse the deployment result.
help
Print this message or the help of the given subcommand(s).
Options
-h, –help
Print help.
epi deployment get-package-properties command
Retrieves the properties of the specified deployment package.
Usage
epi deployment get-package-properties --project <PROJECT> --name <NAME>
Examples
Get the properties of a deployment package:
epi deployment get-package-properties \
-p my-project \
-n my-project.cms.app.1.0.0.nupkg
Options
-p, –project <PROJECT>
The project name.
-n, –name <NAME>
The name of the deployment package.
-h, –help
Print help.
Remarks
If the package already exist, the CLI returns the package properties in JSON format. Below is an example of the output:
{
"packageName": "my-project.cms.app.1.0.0.nupkg",
"createdOn": "2025-07-10T07:47:04.0000000+00:00",
"contentHash": "DC9FE3AA5776C4D5503A198BA587557F"
}
epi deployment get-package-location command
Retrieves the location where deployment packages can be uploaded.
Usage
epi deployment get-package-location --project <PROJECT>
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
-h, –help
Print help.
epi deployment add-package command
Will upload the specified file to the code package container by using a SAS link.
Usage
epi deployment add-package [OPTIONS] --path <PATH>
Options
-u, –url <URL>
The Sas link contains access to storage account.
Aliases: sas-link, sas-url.
-p, –path <PATH>
The file name with full path.
-n, –blob-name <BLOB_NAME>
The name of Blob in the container.
Aliases: name.
-h, –help
Print help.
epi deployment start command
Starts a code deployment for the specified project.
Usage
epi deployment start [OPTIONS] --project <PROJECT> --target-environment <TARGET_ENVIRONMENT>
Examples
Deploy a package to the Integration environment:
epi deployment start \
--project my-project \
--deployment-package my-project.cms.app.1.0.0.nupkg \
--env Integration \
--direct-deploy true \
--use-maintainance-page true \
--wait true \
--show-progress true
Promote deployment package and content from Integration to Preproduction environment, including database and blob storage:
epi deployment start \
-p my-project \
--source-app cms \
--source-environment Integration \
--include-blob true \
--include-db true \
--target-environment Preproduction \
--wait true \
--show-progress true
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
–source-app <SOURCE_APP>
The source app(s) for the deployment (if no uploaded code package should be used).
Example: --source-app cms --source-app commerce.
Possible values: cms, commerce.
–source-environment <SOURCE_ENVIRONMENT>
The source environment for the deployment (if no uploaded code package should be used).
Possible values: integration, preproduction, production, ade1, ade2.
–deployment-package <DEPLOYMENT_PACKAGE>
The code package(s) being deployed.
Example: --deployment-package cms.app.1.0.0.nupkg --deployment-package cms.sqldb.1.bacpac.
Aliases: package.
–use-maintainance-page <USE_MAINTAINANCE_PAGE>
The flag to tell whether maintenance page is used during the deployment.
Default: false.
Possible values: true, false.
–zero-downtime-mode <ZERO_DOWNTIME_MODE>
What database mode to use on the primary web app.
If omitted, zero downtime mode will not be used.
Aliases: zero-down-time-mode.
Possible values: none, read-only, read-write, not-applicable.
–include-db <INCLUDE_DB>
Specify this switch to include the SQL DB from the source environment.
Default: false.
Possible values: true, false.
–include-blob <INCLUDE_BLOB>
Specify this switch to include blobs from the source environment.
Default: false.
Possible values: true, false.
–target-environment <TARGET_ENVIRONMENT>
The target environment to which the code should be deployed.
Aliases: target, env.
Possible values: integration, preproduction, production, ade1, ade2.
–direct-deploy <DIRECT_DEPLOY>
Specify this switch to speed up deployments to Integration/Development environment.
A deployment will be made directly to the target web app without performing a swap.
Attention: Resetting the deployment (or the database of the target environment) is not supported for DirectDeploy.
Default: false.
Possible values: true, false.
–wait <WAIT>
Specify this switch to enable “polling” of the deployment until it’s completed.
Default: false.
Possible values: true, false.
–show-progress <SHOW_PROGRESS>
Specify this switch to enable a progress bar indicating deployment progress.
Default: false.
Possible values: true, false.
–wait-timeout-minutes <WAIT_TIMEOUT_MINUTES>
The maximum amount of time, in minutes, to wait for the deployment to finish.
Default: 240.
–polling-interval-seconds <POLLING_INTERVAL_SECONDS>
How often, in seconds, to poll for deployment status.
Default: 30.
Aliases: polling-interval-sec.
–validate-links <VALIDATE_LINKS>
Specify this switch to validate the target site after the deployment.
Possible values: true, false.
–validation-default-link <VALIDATION_DEFAULT_LINK>
The default validation link(s) to use if no validation link is provided in the deployment result.
Example: --validation-default-link https://www.example.com --validation-default-link https://www.example2.com.
Note: these links will be ignored if DXP returns a validation link in the deployment result.
–validation-delay-seconds <VALIDATION_DELAY_SECONDS>
The maximum amount of time, in seconds, to wait for the validation to start.
Default: 10.
–validation-timeout-minutes <VALIDATION_TIMEOUT_MINUTES>
The maximum amount of time, in minutes, to wait for the validation to finish.
Default: 5.
–notification-type <NOTIFICATION_TYPE>
The notification type.
Aliases: type.
–notification-id <NOTIFICATION_ID>
The notification id.
–notification-channel <NOTIFICATION_CHANNEL>
The notification channel to send the notification to.
–notification-salt <NOTIFICATION_SALT>
The notification channel salt.
–notification-env <NOTIFICATION_ENV>
The environment name or ID.
–notification-branch <NOTIFICATION_BRANCH>
The branch name.
–notification-requested-for <NOTIFICATION_REQUESTED_FOR>
The user who requested the deployment.
–notification-run-url <NOTIFICATION_RUN_URL>
The pipeline run URL.
–notification-run-id <NOTIFICATION_RUN_ID>
The pipeline run ID.
–notification-run-attempt <NOTIFICATION_RUN_ATTEMPT>
The pipeline run attempt.
–notification-job-id <NOTIFICATION_JOB_ID>
The pipeline job ID.
–last-message <LAST_MESSAGE>
The encrypted message of the last notification.
Used to update the last notification in the specified channel, instead of creating a new one.
-h, –help
Print help.
Remarks
When the deployment completes successfully, the CLI returns the deployment results in JSON format. Below is an example of the output structure for a successful deployment:
{
"id": "caa3cfb8-741f-48d8-8658-4b36b3dae1bc",
"projectId": "f8e8e7cf-e08f-46b1-9fdd-38942681d80f",
"status": "AwaitingVerification",
"percentComplete": 100.0,
"validationLinks": [
"http://sample-link.dxcloud.episerver.net/"
],
"deploymentWarnings": [],
"deploymentErrors": [],
"parameters": {
"targetEnvironment": "Integration",
"maintenancePage": false,
"zeroDowntimeMode": "NotApplicable",
"packages": [
"my-project.cms.app.1.0.0.nupkg"
]
}
}
The id field is particularly important as it can be referenced in other deployment commands, such as complete or reset.
In case of error, the output will looks like below:
{
"errors": [
"Can not use DirectDeploy to Integration as there is already an on-going code deployment."
],
"result": null,
"success": false
}
epi deployment complete command
This function will complete the specified code deployment.
Usage
epi deployment complete [OPTIONS] --project <PROJECT> --id <ID>
Examples
Complete a deployment by providing the deployment ID. You can obtain this ID from the output of the epi deployment start command.
epi deployment complete \
-p my-project \
--id 012345678-0123-1234-2345-0123456789abc \
--wait true \
--show-progress true
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
–id <ID>
The Id (should be a guid) of the deployment that you want to complete.
–wait <WAIT>
Specify this switch to wait for the deployment to finish.
Default: false.
Possible values: true, false.
–show-progress <SHOW_PROGRESS>
Specify this switch to enable a progress bar indicating deployment progress.
Default: true.
Possible values: true, false.
–wait-timeout-minutes <WAIT_TIMEOUT_MINUTES>
The maximum amount of time, in minutes, to wait for the reset to finish.
Default: 240.
–polling-interval-seconds <POLLING_INTERVAL_SECONDS>
The time interval, in seconds, to check the deployment status.
Default: 30.
–notification-type <NOTIFICATION_TYPE>
The notification type.
Aliases: type.
–notification-id <NOTIFICATION_ID>
The notification id.
–notification-channel <NOTIFICATION_CHANNEL>
The notification channel to send the notification to.
–notification-salt <NOTIFICATION_SALT>
The notification channel salt.
–notification-env <NOTIFICATION_ENV>
The environment name or ID.
–notification-branch <NOTIFICATION_BRANCH>
The branch name.
–notification-requested-for <NOTIFICATION_REQUESTED_FOR>
The user who requested the deployment.
–notification-run-url <NOTIFICATION_RUN_URL>
The pipeline run URL.
–notification-run-id <NOTIFICATION_RUN_ID>
The pipeline run ID.
–notification-run-attempt <NOTIFICATION_RUN_ATTEMPT>
The pipeline run attempt.
–notification-job-id <NOTIFICATION_JOB_ID>
The pipeline job ID.
–last-message <LAST_MESSAGE>
The encrypted message of the last notification.
Used to update the last notification in the specified channel, instead of creating a new one.
-h, –help
Print help.
epi deployment reset command
Resets or completes resetting the specified deployment.
Usage
epi deployment reset [OPTIONS] --project <PROJECT> --id <ID>
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
–id <ID>
The Id (should be a guid) of the project.
–rollback-database <ROLLBACK_DATABASE>
Specify this switch to rollback database if maintenance mode was applied.
Default: false.
Possible values: true, false.
–validate-before-swap <VALIDATE_BEFORE_SWAP>
Specify this switch to validate the target site before completing the reset progress if maintenance mode was applied.
Default: false.
Possible values: true, false.
–complete <COMPLETE>
Specify this switch to complete resetting a deployment.
Default: false.
Possible values: true, false.
–wait <WAIT>
Specify this switch to wait for the deployment to finish.
Default: false.
Possible values: true, false.
–show-progress <SHOW_PROGRESS>
Specify this switch to enable a progress bar indicating deployment progress.
Default: true.
Possible values: true, false.
–wait-timeout-minutes <WAIT_TIMEOUT_MINUTES>
The maximum amount of time, in minutes, to wait for the reset to finish.
Default: 240.
–polling-interval-seconds <POLLING_INTERVAL_SECONDS>
The time interval, in seconds, to check the deployment status.
Default to 30 seconds.
Default: 30.
–notification-type <NOTIFICATION_TYPE>
The notification type.
Aliases: type.
–notification-id <NOTIFICATION_ID>
The notification id.
–notification-channel <NOTIFICATION_CHANNEL>
The notification channel to send the notification to.
–notification-salt <NOTIFICATION_SALT>
The notification channel salt.
–notification-env <NOTIFICATION_ENV>
The environment name or ID.
–notification-branch <NOTIFICATION_BRANCH>
The branch name.
–notification-requested-for <NOTIFICATION_REQUESTED_FOR>
The user who requested the deployment.
–notification-run-url <NOTIFICATION_RUN_URL>
The pipeline run URL.
–notification-run-id <NOTIFICATION_RUN_ID>
The pipeline run ID.
–notification-run-attempt <NOTIFICATION_RUN_ATTEMPT>
The pipeline run attempt.
–notification-job-id <NOTIFICATION_JOB_ID>
The pipeline job ID.
–last-message <LAST_MESSAGE>
The encrypted message of the last notification.
Used to update the last notification in the specified channel, instead of creating a new one.
-h, –help
Print help.
epi deployment await-status command
Awaiting for all pending deployments to finish.
Typical use case is avoid starting a new deployment until the previous one is finished.
Usage
epi deployment await-status [OPTIONS] --project <PROJECT> --environment <ENVIRONMENT>
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
–environment <ENVIRONMENT>
The environment to check the status of the deployment.
Aliases: env.
Possible values: integration, preproduction, production, ade1, ade2.
–wait-timeout-minutes <WAIT_TIMEOUT_MINUTES>
The maximum amount of time, in minutes, to wait for the reset to finish.
Default: 240.
–polling-interval-seconds <POLLING_INTERVAL_SECONDS>
The time interval, in seconds, to check the deployment status.
Default: 30.
–last-message <LAST_MESSAGE>
The encrypted message of the last notification.
Used to update the last notification in the specified channel, instead of creating a new one.
-h, –help
Print help.
epi deployment get command
Retrieves deployments that have been triggered via the deployment api for the specified project id.
Usage
epi deployment get --project <PROJECT> --id <ID>
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
–id <ID>
The Id (should be a guid) of the deployment.
-h, –help
Print help.
epi db command
Database commands.
Usage
epi db <COMMAND>
Commands
export
Starts a database export for the specified project, environment and database combination.
get-export
Retrieves information for the specified database export.
Aliases: getexport.
help
Print this message or the help of the given subcommand(s).
Options
-h, –help
Print help.
epi db export command
Starts a database export for the specified project, environment and database combination.
Usage
epi db export [OPTIONS] --project <PROJECT> --environment <ENVIRONMENT>
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
–environment <ENVIRONMENT>
The environment that the database belongs to.
Aliases: env.
Possible values: integration, preproduction, production, ade1, ade2.
–database-name <DATABASE_NAME>
The name of the database that will be exported.
Default: epi-cms.
Aliases: dbname.
Possible values: epi-cms, epi-commerce.
–retention-hours <RETENTION_HOURS>
Total hours that the bacpac will be retained.
Default: 168.
–wait <WAIT>
Specify this switch to enable “polling” of the export until it’s completed.
Default: true.
Possible values: true, false.
–show-progress <SHOW_PROGRESS>
Specify this switch to enable a progress text indicating export progress.
Default: true.
Possible values: true, false.
–wait-timeout-minutes <WAIT_TIMEOUT_MINUTES>
The maximum amount of time, in minutes, to wait for the export to finish.
Default: 240.
–polling-interval-seconds <POLLING_INTERVAL_SECONDS>
How often, in seconds, to poll for export status.
Default: 30.
-h, –help
Print help.
epi db get-export command
Retrieves information for the specified database export.
Usage
epi db get-export [OPTIONS] --project <PROJECT> --environment <ENVIRONMENT> --id <ID>
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
–environment <ENVIRONMENT>
The environment that the exported database belongs to.
Aliases: env.
Possible values: integration, preproduction, production, ade1, ade2.
–database-name <DATABASE_NAME>
The name of the exported database.
Default: epi-cms.
Aliases: dbname.
Possible values: epi-cms, epi-commerce.
–id <ID>
The Id (should be a guid) of the database export.
-h, –help
Print help.
epi storage command
Storage commands.
Usage
epi storage <COMMAND>
Commands
get-container
Retrieves list of blob storage containers for specified project id and environment.
Aliases: getcontainer.
get-sas-link
Retrieves SAS link for specified project id, environment, blob storage container and retention hours.
Aliases: getsaslink.
help
Print this message or the help of the given subcommand(s).
Options
-h, –help
Print help.
epi storage get-container command
Retrieves list of blob storage containers for specified project id and environment.
Usage
epi storage get-container [OPTIONS] --project <PROJECT> --environment <ENVIRONMENT>
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
–environment <ENVIRONMENT>
The environment name.
Aliases: env.
Possible values: integration, preproduction, production, ade1, ade2.
–writable <WRITABLE>
Retrieves writable SAS link for writable blob storage containers.
Default: false.
Possible values: true, false.
-h, –help
Print help.
epi storage get-sas-link command
Retrieves SAS link for specified project id, environment, blob storage container and retention hours.
Usage
epi storage get-sas-link [OPTIONS] --project <PROJECT> --environment <ENVIRONMENT>
Options
-p, –project <PROJECT>
The project name.
Aliases: name.
–environment <ENVIRONMENT>
The environment name.
Aliases: env.
Possible values: integration, preproduction, production, ade1, ade2.
–storage-container <STORAGE_CONTAINER>
The blob storage container name.
Default: mysitemedia.
–retention-hours <RETENTION_HOURS>
Total hours for which sas link will be retained.
Default: 24.
–writable <WRITABLE>
Retrieves writable SAS link for writable blob storage containers.
Default: false.
Possible values: true, false.
-h, –help
Print help.
epi log command
Log commands.
Usage
epi log <COMMAND>
Commands
export
Get logs for the specified project.
Aliases: get.
get-edge-logs-location
Retrieves the location of the edge logs.
Aliases: get-edge-logs.
convert
Convert log file from JSON format to text format.
clear-empty-lines
Clear empty lines.
Aliases: trim.
help
Print this message or the help of the given subcommand(s).
Options
-h, –help
Print help.
epi log export command
Get logs for the specified project.
Usage
epi log export [OPTIONS] --environment <ENVIRONMENT>
Examples
Export logs from the Integration environment for the last 2 days. This command retrieves logs from a specific project and environment within a defined time range, using timezone offset and parallel processing for efficient log extraction.
epi log get \
--project my-project \
--env Integration \
--from-last-days 2 \
--from-last-hours 0 \
--to-last-days 0 \
--to-last-hours 0 \
--timezone 7 \
--thread-count 32
Options
-p, –project <PROJECT>
The project name.
–environment <ENVIRONMENT>
The environment name.
Aliases: env.
Possible values: integration, preproduction, production, ade1, ade2.
-u, –url <URL>
The SAS link contains access to storage account.
Aliases: sas-link, sas-url.
–from-last-days <FROM_LAST_DAYS>
From N days ago.
Default: 0.
Aliases: fld.
–from-last-hours <FROM_LAST_HOURS>
From N hours ago.
Default: 2.
Aliases: flh.
–to-last-days <TO_LAST_DAYS>
To N days ago.
Default: 0.
Aliases: tld.
–to-last-hours <TO_LAST_HOURS>
To N hours ago.
Default: 0.
Aliases: tlh.
–timezone-hours <TIMEZONE_HOURS>
The target timezone offset in hours.
Aliases: timezone, tz.
–thread-count <THREAD_COUNT>
The number of threads to use for processing logs.
Default: 32.
-h, –help
Print help.
epi log get-edge-logs-location command
Retrieves the location of the edge logs.
Usage
epi log get-edge-logs-location --project <PROJECT>
Options
-p, –project <PROJECT>
The project name.
-h, –help
Print help.
epi log convert command
Convert log file from JSON format to text format.
Usage
epi log convert [OPTIONS]
Options
-o, –message-only <MESSAGE_ONLY>
No timestamp in the output.
Default: false.
Possible values: true, false.
–remove <REMOVE>
Remove logs with specified message.
–regex <REGEX>
Apply regex to remove logs with specified message.
Default: false.
Possible values: true, false.
–reset <RESET>
Clear previously set remove filters.
Default: false.
Possible values: true, false.
–global <GLOBAL>
Share remove filters for the future conversions.
Default: false.
Possible values: true, false.
–timezone-hours <TIMEZONE_HOURS>
The target timezone offset in hours.
Aliases: timezone, tz.
-h, –help
Print help.
epi log clear-empty-lines command
Clear empty lines.
Usage
epi log clear-empty-lines
Options
-h, –help
Print help.
epi app command
App commands.
Usage
epi app <COMMAND>
Commands
list
List all apps.
add
Add an app.
Aliases: connect.
update
Update a DXP app.
remove
Remove existing app.
help
Print this message or the help of the given subcommand(s).
Options
-h, –help
Print help.
epi app add command
Add an app.
Usage
epi app add [OPTIONS] --name <NAME> --app-key <APP_KEY> --app-secret <APP_SECRET>
Options
–name <NAME>
The app name. You can choose any meaningful name, doesn’t neccessarily have to be the same as the app name in DXP.
Aliases: app.
–dev-mode <DEV_MODE>
Whether to use the development endpoint.
Default: false.
Aliases: dev, development.
Possible values: true, false.
–app-key <APP_KEY>
The app key used to access the app.
Aliases: key, management_key.
–app-secret <APP_SECRET>
The app secret used to access the app.
Aliases: secret, management_secret.
–single-key <SINGLE_KEY>
The single key used to query the content.
Aliases: delivery_key.
-h, –help
Print help.
epi app list command
List all apps.
Usage
epi app list
Options
-h, –help
Print help.
epi app update command
Update a DXP app.
Usage
epi app update [OPTIONS] --name <NAME>
Options
–name <NAME>
The existing app name.
Aliases: app.
–new-name <NEW_NAME>
The new app name. You can choose any meaningful name, doesn’t neccessarily have to be the same as the app name in DXP.
–dev-mode <DEV_MODE>
Whether to use the development endpoint.
Default: false.
Aliases: dev, development.
Possible values: true, false.
–app-key <APP_KEY>
The app key used to access the app.
Aliases: key, management_key.
–app-secret <APP_SECRET>
The app secret used to access the app.
Aliases: secret, management_secret.
–single-key <SINGLE_KEY>
The single key used to query the content.
Aliases: delivery_key.
-h, –help
Print help.
epi app remove command
Remove existing app.
Usage
epi app remove --app <APP>
Options
-a, –app <APP>
The app name.
Aliases: name.
-h, –help
Print help.
epi content-graph command
Content Graph commands.
Usage
epi content-graph <COMMAND>
Commands
list-hooks
List hooks.
Aliases: list.
add-hook
Add hook.
Aliases: add, create.
remove-hook
Delete hook.
Aliases: delete-hook, remove, delete.
get-schema
Get schema.
Aliases: schema.
get-routes
Get routes.
Aliases: routes.
help
Print this message or the help of the given subcommand(s).
Options
-h, –help
Print help.
epi content-graph add-hook command
Add hook.
Usage
epi content-graph add-hook [OPTIONS] --app <APP> --url <URL>
Examples
Add a webhook that listens for doc.updated OR bulk.completed events, filtering for documents with a Published status AND matching a specific siteId:
epi cg add \
--app dev \
--url https://domain.com/api/content/publish?token=MY_PUBLISH_TOKEN \
--topic doc.updated \
--topic bulk.completed \
--filter '{ "status": { "eq": "Published" }, "siteId": { "eq": "site_id" } }'
Add a webhook that listens for all events, filtering for documents that have Published OR Draft status:
epi cg add \
--app dev \
--url https://domain.com/api/content/publish?token=MY_PUBLISH_TOKEN \
--topic '*.*' \
--filter '{ "status": { "eq": "Published" } }' \
--filter '{ "status": { "eq": "Draft" } }'
Options
-a, –app <APP>
The app name.
Aliases: name.
–url <URL>
The URL of the hook.
Aliases: url.
–method <METHOD>
The HTTP method for the hook.
Default: POST.
Aliases: method.
–disabled <DISABLED>
Whether the hook is disabled.
Possible values: true, false.
–topic <TOPIC>
The topics to subscribe to.
–filter <FILTER>
Optional filters for the hook.
–preset <PRESET>
Optional preset for the hook.
Default: next.
-h, –help
Print help.
epi content-graph list-hooks command
List hooks.
Usage
epi content-graph list-hooks --app <APP>
Options
-a, –app <APP>
The app name.
Aliases: name.
-h, –help
Print help.
epi content-graph remove-hook command
Delete hook.
Usage
epi content-graph remove-hook --app <APP> --hook-id <HOOK_ID>
Options
-a, –app <APP>
The app name.
Aliases: name.
–hook-id <HOOK_ID>
The ID of the hook to delete.
Aliases: id.
-h, –help
Print help.
epi content-graph get-schema command
Get schema.
Usage
epi content-graph get-schema --app <APP>
Options
-a, –app <APP>
The app name.
Aliases: name.
-h, –help
Print help.
epi content-graph get-routes command
Get routes.
Usage
epi content-graph get-routes [OPTIONS] --app <APP>
Options
-a, –app <APP>
The app name.
Aliases: name.
–skip <SKIP>
Amount of results to skip.
Default: 0.
–limit <LIMIT>
Maximum number of results to return.
Default: 100.
–type <TYPE>
The type to filter by.
Default: _Page.
–domain <DOMAIN>
The domain to filter by.
–must-have-domain <MUST_HAVE_DOMAIN>
Whether to include only routes that must have a domain.
Default: false.
Possible values: true, false.
–changeset <CHANGESET>
The changeset to filter by.
-h, –help
Print help.