A powerful command-line interface for interacting with GoDaddy's developer ecosystem. Manage your applications, handle authentication, and work with webhooks effortlessly.
# Install the CLI globally from npm
npm install -g @godaddy/cli
# Verify installation
godaddy --help# Watch mode for development using tsx
pnpm tsx --watch index.ts
# Quick command execution during development
pnpm tsx src/index.tsx application <command>- Application Management: Create, view, and release applications
- Authentication: Secure OAuth-based authentication with GoDaddy
- Webhook Management: List available webhook event types
- Environment Management: Work across different GoDaddy environments
- Actions Management: List and describe available application actions
godaddy --help # Display help information
godaddy --version # Display version information
godaddy -e, --env <environment> # Set target environment (ote, prod)
godaddy --debug # Enable debug logging for HTTP requests and responses# List all available environments
godaddy env list
Options:
-o, --output <format> # Output format: json or text (default: text)
# Get current environment details
godaddy env get
Options:
-o, --output <format> # Output format: json or text (default: text)
# Switch to a different environment
godaddy env set <environment> # <environment> is one of: ote, prod
Options:
-o, --output <format> # Output format: json or text (default: text)
# View detailed environment configuration
godaddy env info [environment] # [environment] is one of: ote, prod (defaults to current)
Options:
-o, --output <format> # Output format: json or text (default: text)# Login to GoDaddy Developer Platform
godaddy auth login # Opens browser for OAuth authentication
Options:
-o, --output <format> # Output format: json or text (default: text)
# Logout and clear stored credentials
godaddy auth logout
Options:
-o, --output <format> # Output format: json or text (default: text)
# Check current authentication status
godaddy auth status
Options:
-o, --output <format> # Output format: json or text (default: text)Note:
godaddy appcan be used as a shorthand alias forgodaddy application
# List all applications
godaddy application list # Alias: godaddy app ls
Options:
-o, --output <format> # Output format: json or text (default: text)
# Show application information
godaddy application info <name> # Shows info for the named application
Options:
-o, --output <format> # Output format: json or text (default: text)
# Initialize a new application
godaddy application init
Options:
--name <name> # Application name
--description <description> # Application description
--url <url> # Application URL
--proxy-url <proxyUrl> # Proxy URL for API endpoints
--scopes <scopes> # Authorization scopes (space-separated)
-c, --config <path> # Path to configuration file
--environment <env> # Environment (ote|prod)
-o, --output <format> # Output format: json or text (default: text)
# Validate application configuration
godaddy application validate <name>
Options:
-o, --output <format> # Output format: json or text (default: text)
# Update existing application
godaddy application update <name>
Options:
--label <label> # Application label
--description <description> # Application description
--status <status> # Application status (ACTIVE|INACTIVE)
-o, --output <format> # Output format: json or text (default: text)
# Create a new release of your application
godaddy application release <name>
Options:
--release-version <version> # Release version (required)
--description <description> # Release description
--config <path> # Path to configuration file
--environment <env> # Environment (ote|prod)
-o, --output <format> # Output format: json or text (default: text)
# Deploy your application to the platform
godaddy application deploy <name>
Options:
--config <path> # Path to configuration file
--environment <env> # Environment (ote|prod)
-o, --output <format> # Output format: json or text (default: text)
# Enable an application on a store
godaddy application enable <name>
Options:
--store-id <storeId> # Store ID (required)
-o, --output <format> # Output format: json or text (default: text)
# Disable an application on a store
godaddy application disable <name>
Options:
--store-id <storeId> # Store ID (required)
-o, --output <format> # Output format: json or text (default: text)
# Archive an application
godaddy application archive <name>
Options:
-o, --output <format> # Output format: json or text (default: text)
# Add components to your application
godaddy application add <type>
<type> can be one of: # action, subscription, extensiongodaddy application add action
Options:
--name <name> # Action name (required)
--url <url> # Action endpoint URL (required)
--config <path> # Path to configuration file
--environment <env> # Environment (ote|prod)
-o, --output <format> # Output format: json or text (default: text)godaddy application add subscription
Options:
--name <name> # Subscription name (required)
--events <events> # Comma-separated list of events (required)
--url <url> # Webhook endpoint URL (required)
--config <path> # Path to configuration file
--environment <env> # Environment (ote|prod)
-o, --output <format> # Output format: json or text (default: text)# Add an embed extension (injected UI at specific page locations)
godaddy application add extension embed
Options:
--name <name> # Extension name (required)
--handle <handle> # Extension handle/unique identifier (required)
--source <source> # Path to extension source file (required)
--target <targets> # Comma-separated list of target locations (required)
--config <path> # Path to configuration file
--environment <env> # Environment (ote|prod)
-o, --output <format> # Output format: json or text (default: text)
# Add a checkout extension (checkout flow UI)
godaddy application add extension checkout
Options:
--name <name> # Extension name (required)
--handle <handle> # Extension handle/unique identifier (required)
--source <source> # Path to extension source file (required)
--target <targets> # Comma-separated list of checkout target locations (required)
--config <path> # Path to configuration file
--environment <env> # Environment (ote|prod)
-o, --output <format> # Output format: json or text (default: text)
# Set the blocks extension source (consolidated UI blocks package)
godaddy application add extension blocks
Options:
--source <source> # Path to blocks extension source file (required)
--config <path> # Path to configuration file
--environment <env> # Environment (ote|prod)
-o, --output <format> # Output format: json or text (default: text)# List available webhook event types
godaddy webhook events # Lists all available webhook event types you can subscribe to
Options:
-o, --output <format> # Output format: json or text (default: text)# List all available actions
godaddy actions list # Lists all available actions an application can hook into
Options:
-o, --output <format> # Output format: json or text (default: text)
# Show detailed interface information for a specific action
godaddy actions describe <action> # Displays request/response schemas for the action
Options:
-o, --output <format> # Output format: json or text (default: text)The following actions are available for applications to hook into:
location.address.verify- Verify and standardize a physical addresscommerce.taxes.calculate- Calculate taxes for a purchasecommerce.shipping-rates.calculate- Calculate shipping ratescommerce.price-adjustment.apply- Apply price adjustmentscommerce.price-adjustment.list- List price adjustmentsnotifications.email.send- Send email notificationscommerce.payment.get- Get payment detailscommerce.payment.cancel- Cancel a paymentcommerce.payment.refund- Refund a paymentcommerce.payment.process- Process a paymentcommerce.payment.auth- Authorize a payment
Create and configure an application without interactive prompts:
# Create application
godaddy application init \
--name "my-ecommerce-app" \
--description "Advanced e-commerce integration" \
--url "https://app.mystore.com" \
--proxy-url "https://api.mystore.com" \
--scopes "domains orders customers" \
--config ./config/godaddy.prod.toml \
--environment prod \
--output json \
--env prod
# Add action
godaddy application add action \
--name "order.completed" \
--url "https://api.mystore.com/actions/order-completed" \
--config ./config/godaddy.prod.toml \
--environment prod \
--output json
# Add webhook subscription
godaddy application add subscription \
--name "order-events" \
--events "order.created,order.completed,order.cancelled" \
--url "https://api.mystore.com/webhooks/orders" \
--config ./config/godaddy.prod.toml \
--environment prod \
--output json
# Add embed extension
godaddy application add extension embed \
--name "my-widget" \
--handle "my-widget-handle" \
--source "./extensions/embed/index.tsx" \
--target "body.end" \
--config ./config/godaddy.prod.toml \
--environment prod \
--output json
# Create a release
godaddy application release my-ecommerce-app \
--release-version "1.0.0" \
--description "Initial release" \
--config ./config/godaddy.prod.toml \
--environment prod \
--output json
# Deploy the application
godaddy application deploy my-ecommerce-app \
--config ./config/godaddy.prod.toml \
--environment prod \
--output json
# Enable on a store
godaddy application enable my-ecommerce-app \
--store-id "12345" \
--output jsonThe CLI supports multiple GoDaddy environments:
- ote: Pre-production environment that mirrors production
- prod: Production environment for live applications
You can specify the environment in two ways:
- Using the global
-e, --envflag with any command:godaddy application info my-app --env ote - Setting a default environment:
godaddy env set prod
Use godaddy env info to view detailed configuration for your current environment.
The CLI uses a configuration file (godaddy.toml) to store your application settings. You can provide a custom configuration file path using the --config option with commands that support it.
Environment-specific configuration files can be used by naming them godaddy.<environment>.toml (e.g., godaddy.dev.toml).
Example configuration:
name = "my-app"
client_id = "your-client-id"
description = "My GoDaddy Application"
url = "https://myapp.example.com"
proxy_url = "https://proxy.example.com"
authorization_scopes = ["domains", "shopper"]
version = "0.0.0"
actions = []
[[subscriptions.webhook]]
name = "domain-events"
events = ["example:v1:domain:created", "example:v1:domain:updated"]
url = "https://myapp.example.com/webhooks"
[extensions]
ui_extension = "value"
[dependencies]
app = [{name = "required-app", version = "^1.0.0"}]
feature = [{name = "required-feature"}]The deployment process consists of several steps:
- Initialize: Create your application with
godaddy application init - Configure: Add components with the
application addcommands - Validate: Ensure your configuration is valid with
godaddy application validate - Release: Create a new version with
godaddy application release - Deploy: Deploy your application with
godaddy application deploy - Enable: Enable your application on stores with
godaddy application enable
Authentication is handled securely using OAuth. The CLI will:
- Open a browser for authentication with GoDaddy
- Store tokens securely in your system keychain
- Automatically use the stored token for future commands
- Node.js 16+
- Access to GoDaddy Developer Account
Copyright GoDaddy Inc. All rights reserved.