### 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"
}
}
```
```