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.
Enable debug mode for verbose logging
Application name for Wings
Unique identifier for this node in the Panel
Token identifier for authentication
Authentication token for API requests
API server configuration
System configuration settings
Docker configuration settings (see Docker Settings for details)
Panel URL for API communication
Remote query configuration
List of allowed host paths for server mounts
Additional CORS allowed origins
When enabled, configuration updates from the Panel are ignored
Response
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
