API Version Overview
Microsoft Graph exposes two parallel API versions:v1.0 - Generally Available
Production-ready APIs with stability guarantees and backwards compatibility
beta - Preview
Preview APIs with latest features but subject to breaking changes
Version Comparison
| Aspect | v1.0 | beta |
|---|---|---|
| Stability | Guaranteed stable | Subject to breaking changes |
| Breaking Changes | Only with new major version | Can change at any time |
| Feature Availability | Generally available features | Latest and preview features |
| Support | Full Microsoft support | Limited preview support |
| Use Case | Production workloads | Testing, early adoption |
| Deprecation | Advance notice (>12 months) | Can be removed without notice |
Resource Naming Convention
The provider uses a clear naming convention to indicate which API version a resource uses:Beta Resources
Resources using Microsoft Graph beta endpoints includegraph_beta in their name:
v1.0 Resources
Resources using Microsoft Graph v1.0 endpoints includegraph_v1 in their name:
Currently, most provider resources use the beta API version to provide access to the latest Microsoft 365 features. v1.0 resources are being gradually added for production workloads requiring maximum stability.
Directory Structure
The provider’s source code organizes resources by API version:API Endpoint URLs
Each resource uses a specific base URL:Beta Endpoints
v1.0 Endpoints
When to Use Each Version
Use v1.0 When:
Production workloads requiring stability
Production workloads requiring stability
Production environments where breaking changes are unacceptable:
Compliance and regulatory requirements
Compliance and regulatory requirements
Environments with strict change management and compliance requirements:
- Regulated industries (finance, healthcare, government)
- SOC 2, ISO 27001, or similar compliance frameworks
- Environments requiring Microsoft support SLAs
Long-term maintenance
Long-term maintenance
Configurations that will be maintained for years with minimal changes:
- Core identity infrastructure
- Foundational security policies
- Long-lived automation and integration
Risk-averse organizations
Risk-averse organizations
Organizations with low tolerance for unexpected changes:
- Large enterprises with complex change approval processes
- Multi-tenant environments managed by service providers
- Critical infrastructure deployments
Use Beta When:
Latest features required
Latest features required
You need features only available in beta:
Intune device and app management
Intune device and app management
Most Intune capabilities are only available in beta:
- Device configuration policies
- App protection policies
- Compliance policies
- Conditional launch settings
- Advanced application management
Early adoption and testing
Early adoption and testing
Testing new features before they reach general availability:
- Development and staging environments
- Proof of concept deployments
- Evaluating upcoming features
Advanced security features
Advanced security features
Many advanced security features are beta-only:
- Custom security attributes
- Advanced conditional access conditions
- Authentication strength policies
- Continuous access evaluation
Feature Availability
Beta-Only Features
Some features are currently only available in beta: Intune:- Win32 app management with content upload
- Settings catalog configuration policies
- Advanced app configuration policies
- Proactive remediation scripts
- macOS platform scripts
- App supersedence relationships
- Custom security attributes
- Authentication strength policies
- Named locations (IP ranges, countries)
- Advanced conditional access conditions
- Federated identity credentials
- Application templates
- Service principal delegated permission grants
- On-premises publishing configuration
Available in Both
Some features are available in both versions: Core Identity:- User management (CRUD operations)
- Group management (basic operations)
- Application registrations (basic)
- Service principals (basic)
When a feature is available in both versions, consider using v1.0 for production stability unless you need beta-exclusive attributes.
Stability Considerations
Breaking Changes in Beta
Beta APIs can introduce breaking changes without notice: Example breaking changes:Deprecation Policies
v1.0 (Stable):- Breaking changes only in new major API version
- Minimum 12-month deprecation notice
- Migration guidance provided
- Documented upgrade paths
- No deprecation notice required
- Features can be removed or changed at any time
- No guaranteed migration path
- Limited documentation for changes
Migration Between Versions
Beta to v1.0 Migration
When a feature graduates from beta to v1.0, you may want to migrate: Step 1: Identify resource for migrationMigration between API versions requires careful planning. The resource ID typically remains the same, but the resource type in state changes.
Best Practices
1. Use Beta for Development, v1.0 for Production
2. Document API Version Dependencies
3. Pin Provider Versions
4. Test Beta Resources Thoroughly
5. Monitor Microsoft Graph Changelog
Regularly review the Microsoft Graph changelog for:- Beta API changes
- Features graduating to v1.0
- Deprecated beta endpoints
- Breaking changes
6. Plan for Beta Changes
Checking API Version
You can verify which API version a resource uses:From Resource Name
From Provider Documentation
Check the provider registry for API version information.From Source Code
Common Scenarios
Scenario 1: Intune Management
Requirement: Manage Windows devices with Intune Solution: Use beta - most Intune features are beta-onlyScenario 2: User and Group Management
Requirement: Manage users and groups for production environment Solution: Use v1.0 when available for stabilityScenario 3: Advanced Security
Requirement: Implement custom security attributes Solution: Use beta - feature not in v1.0Scenario 4: Conditional Access
Requirement: Create conditional access policies Solution: Use beta for full feature setProvider Roadmap
The provider team is actively working on:Check the provider roadmap for the latest information on v1.0 resource availability.
Troubleshooting
Resource Not Found in v1.0
Problem: You need a resource but only beta version exists Solution: Use beta version and plan for future migration:Beta API Change Broke Configuration
Problem: Terraform plan fails after beta API changed Solution:- Check Microsoft Graph changelog
- Review provider release notes
- Update configuration to match new schema
- Consider pinning provider version temporarily
Uncertain Which Version to Use
Problem: Both beta and v1.0 resources exist Decision matrix:- Production + stability required → v1.0
- Latest features required → beta
- Intune resources → beta (usually only option)
- Core identity resources → v1.0 (when available)
Next Steps
Resource Management
Learn about CRUD operations and resource lifecycle
State Management
Understand Terraform state for Microsoft 365 resources
Provider Roadmap
See planned v1.0 resource additions
Known Issues
Review known beta API issues and workarounds
