Install the CLI
The Convoy CLI can be installed directly from your package manager or by building from the GitHub source:- Mac
- Linux
- Windows
- Source
Install the Convoy CLI to your Mac from brew:
terminal
Using the CLI
To view the list of the available commands at any time, just runconvoy in your terminal with no arguments:
terminal
convoy --help on your installed binary for the full list for that version.
To get help for a subcommand, pass -h (for example convoy agent -h).
Historical CLI commands
Older docs referred toconvoy worker, convoy ingest, convoy stream, and convoy scheduler. Current Convoy exposes convoy server for the control-plane HTTP API and convoy agent for the data plane (queue consumers, broker ingest, and data-plane HTTP including /metrics on server.http.agent_port). A common local layout is convoy server on the API port and convoy agent on the agent port—for example 5005 / 5008 in docker-compose.dev.yml. See the core gateway changelog for the unified agent change.
Bootstrap
Command:convoy bootstrap
Synopsis
terminal
Description
The bootstrap creates a new user account.Command Flags
--help: Get help on the bootstrap command.
Migrate
Command:convoy migrate
Synopsis
terminal
Description
The migrate command is responsible for running pending migrations and rolling back migrations.Command Flags
down: Rollback migrations.up: Run all pending migrations
Config
Command:convoy config
Synopsis
terminal
Description
The config command outputs the configuration for your active instances.Command Flags
--help: Get help on theconfigcommand.
Server
Command:convoy server
Synopsis
terminal
convoy server --help on your binary for the full list.
Description
Theserver command runs Convoy’s control-plane HTTP API (dashboard, configuration, and management endpoints). For split deployments, run convoy agent separately for the data plane (ingest, queue consumers, and data-plane HTTP on server.http.agent_port). See Historical CLI commands above.
Command Flags
--port: HTTP port for the control server (overridesserver.http.portin config when set).--api-auth/--basic-auth: Optional inline API key or basic-auth credentials for the server process.--cache,--limiter: Redis vs in-memory cache and rate limiter backends.--env,--logger,--host,--root-path: Process environment, logging, hostname, and path prefix behind a reverse proxy.--max-response-size: Cap on stored subscriber response payload size (see configuration).--native: Enable native-realm authentication.--promaddr: Appears onconvoy server --helpas “Prometheus dsn”; it is not passed through inbuildServerCliConfigurationin current source—use root metrics flags /convoy.jsonfor Prometheus settings instead.--proxy: Outbound HTTP proxy for the server process.--ssl,--ssl-cert-file,--ssl-key-file: TLS for the control HTTP server.
Agent
Command:convoy agent
Synopsis
terminal
convoy agent --help on your binary for the full list.
Description
Theagent command runs the data plane: queue consumers, broker-backed ingest (where configured), notification paths that need SMTP, and the data-plane HTTP server on server.http.agent_port (CLI --port overrides that value when non-zero). Run one or more agent replicas alongside convoy server; docker-compose.dev.yml maps this to service agent (for example port 5008).
Command Flags
--port: Agent HTTP port (maps toserver.http.agent_port/AGENT_PORTin config).--consumers: Consumer pool size when set to a non-negative value (otherwise config defaults apply).--interval: Seconds between in-memory config syncs from the database.--mode: Worker execution mode:events,retry, ordefault(see configuration / license notes for your build).--smtp-*: SMTP settings for notification email from the agent process.
Retry
Command:convoy retry
Synopsis
terminal
Description
At core, convoy is an asynchronous messaging service. It relies on message brokers to carry out its duty. This command is used to filter event deliveries that match the filters set; it will purge the queues for all matched event deliveries and re-enqueue them all.Command Flags
-
--status: This is used to specify the status of event delivery to re-queue. -
--time: This is used to specify how far in the past to look for event deliveries. It accepts a duration string. Duration strings are like integers followed by a time unit. E.g.1h,300ms, or2h45metc.