### Quick start installation and authentication Source: https://docs.hooklistener.com/cli/overview Installs the CLI via Homebrew, authenticates the user, and starts listening for webhooks. ```bash # Install brew tap hooklistener/tap brew install hooklistener # Authenticate hooklistener login # Forward webhooks to localhost hooklistener listen my-endpoint ``` -------------------------------- ### Example workflow for local webhook testing Source: https://docs.hooklistener.com/cli/listen A sequence showing how to start a local server and configure the hooklistener to forward webhooks to a specific API route. ```bash # 1. Start your local server npm run dev # or whatever starts your app on port 3000 # 2. Forward webhooks to it hooklistener listen stripe-webhooks --target http://localhost:3000/api/webhooks # 3. Trigger a webhook from your provider (e.g., Stripe) # 4. See it appear in the TUI and hit your local server ``` -------------------------------- ### Basic tunnel usage Source: https://docs.hooklistener.com/cli/tunnel Examples of starting a tunnel with default settings, specific ports, hosts, or persistent subdomains. ```bash # Tunnel to localhost:3000 (default) hooklistener tunnel # Tunnel to a specific port hooklistener tunnel --port 8080 # Tunnel to a specific host and port hooklistener tunnel --host 127.0.0.1 --port 5000 # Use a persistent subdomain (paid plans) hooklistener tunnel --slug my-cool-app ``` -------------------------------- ### Quick install script for Windows Source: https://docs.hooklistener.com/cli/installation Use the provided PowerShell script to quickly install the CLI on Windows. ```powershell irm https://raw.githubusercontent.com/hooklistener/hooklistener-cli/main/scripts/install.ps1 | iex ``` -------------------------------- ### Install via Homebrew Source: https://docs.hooklistener.com/cli/installation Use Homebrew to install the Hooklistener CLI on macOS or Linux. ```bash brew tap hooklistener/tap brew install hooklistener ``` -------------------------------- ### API key format example Source: https://docs.hooklistener.com/platform/api-keys Shows the format of a Hooklistener API key, which starts with the 'hklst_' prefix. ```text hklst_a1b2c3d4e5f6g7h8i9j0... ``` -------------------------------- ### Install via npm Source: https://docs.hooklistener.com/cli/installation Install the Hooklistener CLI globally using npm. ```bash npm install -g hooklistener ``` -------------------------------- ### Quick install script for macOS/Linux Source: https://docs.hooklistener.com/cli/installation Use the provided shell script to quickly install the CLI on macOS or Linux. ```bash curl -fsSL https://raw.githubusercontent.com/hooklistener/hooklistener-cli/main/scripts/install.sh | sh ``` -------------------------------- ### Install Bash completions (system-wide) Source: https://docs.hooklistener.com/cli/shell-completions Installs completions system-wide using sudo tee to write to /etc/bash_completion.d. ```bash hooklistener completions bash | sudo tee /etc/bash_completion.d/hooklistener > /dev/null ``` -------------------------------- ### Verify installation Source: https://docs.hooklistener.com/cli/installation Check the installed version of the Hooklistener CLI. ```bash hooklistener --version ``` -------------------------------- ### Get organization plan curl request and response Source: https://docs.hooklistener.com/api/organizations Example request to get the organization plan and the expected JSON response. ```bash curl https://app.hooklistener.com/api/v1/organizations/org_abc123/plan \ -H "Authorization: Bearer hklst_your_api_key" ``` ```json { "plan": { "name": "Pro", "features": { "max_endpoints": 50, "max_monitors": 20, "csv_export": true, "request_comparison": true, "static_tunnels": true, "audit_log": true } } } ``` -------------------------------- ### Send requests to endpoint URL Source: https://docs.hooklistener.com/webhook-inspector/create-endpoint Examples of POST, GET, and PUT requests to the endpoint URL, demonstrating that all HTTP methods are supported. ```bash # POST request curl -X POST https://app.hooklistener.com/w/stripe-webhooks \ -H "Content-Type: application/json" \ -d '{"type": "payment_intent.succeeded"}' # GET request with query parameters curl "https://app.hooklistener.com/w/stripe-webhooks?verify=true" # PUT request curl -X PUT https://app.hooklistener.com/w/stripe-webhooks \ -H "Content-Type: application/xml" \ -d 'updated' ``` -------------------------------- ### Get a request - response Source: https://docs.hooklistener.com/api/requests Example JSON response for retrieving a single request. Includes headers, body, and query parameters. ```json { "data": { "id": "req_def456", "method": "POST", "url": "/w/stripe-webhooks", "path": "/w/stripe-webhooks", "headers": { "content-type": "application/json", "stripe-signature": "t=1234,v1=...", "user-agent": "Stripe/1.0" }, "body": "{\"type\":\"payment_intent.succeeded\",\"data\":{}}", "query_params": {}, "remote_address": "54.187.174.169", "content_length": 1234, "inserted_at": "2025-01-15T11:00:00Z" } } ``` -------------------------------- ### Install via Cargo Source: https://docs.hooklistener.com/cli/installation Install the Hooklistener CLI using Cargo. Requires Rust 1.75 or higher. ```bash cargo install hooklistener-cli ``` -------------------------------- ### Install Bash completions (user) Source: https://docs.hooklistener.com/cli/shell-completions Installs completions for the current user by writing the generated script to the bash-completion directory. ```bash hooklistener completions bash > ~/.local/share/bash-completion/completions/hooklistener ``` -------------------------------- ### Install and Use Hooklistener CLI to Forward Webhooks Source: https://docs.hooklistener.com/quickstart Install the CLI via Homebrew, authenticate, and forward captured webhooks to a local development server. Every webhook hitting your endpoint is forwarded in real time with a full interactive TUI. ```bash # Install via Homebrew brew tap hooklistener/tap brew install hooklistener # Authenticate hooklistener login # Forward webhooks to localhost:3000 hooklistener listen my-first-endpoint --target http://localhost:3000 ``` -------------------------------- ### Install Elvish completions Source: https://docs.hooklistener.com/cli/shell-completions Writes the Elvish completion script to ~/.elvish/lib/hooklistener.elv. ```elvish hooklistener completions elvish > ~/.elvish/lib/hooklistener.elv ``` -------------------------------- ### Manual binary installation Source: https://docs.hooklistener.com/cli/installation Move the downloaded binary to a directory in your PATH on macOS or Linux. ```bash # macOS / Linux sudo mv hooklistener /usr/local/bin/hooklistener ``` -------------------------------- ### Get a monitor request Source: https://docs.hooklistener.com/api/uptime-monitors Example cURL request to get a specific monitor. ```bash curl https://app.hooklistener.com/api/v1/uptime-monitors/mon_abc123 \ -H "Authorization: Bearer hklst_your_api_key" ``` -------------------------------- ### Install Fish completions Source: https://docs.hooklistener.com/cli/shell-completions Writes the Fish completion script to the fish completions directory. ```fish hooklistener completions fish > ~/.config/fish/completions/hooklistener.fish ``` -------------------------------- ### Get a request - curl example Source: https://docs.hooklistener.com/api/requests Curl command to retrieve a specific request. Requires an API key in the Authorization header. ```bash curl https://app.hooklistener.com/api/v1/endpoints/ep_abc123/requests/req_def456 \ -H "Authorization: Bearer hklst_your_api_key" ``` -------------------------------- ### Scripting example: get webhook URL and count endpoints Source: https://docs.hooklistener.com/cli/json-output Shell script using `hooklistener --json` with `jq` to extract the webhook URL for an endpoint and count endpoints. Demonstrates piping JSON output to `jq` for scripting. ```bash # Get the webhook URL for an endpoint WEBHOOK_URL=$(hooklistener --json endpoint show ep_abc123 | jq -r '.webhook_url') echo "Send webhooks to: $WEBHOOK_URL" # Count endpoints ENDPOINT_COUNT=$(hooklistener --json endpoint list | jq length) echo "You have $ENDPOINT_COUNT endpoints" ``` -------------------------------- ### Create a monitor request Source: https://docs.hooklistener.com/api/uptime-monitors Example cURL request to create a new monitor. ```bash curl -X POST https://app.hooklistener.com/api/v1/uptime-monitors \ -H "Authorization: Bearer hklst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "uptime_monitor": { "name": "Production API", "url": "https://api.example.com/health", "method": "GET", "check_interval": 5, "expected_status_code": 200, "timeout_ms": 30000 } }' ``` -------------------------------- ### Install PowerShell completions Source: https://docs.hooklistener.com/cli/shell-completions Appends the PowerShell completion script to the user's PowerShell profile. ```powershell hooklistener completions powershell >> $PROFILE ``` -------------------------------- ### List monitors request Source: https://docs.hooklistener.com/api/uptime-monitors Example cURL request to list all uptime monitors. ```bash curl https://app.hooklistener.com/api/v1/uptime-monitors \ -H "Authorization: Bearer hklst_your_api_key" ``` -------------------------------- ### Case Run Response Example Source: https://docs.hooklistener.com/api/request-cases JSON response structure returned after initiating a case run. ```json { "data": { "case_suite_run_id": "run_abc123", "case_suite_run_url": "/api/v1/case-runs/run_abc123", "endpoint_id": "ep_abc123", "queued_count": 3, "failed_count": 0, "result_status": "pending", "forwards": [ { "id": "fwd_abc123", "poll_url": "/api/v1/forwards/fwd_abc123" } ] } } ``` -------------------------------- ### Successful Response Example Source: https://docs.hooklistener.com/api/overview Successful responses wrap data in a data key. ```json { "data": { "id": "abc123", "name": "My Endpoint" } } ``` -------------------------------- ### Organization override Source: https://docs.hooklistener.com/cli/endpoints Example of using the --org flag to manage endpoints for a specific organization. ```bash hooklistener endpoint list --org org_abc123 ``` -------------------------------- ### Get a forward using cURL Source: https://docs.hooklistener.com/api/request-forwarding Example command to retrieve details for a specific forward ID. ```bash curl https://app.hooklistener.com/api/v1/forwards/fwd_ghi789 \ -H "Authorization: Bearer hklst_your_api_key" ``` -------------------------------- ### Register your client Source: https://docs.hooklistener.com/mcp/authentication Register a new client application to obtain a client ID. ```bash curl -X POST https://app.hooklistener.com/oauth/register \ -H "Content-Type: application/json" \ -d '{ "client_name": "My MCP Client", "redirect_uris": ["http://localhost:8080/callback"], "application_type": "native", "token_endpoint_auth_method": "none" }' ``` -------------------------------- ### Force re-authentication with hooklistener login --force Source: https://docs.hooklistener.com/cli/authentication Use this option to re-authenticate, for example when switching accounts. It overrides an existing stored token and starts the device flow again. ```bash hooklistener login --force ``` -------------------------------- ### Install Zsh completions Source: https://docs.hooklistener.com/cli/shell-completions Writes the Zsh completion script to ~/.zfunc/_hooklistener. Ensure ~/.zfunc is in your fpath; add the fpath and compinit lines to ~/.zshrc if needed. ```zsh hooklistener completions zsh > ~/.zfunc/_hooklistener ``` ```zsh fpath=(~/.zfunc $fpath) autoload -Uz compinit && compinit ``` -------------------------------- ### List members - GET /api/v1/organizations/:id/members Source: https://docs.hooklistener.com/api/members Lists all members of an organization. The HTTP method and endpoint are shown, followed by a curl example with an Authorization header. The response is a JSON object containing an array of member objects with id, email, name, role, and joined_at fields. ```http GET /api/v1/organizations/:id/members ``` ```bash curl https://app.hooklistener.com/api/v1/organizations/org_abc123/members \ -H "Authorization: Bearer hklst_your_api_key" ``` ```json { "data": [ { "id": "mem_abc123", "email": "alice@example.com", "name": "Alice", "role": "owner", "joined_at": "2025-01-01T00:00:00Z" }, { "id": "mem_def456", "email": "bob@example.com", "name": "Bob", "role": "member", "joined_at": "2025-01-10T12:00:00Z" } ] } ``` -------------------------------- ### Get a status page - GET /api/v1/status-pages/:id Source: https://docs.hooklistener.com/api/status-pages Retrieves a single status page by its ID. ```http GET /api/v1/status-pages/:id ``` -------------------------------- ### Basic usage of hooklistener listen Source: https://docs.hooklistener.com/cli/listen Commands to forward webhooks to the default localhost:3000 or a custom target URL. ```bash # Forward to localhost:3000 (default) hooklistener listen my-endpoint # Forward to a custom URL hooklistener listen my-endpoint --target http://localhost:8080 ``` -------------------------------- ### Execute Case Run via cURL Source: https://docs.hooklistener.com/api/request-cases Example request to execute a case suite run with specific configuration parameters. ```bash curl -X POST https://app.hooklistener.com/api/v1/endpoints/ep_abc123/cases/run \ -H "Authorization: Bearer hklst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "case_suite_id": "suite_abc123", "target_url": "https://staging.example.com/webhooks", "target_name": "Staging", "wait": true, "timeout_ms": 30000 }' ``` -------------------------------- ### Create an API key - response Source: https://docs.hooklistener.com/api/api-keys Example response for creating an API key. The 'key' field is only returned on creation; copy it immediately. ```json { "id": "key_abc123", "name": "CI/CD Pipeline", "key": "hklst_a1b2c3d4e5f6g7h8i9j0...", "created_at": "2025-01-15T10:00:00Z", "last_used_at": null, "revoked_at": null } ``` -------------------------------- ### View configuration with hooklistener config show Source: https://docs.hooklistener.com/cli/configuration Displays the config file path, token status (present/absent, valid/expired), and selected organization ID. ```bash hooklistener config show ``` -------------------------------- ### Get a request - HTTP request Source: https://docs.hooklistener.com/api/requests HTTP GET request to retrieve a single captured webhook request by its ID. ```http GET /api/v1/endpoints/:endpoint_id/requests/:request_id ``` -------------------------------- ### Log in with hooklistener login Source: https://docs.hooklistener.com/cli/authentication Starts the device code flow. A user code is displayed, your browser opens, and the CLI polls for authorization. After successful authorization, the token is stored in the config file. ```bash hooklistener login ``` -------------------------------- ### Get an anonymous endpoint - GET /api/v1/anon/endpoints/:id Source: https://docs.hooklistener.com/api/anonymous-endpoints Retrieves details of an anonymous endpoint by its ID. No authentication required. ```http GET /api/v1/anon/endpoints/:id ``` ```bash curl https://app.hooklistener.com/api/v1/anon/endpoints/anon_abc123 ``` -------------------------------- ### Manage organizations via CLI Source: https://docs.hooklistener.com/platform/organizations Commands to list available organizations and switch the active organization context. ```bash # List organizations hooklistener org list # Switch to a different organization hooklistener org use ``` -------------------------------- ### Get a specific event - GET /api/v1/anon/endpoints/:endpoint_id/events/:event_id Source: https://docs.hooklistener.com/api/anonymous-endpoints Retrieves a specific event from an anonymous endpoint by its event ID. ```http GET /api/v1/anon/endpoints/:endpoint_id/events/:event_id ``` ```bash curl https://app.hooklistener.com/api/v1/anon/endpoints/anon_abc123/events/evt_def456 ``` -------------------------------- ### Create an uptime monitor via the API Source: https://docs.hooklistener.com/uptime-monitoring/create-monitor Use this curl command to create an uptime monitor by sending a POST request to the HookListener API. Replace 'hklst_your_api_key' with your actual API key and adjust the monitor details as needed. ```bash curl -X POST https://app.hooklistener.com/api/v1/uptime-monitors \ -H "Authorization: Bearer hklst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "uptime_monitor": { "name": "Production API", "url": "https://api.example.com/health", "method": "GET", "interval_seconds": 300, "expected_status_code": 200, "timeout_ms": 30000 } }' ``` -------------------------------- ### Update a status page - curl example Source: https://docs.hooklistener.com/api/status-pages Use this curl command to update a status page. The example updates the name field. ```bash curl -X PUT https://app.hooklistener.com/api/v1/status-pages/sp_abc123 \ -H "Authorization: Bearer hklst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "status_page": { "name": "Updated Status Page" } }' ``` -------------------------------- ### Add a monitor to a status page - curl example Source: https://docs.hooklistener.com/api/status-pages Use this curl command to add a monitor to a status page. The example adds a monitor with a custom display name and order. ```bash curl -X POST https://app.hooklistener.com/api/v1/status-pages/sp_abc123/monitors/mon_def456 \ -H "Authorization: Bearer hklst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "display_name": "API Server", "display_order": 1 }' ``` -------------------------------- ### Create subscription with Stripe checkout Source: https://docs.hooklistener.com/api/subscriptions Starts a new subscription by creating a Stripe checkout session. Use the POST /api/v1/subscription/create endpoint with the plan identifier in the request body, then redirect the user to the returned checkout_url to complete payment. ```http POST /api/v1/subscription/create ``` ```bash curl -X POST https://app.hooklistener.com/api/v1/subscription/create \ -H "Authorization: Bearer hklst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "plan": "pro" }' ``` ```json { "checkout_url": "https://checkout.stripe.com/c/pay/..." } ``` -------------------------------- ### GET /api/v1/cases/:id Source: https://docs.hooklistener.com/api/request-cases Retrieves a single case by its ID. ```APIDOC ## GET /api/v1/cases/:id ### Description Retrieves a single case by its ID. ### Method GET ### Endpoint /api/v1/cases/:id ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the case. ``` -------------------------------- ### Create Case Suite via cURL Source: https://docs.hooklistener.com/api/request-cases Example request to create a new case suite for a specific endpoint. ```bash curl -X POST https://app.hooklistener.com/api/v1/endpoints/ep_abc123/case-suites \ -H "Authorization: Bearer hklst_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "case_suite": { "name": "Billing regression", "description": "Critical Stripe webhook cases" } }' ``` -------------------------------- ### GET /api/v1/secrets/:id/value Source: https://docs.hooklistener.com/api/secrets Retrieves the decrypted value of a secret. ```APIDOC ## GET /api/v1/secrets/:id/value ### Description Retrieves the decrypted value of a secret. ### Method GET ### Endpoint /api/v1/secrets/:id/value ### Parameters #### Path Parameters - **id** (string) - Required - Secret ID ### Response #### Success Response (200) - **id** (string) - Secret ID - **name** (string) - Secret name - **value** (string) - Decrypted secret value - **decrypted_at** (string) - Decryption timestamp #### Response Example { "id": "sec_abc123", "name": "STRIPE_WEBHOOK_SECRET", "value": "whsec_a1b2c3d4...", "decrypted_at": "2025-01-15T11:00:00Z" } ``` -------------------------------- ### Use a static tunnel slug Source: https://docs.hooklistener.com/cli/static-tunnels Starts a tunnel with a static slug to expose the local port. The tunnel becomes available at https://my-cool-app.hooklistener.dev. ```bash hooklistener tunnel --slug my-cool-app --port 3000 ``` -------------------------------- ### GET /api/v1/case-suites/:id Source: https://docs.hooklistener.com/api/request-cases Retrieves a specific case suite by its ID. ```APIDOC ## GET /api/v1/case-suites/:id ### Description Retrieves a specific case suite by its ID. ### Method GET ### Endpoint /api/v1/case-suites/:id ### Parameters #### Path Parameters - **id** (string) - Required - The ID of the case suite. ``` -------------------------------- ### GET /api/v1/endpoints/:endpoint_id/case-suites Source: https://docs.hooklistener.com/api/request-cases Retrieves all case suites for a given endpoint. ```APIDOC ## GET /api/v1/endpoints/:endpoint_id/case-suites ### Description Retrieves all case suites for the specified endpoint. ### Method GET ### Endpoint /api/v1/endpoints/:endpoint_id/case-suites ### Parameters #### Path Parameters - **endpoint_id** (string) - Required - The ID of the endpoint. ``` -------------------------------- ### GET /api/v1/uptime-monitors Source: https://docs.hooklistener.com/api/uptime-monitors Retrieves a list of all uptime monitors associated with the account. ```APIDOC ## GET /api/v1/uptime-monitors ### Description Retrieves a list of all uptime monitors. ### Method GET ### Endpoint /api/v1/uptime-monitors ### Response #### Success Response (200) - **data** (array) - List of uptime monitor objects ``` -------------------------------- ### Update via Homebrew Source: https://docs.hooklistener.com/cli/installation Update the Hooklistener CLI using Homebrew. ```bash brew upgrade hooklistener ``` -------------------------------- ### Get an endpoint Source: https://docs.hooklistener.com/api/endpoints Retrieve details for a specific endpoint using its ID. ```http GET /api/v1/endpoints/:id ``` ```bash curl https://app.hooklistener.com/api/v1/endpoints/ep_abc123 \ -H "Authorization: Bearer hklst_your_api_key" ``` ```json { "data": { "id": "ep_abc123", "name": "Stripe Webhooks", "slug": "stripe-webhooks", "status": "active", "webhook_url": "https://app.hooklistener.com/w/stripe-webhooks", "inserted_at": "2025-01-15T10:30:00Z", "updated_at": "2025-01-15T10:30:00Z" } } ``` -------------------------------- ### GET /api/v1/status-pages/:id Source: https://docs.hooklistener.com/api/status-pages Retrieves a specific status page by its ID. ```APIDOC ## GET /api/v1/status-pages/:id ### Description Gets a status page by ID. ### Method GET ### Endpoint /api/v1/status-pages/:id ### Path Parameters - **id** (string) - Required - Status page ID ### Authentication Bearer token required. ``` -------------------------------- ### Listen mode command Source: https://docs.hooklistener.com/cli/overview Forwards webhooks from a specified Hooklistener endpoint to a local development server. ```bash hooklistener listen my-endpoint --target http://localhost:3000 ``` -------------------------------- ### Use completions with Tab Source: https://docs.hooklistener.com/cli/shell-completions After installation, restart your shell or source the completion file. Then use Tab to autocomplete commands, subcommands, and flags. ```bash hooklistener end # completes to "endpoint" hooklistener endpoint # shows: create, list, show, delete, ... ``` -------------------------------- ### GET /api/v1/cases/:case_id/shares Source: https://docs.hooklistener.com/api/request-sharing Lists all shares for a saved replay case. ```APIDOC ## GET /api/v1/cases/:case_id/shares ### Description Lists all shares for a saved replay case. ### Method GET ### Endpoint /api/v1/cases/:case_id/shares ### Parameters #### Path Parameters - **case_id** (string) - Required - The ID of the saved case. ### Response No response schema provided in the source. ``` -------------------------------- ### Create an endpoint with --json Source: https://docs.hooklistener.com/cli/json-output Command to create an endpoint with a name, followed by the JSON output showing the created endpoint object with id, name, slug, and webhook_url. ```bash hooklistener --json endpoint create "Test Endpoint" ``` ```json { "id": "ep_ghi789", "name": "Test Endpoint", "slug": "test-endpoint", "webhook_url": "https://app.hooklistener.com/w/test-endpoint" } ``` -------------------------------- ### GET /api/v1/debug-requests/:debug_request_id/shares Source: https://docs.hooklistener.com/api/request-sharing Lists all shares for a specific debug request. ```APIDOC ## GET /api/v1/debug-requests/:debug_request_id/shares ### Description Lists all shares for a specific debug request. ### Method GET ### Endpoint /api/v1/debug-requests/:debug_request_id/shares ### Parameters #### Path Parameters - **debug_request_id** (string) - Required - The ID of the debug request. ### Request Example ``` curl https://app.hooklistener.com/api/v1/debug-requests/req_def456/shares \ -H "Authorization: Bearer hklst_your_api_key" ``` ### Response No response schema provided in the source. ``` -------------------------------- ### GET /api/v1/organizations/:id/plan Source: https://docs.hooklistener.com/api/organizations Retrieves the plan details for a specific organization. ```APIDOC ## GET /api/v1/organizations/:id/plan ### Description Retrieves the plan details for a specific organization. ### Method GET ### Endpoint /api/v1/organizations/:id/plan ### Parameters #### Path Parameters - **id** (string) - Required - The organization ID. ### Request Example ``` curl https://app.hooklistener.com/api/v1/organizations/org_abc123/plan \ -H "Authorization: Bearer hklst_your_api_key" ``` ### Response #### Success Response (200) - **plan** (object) - The organization's plan details. - **name** (string) - Plan name. - **features** (object) - Plan features. - **max_endpoints** (integer) - Maximum number of endpoints. - **max_monitors** (integer) - Maximum number of monitors. - **csv_export** (boolean) - Whether CSV export is enabled. - **request_comparison** (boolean) - Whether request comparison is enabled. - **static_tunnels** (boolean) - Whether static tunnels are enabled. - **audit_log** (boolean) - Whether audit log is enabled. #### Response Example ``` { "plan": { "name": "Pro", "features": { "max_endpoints": 50, "max_monitors": 20, "csv_export": true, "request_comparison": true, "static_tunnels": true, "audit_log": true } } } ``` ``` -------------------------------- ### Set configuration values with hooklistener config set Source: https://docs.hooklistener.com/cli/configuration Sets a configuration value. Use 'none' to clear a value. Example sets the default organization ID. ```bash # Set the default organization hooklistener config set selected_organization_id org_abc123 # Clear a value hooklistener config set selected_organization_id none ``` -------------------------------- ### List organizations with --json Source: https://docs.hooklistener.com/cli/json-output Command to list organizations in JSON format, followed by the JSON output showing an array of organization objects with id, name, and selected fields. ```bash hooklistener --json org list ``` ```json [ { "id": "org_abc123", "name": "My Organization", "selected": true } ] ``` -------------------------------- ### GET /api/v1/organizations Source: https://docs.hooklistener.com/api/organizations Lists all organizations accessible with the provided API key. ```APIDOC ## GET /api/v1/organizations ### Description Lists all organizations accessible with the provided API key. ### Method GET ### Endpoint /api/v1/organizations ### Request Example ``` curl https://app.hooklistener.com/api/v1/organizations \ -H "Authorization: Bearer hklst_your_api_key" ``` ### Response #### Success Response (200) - **data** (array) - List of organizations - **id** (string) - Organization ID - **name** (string) - Organization name - **slug** (string) - Organization slug - **inserted_at** (string) - Creation timestamp - **updated_at** (string) - Last update timestamp #### Response Example ``` { "data": [ { "id": "org_abc123", "name": "My Organization", "slug": "my-org", "inserted_at": "2025-01-01T00:00:00Z", "updated_at": "2025-01-01T00:00:00Z" } ] } ``` ``` -------------------------------- ### GET /api/v1/secrets/:id Source: https://docs.hooklistener.com/api/secrets Returns secret metadata without the value. ```APIDOC ## GET /api/v1/secrets/:id ### Description Returns secret metadata without the value. ### Method GET ### Endpoint /api/v1/secrets/:id ### Parameters #### Path Parameters - **id** (string) - Required - Secret ID ### Response #### Success Response (200) Secret metadata (without value) ``` -------------------------------- ### Add API key to MCP server (legacy) Source: https://docs.hooklistener.com/platform/api-keys Legacy method to add the Hooklistener MCP server with an API key. OAuth 2.0 is now recommended instead. ```bash # Legacy — OAuth 2.0 is recommended instead claude mcp add --transport http hooklistener https://app.hooklistener.com/api/mcp \ --header "Authorization: Bearer hklst_your_api_key" ``` -------------------------------- ### Manual .mcp.json configuration for Hooklistener (legacy API key) Source: https://docs.hooklistener.com/mcp/setup Legacy configuration for `.mcp.json` that includes an `Authorization` header with your API key. This method is deprecated; OAuth 2.0 is recommended for better security and easier credential management. ```json { "mcpServers": { "hooklistener": { "type": "streamable-http", "url": "https://app.hooklistener.com/api/mcp", "headers": { "Authorization": "Bearer hklst_your_api_key_here" } } } } ``` -------------------------------- ### Delete a monitor request Source: https://docs.hooklistener.com/api/uptime-monitors Example cURL request to delete a monitor. ```bash curl -X DELETE https://app.hooklistener.com/api/v1/uptime-monitors/mon_abc123 \ -H "Authorization: Bearer hklst_your_api_key" ``` -------------------------------- ### GET /api/v1/shared/c/:token Source: https://docs.hooklistener.com/api/request-cases Retrieves a shared case using its share token. ```APIDOC ## GET /api/v1/shared/c/:token ### Description Retrieves a shared case using its share token. ### Method GET ### Endpoint /api/v1/shared/c/:token ### Parameters #### Path Parameters - **token** (string) - Required - The share token. ``` -------------------------------- ### Discover the authorization server Source: https://docs.hooklistener.com/mcp/authentication Retrieve the authorization server metadata for OAuth 2.0 discovery. ```bash curl https://app.hooklistener.com/.well-known/oauth-authorization-server ``` -------------------------------- ### GET /api/v1/uptime-monitors/:id Source: https://docs.hooklistener.com/api/uptime-monitors Retrieves details for a specific uptime monitor by its ID. ```APIDOC ## GET /api/v1/uptime-monitors/:id ### Description Retrieves details for a specific uptime monitor. ### Method GET ### Endpoint /api/v1/uptime-monitors/:id ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the monitor ``` -------------------------------- ### List API keys - response Source: https://docs.hooklistener.com/api/api-keys Example response for listing API keys. The API key value is never returned after creation. ```json { "data": [ { "id": "key_abc123", "name": "CI/CD Pipeline", "created_at": "2025-01-15T10:00:00Z", "last_used_at": "2025-01-15T11:30:00Z", "revoked_at": null } ] } ``` -------------------------------- ### Get a monitor endpoint Source: https://docs.hooklistener.com/api/uptime-monitors Endpoint to retrieve details for a specific monitor by ID. ```http GET /api/v1/uptime-monitors/:id ``` -------------------------------- ### POST /api/v1/subscription/create Source: https://docs.hooklistener.com/api/subscriptions Starts a new subscription by creating a Stripe checkout session. Provide the desired plan in the request body and redirect the user to the returned checkout URL to complete payment. ```APIDOC ## POST /api/v1/subscription/create ### Description Start a new subscription by creating a Stripe checkout session. ### Method POST ### Endpoint /api/v1/subscription/create ### Parameters #### Request Body - **plan** (string) - Required - The plan identifier (e.g., "pro"). ### Request Example { "plan": "pro" } ### Response #### Success Response (200) - **checkout_url** (string) - The URL to redirect the user to for completing payment. #### Response Example { "checkout_url": "https://checkout.stripe.com/c/pay/..." } ``` -------------------------------- ### GET /api/v1/endpoints/:id Source: https://docs.hooklistener.com/api/endpoints Retrieves a single debug endpoint by its unique identifier. ```APIDOC ## GET /api/v1/endpoints/:id ### Description Retrieves a single debug endpoint by its unique identifier. ### Method GET ### Endpoint /api/v1/endpoints/:id ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the endpoint (e.g., ep_abc123) ### Request Example ``` curl https://app.hooklistener.com/api/v1/endpoints/ep_abc123 \ -H "Authorization: Bearer hklst_your_api_key" ``` ### Response #### Success Response (200) - **data** (object) - The endpoint object - **id** (string) - Unique identifier for the endpoint - **name** (string) - Display name of the endpoint - **slug** (string) - URL slug for the endpoint - **status** (string) - Status of the endpoint (e.g., active) - **webhook_url** (string) - URL where webhooks are sent - **inserted_at** (string) - Timestamp when the endpoint was created - **updated_at** (string) - Timestamp when the endpoint was last updated #### Response Example ``` { "data": { "id": "ep_abc123", "name": "Stripe Webhooks", "slug": "stripe-webhooks", "status": "active", "webhook_url": "https://app.hooklistener.com/w/stripe-webhooks", "inserted_at": "2025-01-15T10:30:00Z", "updated_at": "2025-01-15T10:30:00Z" } } ``` ```