Endpoint
Authentication
This endpoint requires authentication using a Bearer token in theAuthorization header.
Request Body
The request body should contain a complete Wings configuration object in JSON format. This follows the same structure as theconfig.yml file.
boolean
Enable debug mode for verbose logging
string
default:"Pterodactyl"
Application name for Wings
string
required
Unique identifier for this node in the Panel
string
required
Token identifier for authentication
string
required
Authentication token for API requests
object
required
API server configuration
object
required
System configuration settings
object
required
Docker configuration settings (see Docker Settings for details)
string
required
Panel URL for API communication
object
Remote query configuration
array
List of allowed host paths for server mounts
array
Additional CORS allowed origins
boolean
default:"false"
When enabled, configuration updates from the Panel are ignored
Response
boolean
Indicates whether the configuration update was applied. Returns
false if ignore_panel_config_updates is enabled in the current configuration.Behavior
Configuration Update Flow
- Validation: The incoming configuration is validated and merged with defaults
- SSL Certificate Handling: If SSL certificates use Let’s Encrypt default paths (
/etc/letsencrypt/live/), the existing certificate paths are preserved to prevent overwriting manually configured locations - Disk Write: The configuration is written to disk at the config file location
- Runtime Update: If the write succeeds, the global configuration state is updated
- Response: Returns whether the update was applied
Ignored Updates
Whenignore_panel_config_updates is set to true in the Wings configuration file, this endpoint will:
- Return
{"applied": false} - Not write any changes to disk
- Not update the runtime configuration
Example Requests
Example Responses
Error Responses
SSL Certificate Handling
The endpoint includes special logic for SSL certificates to prevent accidental overwrites:Use Cases
Automated Panel Updates
The Pterodactyl Panel automatically calls this endpoint when node configuration is updated:Manual Configuration Sync
You can manually sync configuration from your Panel to Wings:Implementation Details
The configuration update process is implemented inrouter/router_system.go:122-158:
- Check ignore flag: If
IgnorePanelConfigUpdatesis true, return{"applied": false}immediately - Parse JSON: Bind the incoming JSON to a
Configurationstruct - Preserve SSL paths: Check for Let’s Encrypt default paths and preserve existing custom paths
- Write to disk: Call
config.WriteToDisk()to persist the new configuration - Update runtime: Call
config.Set()to apply changes to the running instance - Return result: Return
{"applied": true}on success
The configuration file location is determined by the
--config flag used when starting Wings. By default, this is /etc/pterodactyl/config.yml.Security Considerations
- The endpoint requires a valid Bearer token matching the configured
AuthenticationToken - Configuration changes are written to disk with restricted file permissions
- Invalid configurations will cause the request to fail without modifying the existing config
- SSL certificate paths are validated and protected from accidental overwrites
Related Endpoints
- Get System Information - Retrieve system and Wings version information
- Get Servers - List all servers managed by this Wings instance
Related Configuration
- Configuration File - Complete configuration file reference
- System Settings - System configuration options
- SSL/TLS Configuration - SSL certificate setup
