Configuration
RAPS🌼RAPSRust CLI for Autodesk Platform Services.View in glossary supports multiple configuration⚙️ConfigurationSettings controlling application behavior.View in glossary methods: environment variables, profiles, and .env files.
Precedence: CLI💻CLIText-based interface for running commands.View in glossary flags > Environment variables > Active profile👤ProfileNamed set of configuration settings.View in glossary > Defaults
Required Environment Variables
APS_CLIENT_ID
Your APS☁️APSAutodesk Platform Services - cloud APIs for CAD/BIM automation.View in glossary application Client ID from the APS Developer Portal.
# Windows PowerShell
$env:APS_CLIENT_ID = "your_client_id_here"
# macOS/Linux
export APS_CLIENT_ID="your_client_id_here"
APS_CLIENT_SECRET
Your APS application Client Secret🔒SecretEncrypted sensitive configuration value.View in glossary.
# Windows PowerShell
$env:APS_CLIENT_SECRET = "your_client_secret_here"
# macOS/Linux
export APS_CLIENT_SECRET="your_client_secret_here"
Optional Environment Variables
| Variable | Description | Default |
|---|---|---|
APS_CALLBACK_URL | Callback URL for 3-legged OAuth👤3-legged authUser-authorized authentication with browser login.View in glossary | http://localhost:8080/callback |
APS_DA_NICKNAME | Design Automation🤖Design AutomationRun Autodesk desktop apps in the cloud.View in glossary nickname | - |
RAPS_TIMEOUT | Request timeout in seconds | 120 |
RAPS_CONCURRENCY | Max parallel operations | 5 |
RAPS_USE_FILE_STORAGE | Use plaintext file storage (insecure) | false |
Using .env File
Create a .env file in your working directory:
APS_CLIENT_ID=your_client_id_here
APS_CLIENT_SECRET=your_client_secret_here
APS_CALLBACK_URL=http://localhost:8080/callback
RAPS automatically loads from .env files in current and parent directories.
Security: Never commit
.envfiles to version control. Add.envto.gitignore.
Profile Management
Profiles allow managing multiple environments (dev, staging, production).
# Create a profile
raps config profile create production
# Set values
raps config set client_id "your_production_client_id"
raps config set client_secret "your_production_client_secret"
# Switch profiles
raps config profile use production
# List all profiles
raps config profile list
# Export/import profiles
raps config profile export production --output ./prod-profile.json
raps config profile import ./prod-profile.json --name backup
Profile Storage Locations
- Windows:
%APPDATA%\raps\profiles.json - macOS:
~/Library/Application Support/raps/profiles.json - Linux:
~/.config/raps/profiles.json
Secure Token Storage (v3.7.0+)
RAPS now defaults to secure OS keychain🔑KeychainSecure OS storage for credentials.View in glossary storage for authentication tokens instead of plaintext files.
# Enable/disable keychain storage per profile
raps config set use_keychain true # Default: true (secure)
raps config set use_keychain false # Use plaintext files (insecure)
# Migrate existing tokens to keychain
raps config migrate-tokens
Token🎟️TokenCredential for API authentication.View in glossary Storage Locations:
- Keychain (Secure): OS-managed secure storage
- Windows: Windows Credential Manager
- macOS: macOS Keychain
- Linux: Secret Service (gnome-keyring, kwallet)
- File (Insecure):
~/.config/raps/tokens.json(⚠️ plaintext)
🔐 Security Best Practice: Use keychain storage (default). File storage stores tokens in plaintext and should only be used in secure environments.
Shell Completions
RAPS supports auto-completion for bash, zsh, fish, PowerShell, and elvish.
PowerShell
# Add to your PowerShell profile ($PROFILE)
raps completions powershell | Out-String | Invoke-Expression
Bash
# Add to ~/.bashrc
eval "$(raps completions bash)"
Zsh
# Add to ~/.zshrc
eval "$(raps completions zsh)"
Fish
raps completions fish > ~/.config/fish/completions/raps.fish
Test Configuration
Verify your setup:
raps auth test
If successful, you’re ready to use RAPS!