What is a Workspace?
A workspace is an independent organizational unit in Auk for managing API collections, environments, and settings. Think of it as a project folder that keeps everything related to a specific context together.Key Characteristics
Each workspace has:- Independent Storage - Separate local directory for all data
- Isolated Data - Collections and environments don’t mix between workspaces
- Git Configuration - Optional Git repository for sync and collaboration
- Custom Settings - Workspace-specific preferences and defaults
- Quick Switching - Seamlessly switch between different contexts
Why Use Multiple Workspaces?
Separation of Concerns
Keep different projects, clients, or environments completely separate:Team Collaboration
Each workspace can have its own Git repository:- Team A syncs to
github.com/company/team-a-apis - Team B syncs to
github.com/company/team-b-apis - Personal stays local or syncs to private repo
Environment Management
Organize by deployment environment:- Development - Local and dev server APIs
- Staging - Pre-production testing
- Production - Live production APIs
Workspace Components
Collections
API request collections stored in the workspace:Environments
Environment variables for different contexts:History
Request history specific to this workspace:Settings
Workspace-specific configuration:Creating Workspaces
From Welcome Screen
First-time users see the workspace creation wizard:- Enter workspace name
- Choose storage location
- Optionally configure Git
- Start using Auk
From Workspace Selector
Create additional workspaces anytime:Configure
Fill in workspace details:
- Name (required)
- Description (optional)
- Storage location (required)
- Git settings (optional)
Quick Create
Use keyboard shortcut for fast workspace creation:- macOS:
Cmd + Shift + N - Windows/Linux:
Ctrl + Shift + N
Switching Workspaces
Using Workspace Selector
- Click workspace name in top bar
- Select workspace from dropdown
- Auk loads the selected workspace
Keyboard Shortcuts
- Next Workspace:
Cmd/Ctrl + ] - Previous Workspace:
Cmd/Ctrl + [ - Workspace Switcher:
Cmd/Ctrl + Shift + W
Recent Workspaces
Auk remembers your recently used workspaces:- Last 5 workspaces shown at top of selector
- Quick access to frequently used workspaces
- Sorted by last access time
Workspace Settings
Basic Information
Name- Display name shown in workspace selector
- Can be changed anytime
- Should be descriptive and unique
- Optional longer description
- Helps identify workspace purpose
- Shown in workspace selector tooltip
- Local directory path
- Cannot be changed after creation
- Should be easily accessible
Git Configuration
Enable Git Sync- Toggle Git synchronization on/off
- Can be enabled/disabled anytime
- Requires Git repository setup
- Git repository URL
- SSH or HTTPS format
- Can be changed if needed
- Default branch to use
- Usually
mainormaster - Can switch branches anytime
- Automatic synchronization interval
- Options: 5min, 15min, 30min, 60min, manual
- Balances freshness vs. performance
- SSH keys (recommended)
- HTTPS with token
- OAuth (coming soon)
Default Settings
Default Environment- Environment loaded on workspace open
- Useful for consistent workflow
- Can be changed per session
- Automatically save changes
- Interval: 30s, 1min, 5min, manual
- Prevents data loss
- Maximum history entries to keep
- Options: 50, 100, 500, 1000, unlimited
- Older entries automatically removed
Workspace Organization Strategies
By Project
One workspace per project:- Clear project boundaries
- Easy to share entire project
- Independent Git repositories
- More workspaces to manage
- Switching between projects
By Environment
One workspace per environment:- Environment isolation
- Prevents accidental prod changes
- Clear context switching
- Duplicate collections
- More maintenance
By Team
One workspace per team:- Team collaboration
- Shared Git repository
- Clear ownership
- Requires coordination
- Potential conflicts
Hybrid Approach
Combine strategies:Data Isolation
Complete Separation
Workspaces are completely isolated:- Collections - No sharing between workspaces
- Environments - Independent variable sets
- History - Separate request history
- Settings - Workspace-specific configuration
Benefits
- No Conflicts - Changes in one workspace don’t affect others
- Clean Organization - Each workspace is self-contained
- Easy Backup - Backup individual workspaces
- Flexible Sharing - Share specific workspaces via Git
Sharing Data
To share data between workspaces: Method 1: Export/ImportWorkspace Maintenance
Regular Tasks
Weekly:- Review and clean up old requests
- Update environment variables
- Sync with Git repository
- Archive unused collections
- Review workspace organization
- Update documentation
- Evaluate workspace structure
- Consider consolidation or splitting
- Backup important data
Cleanup
Remove Unused Workspaces:- Export important data
- Delete workspace
- Clean up Git repository (if needed)
Troubleshooting
Workspace Not Loading
Problem: Workspace fails to load Solutions:- Check if storage directory exists
- Verify directory permissions
- Check for corrupted files
- Restore from Git backup
Slow Performance
Problem: Workspace is slow to open Solutions:- Reduce history limit
- Archive old collections
- Disable auto-sync temporarily
- Check disk space
Git Sync Issues
Problem: Git sync fails Solutions:- Check network connection
- Verify Git credentials
- Pull latest changes manually
- Resolve conflicts
Data Loss
Problem: Workspace data disappeared Solutions:- Check workspace path in settings
- Look for backup in Git repository
- Check system trash/recycle bin
- Restore from manual backup
Best Practices
Naming Conventions
Use clear, descriptive names:Git Repository Structure
Organize Git repositories logically:Documentation
Add README to each workspace:Security
Protect sensitive data:- Use Secret Variables - Don’t commit secrets to Git
- Separate Workspaces - Keep prod separate from dev
- Access Control - Use private Git repositories
- Regular Audits - Review who has access
Next Steps
Create Workspace
Create your first workspace
Git Sync
Setup Git synchronization
Collections
Organize API collections
Environments
Manage environment variables