Note: This is an independent project and is not affiliated with, officially maintained, or endorsed by Microsoft. The API specifications are sourced from Microsoft's official msgraph-sdk-powershell repository.
An interactive viewer for Microsoft Graph API's OpenAPI specifications with dark mode support and intuitive navigation.
- Python 3.7+
- pip (Python package manager)
- Set up the environment:
python3 -m venv venv
source venv/bin/activate
- Install Python dependencies:
pip install -r requirements.txt
- Make scripts executable:
chmod +x scripts/*.py
Fetch the latest OpenAPI specifications from Microsoft's repository:
./scripts/update_openapi.py
The specifications will be downloaded to the openapi
directory.
Convert the OpenAPI YAML files to optimized JSON format:
./scripts/convert_yaml.py
Build the static site:
./scripts/generate_site.py
cd build && python3 -m http.server 8000
Visit http://localhost:8000 in your browser.
- 🌓 Dark/Light mode with system preference support
- 📱 Responsive design using Bootstrap 5
- 🔄 Switch between v1.0 and beta API versions
- 🎨 Color-coded HTTP methods for easy identification
- ⚡ Lazy loading of endpoint details
- 📊 Structured parameter and response displays
- 🔗 Deep linking support for sharing specific:
- API versions
- Categories
- Tags
- Endpoints
- 🔍 Clear endpoint path organization with:
- Logical path segmentation
- Method grouping
- Tag-based categorization
- Endpoint summaries
- 💾 Persistent theme preferences
- 📱 Mobile-optimized interface:
- Collapsible sidebar
- Responsive tables
- Touch-friendly controls
- Improved method display on small screens
- Slide-out navigation menu
- Mobile-optimized header layout
- Improved method visibility (methods appear above endpoints)
- Touch-friendly controls
- Responsive tables
- Backdrop overlay for sidebar
- Automatic menu closing after selection
.
├── build/ # Generated site
├── openapi/ # API specifications
├── scripts/ # Build scripts
└── src/ # Source files
├── templates/ # HTML templates
├── styles/ # CSS files
└── scripts/ # JavaScript files
The OpenAPI specifications are fetched from:
- Repository: microsoftgraph/msgraph-sdk-powershell
- Path:
/openApiDocs
- Versions:
v1.0
andbeta
The application supports deep linking with the following URL structure: Examples:
- Version only:
/#/v1.0
- Category:
/#/v1.0/Identity.SignIns
- Tag:
/#/v1.0/Identity.SignIns/identityProviders.identityProvider
- Full path:
/#/v1.0/Identity.SignIns/identityProviders.identityProvider/[endpoint-hash]
The build
directory can be deployed to:
- GitHub Pages
- Netlify
- Any static hosting service
- Local web servers
The application automatically detects its environment and adjusts base paths:
- For GitHub Pages: Automatically detects repository name and adjusts paths
- For local development: Uses root path
- For custom deployments: No configuration needed
- Bootstrap 5.3.2: UI framework
- Bootstrap Icons 1.11.1: Icon set
- PyYAML: YAML processing
- Requests: HTTP client
MIT License - see LICENSE
For third-party licenses, see THIRD_PARTY_LICENSES.md