# App Commands All app-related commands are grouped under `finqu app`. Use them to create apps, link a local project to an app, manage releases and publishing, and forward realtime webhook events to your development server. ## Typical Workflow 1. Create a new app with `finqu app create`. 2. Link your local project with `finqu app link` so later commands can resolve the app automatically. 3. Inspect or update metadata with `finqu app info` and `finqu app update`. 4. Release and publish when ready with `finqu app release` and `finqu app publish`. 5. Forward webhook traffic locally with `finqu app listen` during development. ## Working With Linked Apps Commands that operate on an existing app accept `--app-id `. If you omit it, the CLI uses the app linked in your configuration. --- ## Create and Connect ### `finqu app create` Creates a new draft app and scaffolds a project directory. ```bash finqu app create [name] ``` | Option | Description | Default | | --------------------------- | ------------------ | -------------------------------------------- | | `--name ` | App display name | | | `--base-uri ` | HTTP base URI | `http://localhost:3000` | | `--install-endpoint ` | Install endpoint | `/api/install` | | `--redirect-uri ` | OAuth redirect URI | `http://localhost:3000/api/install/callback` | Any missing values are prompted interactively. ### `finqu app link` Links the current project to an existing app. ```bash finqu app link ``` This stores the app ID in your configuration so later commands can resolve it automatically. --- ## Inspect and Update ### `finqu app list` Lists all your apps. ```bash finqu app list ``` The output includes app ID, name, handle, status, and version. The currently linked app is marked with `●`. ### `finqu app info` Shows details for a single app. ```bash finqu app info ``` | Option | Description | | --------------- | ------------- | | `--app-id ` | Target app ID | Displays name, handle, ID, publish status, version, client ID, redirect URIs, base URI, and version history. ### `finqu app update` Updates app configuration or listing data. ```bash finqu app update ``` | Option | Description | | ------------------------ | ------------------------------------------------------------------ | | `--app-id ` | Target app ID | | `--configuration ` | Configuration as JSON string | | `--listing ` | Listing data as JSON string | | `--redirect-uri ` | OAuth redirect URI; use `\|` as a separator for multiple values | | `--locations ` | ISO country codes to restrict availability; omit for all locations | ### `finqu app delete` Deletes an app. ```bash finqu app delete ``` | Option | Description | | --------------- | ------------- | | `--app-id ` | Target app ID | Draft apps are deleted immediately. Published apps are scheduled for deletion. --- ## Release and Distribution ### `finqu app release` Creates a new app version. ```bash finqu app release ``` | Option | Description | | --------------------- | ----------------------------------------------- | | `--app-id ` | Target app ID | | `--version ` | Explicit version in `MAJOR.MINOR.PATCH` format | | `--type ` | Version bump type: `major`, `minor`, or `patch` | | `--changelog ` | Release notes | ### `finqu app publish` Publishes the app to the app store. ```bash finqu app publish ``` | Option | Description | | --------------- | ------------- | | `--app-id ` | Target app ID | ### `finqu app unpublish` Removes the app from the app store. ```bash finqu app unpublish ``` | Option | Description | | --------------- | ------------- | | `--app-id ` | Target app ID | ### `finqu app share` Gets or creates a share link for the app. ```bash finqu app share ``` | Option | Description | | --------------- | ------------- | | `--app-id ` | Target app ID | ### `finqu app rotate-secret` Rotates the OAuth client secret. ```bash finqu app rotate-secret ``` | Option | Description | | --------------- | ------------- | | `--app-id ` | Target app ID | The CLI prints the new client secret after rotation. --- ## Local Webhook Forwarding ### `finqu app listen` Connects to Finqu realtime webhooks and forwards event envelopes to a local URL. ```bash finqu app listen ``` | Option | Description | Default | | ---------------------- | ------------------------------------------------------------------------------- | ------------------------ | | `--url ` | Local webhook receiver URL | `http://localhost:3000/` | | `--realtime-url ` | Realtime websocket URL override | | | `--topic ` | Only forward matching topics; accepts space-separated or comma-separated values | | This command requires authentication via `finqu sign-in` and handles graceful shutdown on `SIGINT` and `SIGTERM`. ### Examples ```bash # Forward all webhook events to the default local URL finqu app listen # Forward to a custom local URL finqu app listen --url http://localhost:4000/ # Only forward specific topics finqu app listen --topic orders/create orders/activate # Override the realtime websocket endpoint finqu app listen --realtime-url wss:///ws/webhooks ``` ### `finqu app replay` Replay or list buffered webhook events received during the current or previous listener session. ```bash finqu app replay ``` | Option | Description | Default | | --------------------- | ------------------------------------------------------ | ----------------------- | | `--url ` | Local webhook receiver URL | `http://localhost:3000` | | `--topic ` | Only replay matching topics (space or comma separated) | | | `--index ` | Replay a specific event by its index (see `--list`) | | | `--list` | List buffered events without replaying | | Events are persisted to a `.finqu-webhooks.json` file in the working directory, so replay works from a separate terminal and across listener restarts. ### Examples ```bash # List all buffered events with their indices finqu app replay --list # Replay all buffered events finqu app replay # Replay a specific event by index finqu app replay --index 3 # Replay only events matching a topic finqu app replay --topic orders/create # Replay to a custom URL finqu app replay --url http://localhost:4000/hooks --index 1 ``` ---