Forge to APS Migration Guide
Complete guide for migrating from legacy Autodesk Forge APIs to modern Autodesk Platform Services (APS)
Table of Contents
Forge to APS Migration Guide
Complete step-by-step guide for migrating from legacy Autodesk Forge APIs to modern Autodesk Platform Services (APS)
⚠️ Important: Forge APIs are being phased out. New applications should use APS APIs. Existing Forge applications must migrate by December 31, 2026.
Migration Overview
What’s Changing
| Aspect | Forge (Legacy) | APS (Current) | Impact |
|---|---|---|---|
| Base URL | developer.api.autodesk.com | developer.api.autodesk.com | No change |
| Branding | ”Forge" | "Autodesk Platform Services” | Marketing/docs only |
| API Endpoints | Mixed versions | Standardized versions | Some endpoints updated |
| Authentication | OAuth 2.0 | OAuth 2.0 | Scope format changes |
| SDKs | Forge SDKs | APS SDKs | Package names changed |
| Documentation | forge.autodesk.com | aps.autodesk.com | New doc site |
What Stays the Same
✅ OAuth 2.0 flow - Same authentication mechanism
✅ Core API functionality - Same capabilities
✅ File formats - Same supported formats
✅ Data structure - Same JSON responses
✅ Rate limits - Same throttling rules
API Endpoint Migration
Authentication API
| Forge Endpoint | APS Endpoint | Status | Notes |
|---|---|---|---|
/authentication/v1/authenticate | /authentication/v2/token | ✅ Updated | New version required |
/authentication/v1/authorize | /authentication/v2/authorize | ✅ Updated | New version required |
Migration Steps:
- Update endpoint URLs to use
/v2/instead of/v1/ - Update scope format (see OAuth Scopes section)
- Handle new response structure
RAPS Migration:
# Old Forge authentication
curl -X POST "https://developer.api.autodesk.com/authentication/v1/authenticate" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id=$CLIENT_ID&client_secret=$CLIENT_SECRET&grant_type=client_credentials&scope=data:read"
# With RAPS (handles APS v2 automatically)
raps auth login --default
Data Management API
| Forge Endpoint | APS Endpoint | Status | Notes |
|---|---|---|---|
/project/v1/* | /project/v1/* | ✅ No change | Same endpoints |
/data/v1/* | /data/v1/* | ✅ No change | Same endpoints |
Migration Steps:
- ✅ No changes required for Data Management API endpoints
- Update authentication to use v2 tokens
Model Derivative API
| Forge Endpoint | APS Endpoint | Status | Notes |
|---|---|---|---|
/modelderivative/v2/* | /modelderivative/v2/* | ✅ No change | Same endpoints |
Migration Steps:
- ✅ No changes required for Model Derivative API endpoints
- Update authentication to use v2 tokens
Object Storage Service (OSS)
| Forge Endpoint | APS Endpoint | Status | Notes |
|---|---|---|---|
/oss/v2/* | /oss/v2/* | ✅ No change | Same endpoints |
Migration Steps:
- ✅ No changes required for OSS API endpoints
- Update authentication to use v2 tokens
Design Automation API
| Forge Endpoint | APS Endpoint | Status | Notes |
|---|---|---|---|
/da/us-east/v2/* | /da/us-east/v3/* | ⚠️ Updated | Version bump required |
Migration Steps:
- Update endpoint URLs to use
/v3/instead of/v2/ - Review breaking changes in v3 API
- Update WorkItem and Activity definitions
RAPS Migration:
# RAPS automatically uses DA v3
raps da engines
# Create activities with the correct subcommand
raps da activity-create --file activity.json
OAuth Scopes Migration
Scope Format Changes
| Forge Scope (v1) | APS Scope (v2) | Notes |
|---|---|---|
data:read | data:read | ✅ No change |
data:write | data:write | ✅ No change |
data:create | data:create | ✅ No change |
bucket:read | bucket:read | ✅ No change |
bucket:create | bucket:create | ✅ No change |
bucket:delete | bucket:delete | ✅ No change |
code:all | code:all | ✅ No change |
viewables:read | viewables:read | ✅ No change |
account:read | account:read | ✅ No change |
account:write | account:write | ✅ No change |
Good News: OAuth scopes are identical between Forge and APS! No changes needed.
Token Structure
| Aspect | Forge | APS | Migration Required? |
|---|---|---|---|
| Token format | JWT | JWT | ✅ No |
| Expiration | 3600 seconds | 3600 seconds | ✅ No |
| Refresh tokens | Supported | Supported | ✅ No |
| Scope validation | Same | Same | ✅ No |
SDK Migration
JavaScript/Node.js
| Forge Package | APS Package | Install Command |
|---|---|---|
forge-apis | autodesk-aps-sdk | npm install autodesk-aps-sdk |
forge-data-management | @aps/data-management | npm install @aps/data-management |
Code Changes:
// Old Forge SDK
const ForgeSDK = require('forge-apis');
const forgeApi = new ForgeSDK.AuthClientTwoLegged(clientId, clientSecret, scopes);
// New APS SDK
const APS = require('autodesk-aps-sdk');
const apsApi = new APS.AuthenticationClient(clientId, clientSecret, scopes);
// With RAPS (no SDK needed for prototyping)
// raps auth login && raps project list
.NET
| Forge Package | APS Package | Install Command |
|---|---|---|
Autodesk.Forge | Autodesk.APS.SDK | dotnet add package Autodesk.APS.SDK |
Python
| Forge Package | APS Package | Install Command |
|---|---|---|
forge-python-wrapper | autodesk-aps-python | pip install autodesk-aps-python |
Java
| Forge Package | APS Package | Install Command |
|---|---|---|
forge-java-sdk | aps-java-sdk | Maven/Gradle dependency update |
Documentation Migration
URL Changes
| Forge Resource | APS Resource | Notes |
|---|---|---|
forge.autodesk.com | aps.autodesk.com | Main documentation |
learnforge.autodesk.io | tutorials.autodesk.io | Tutorials moved |
forge-tutorials.autodesk.io | tutorials.autodesk.io/tutorials/ | Path updated |
GitHub: autodesk-forge/* | GitHub: autodesk-platform-services/* | Repo organization |
Postman Collections
| Collection | Forge | APS |
|---|---|---|
| Download | Forge Postman | APS Postman |
| Base URL | Variable: {{forge_base_url}} | Variable: {{aps_base_url}} |
Migration Checklist
Phase 1: Assessment (Week 1)
-
Audit current Forge usage
- List all APIs currently used
- Identify authentication flows
- Document current scopes
- List SDK dependencies
-
Check compatibility
- Review API version requirements
- Verify scope requirements unchanged
- Test current tokens with APS endpoints
-
Plan migration timeline
- Prioritize critical applications
- Schedule testing phases
- Plan rollback strategy
RAPS Assessment:
# Test current APS credentials
raps auth test
# Verify 3-legged auth works
raps auth login --default
raps auth status
Phase 2: Development Environment (Week 2)
-
Update development environment
- Install new APS SDKs
- Update base URLs to use APS endpoints
- Update authentication to v2
- Test with development credentials
-
Code changes
- Update package dependencies
- Replace Forge SDK calls with APS equivalents
- Update error handling for new responses
- Update logging and monitoring
RAPS Development Testing:
# Set up APS development profile
raps config profile create dev-aps
raps config profile use dev-aps
raps config set client_id YOUR_DEV_CLIENT_ID
raps config set client_secret YOUR_DEV_SECRET
# Test common workflows
raps auth test
raps auth login --default
raps project list
raps translate start <test-urn> --format svf2 --wait
Phase 3: Testing (Week 3)
-
Functional testing
- Test all API operations
- Verify authentication flows
- Test error handling
- Performance benchmarking
-
Integration testing
- End-to-end workflow testing
- Third-party integration validation
- User acceptance testing
Phase 4: Production Migration (Week 4)
-
Production deployment
- Update production environment
- Switch API endpoints
- Monitor application health
- Validate data integrity
-
Post-migration
- Remove Forge SDK dependencies
- Update documentation
- Train support team
- Monitor for issues
Common Migration Issues
1. Authentication Token Issues
Problem: Forge v1 tokens not working with APS
Solution: Update to Authentication API v2
# Test APS v2 authentication
raps auth test
# Re-login with APS v2 (RAPS uses v2 by default)
raps auth login --default
2. SDK Breaking Changes
Problem: Method names changed in new SDKs
Solution: Update method calls according to new SDK documentation
// Old Forge method
forgeApi.authenticate().then(token => { ... });
// New APS method
apsApi.getAccessToken().then(token => { ... });
// Or skip SDKs entirely
// raps auth login && raps <command>
3. Design Automation v3 Changes
Problem: DA v2 Activities not compatible with v3
Solution: Recreate Activities using v3 format
# RAPS uses DA v3 by default - recreate activities in v3 format
raps da activity-create --file activity-v3.json
4. URL Reference Updates
Problem: Hardcoded Forge URLs in application
Solution: Update to APS URLs
// Update base URLs
const OLD_BASE = 'https://forge.autodesk.com';
const NEW_BASE = 'https://aps.autodesk.com';
// Better: Use configurable base URL
const baseUrl = process.env.APS_BASE_URL || 'https://aps.autodesk.com';
Performance Considerations
API Rate Limits
| API | Forge Limits | APS Limits | Change |
|---|---|---|---|
| Authentication | 500/min | 500/min | ✅ Same |
| Data Management | 100/min | 100/min | ✅ Same |
| Model Derivative | 20 concurrent | 20 concurrent | ✅ Same |
| OSS | 500/min | 500/min | ✅ Same |
| Design Automation | 50 concurrent | 50 concurrent | ✅ Same |
No performance impact expected from Forge to APS migration.
Caching Strategy
- ✅ Authentication tokens: Same caching strategy
- ✅ API responses: Same response format, no caching changes
- ✅ Rate limiting: Same rate limiting logic
Testing Your Migration
Compatibility Testing
# Test APS authentication
raps auth test
raps auth login --default
# Test core operations
raps project list
raps bucket list
raps translate status <test-urn>
Regression Testing
-
API Response Validation
- Compare JSON structure between Forge and APS
- Verify all fields present
- Test error responses
-
Workflow Testing
- Upload → Translate → View pipeline
- Authentication → API call chains
- Webhook event handling
-
Performance Testing
- Compare response times
- Test under load
- Monitor memory usage
Post-Migration Cleanup
Remove Legacy Dependencies
# JavaScript/Node.js
npm uninstall forge-apis
npm uninstall forge-data-management
# Python
pip uninstall forge-python-wrapper
# .NET
dotnet remove package Autodesk.Forge
Update Documentation
- Update API documentation references
- Change Forge → APS in user-facing text
- Update code examples
- Update support documentation
Monitor Migration Success
# Verify all operations work with APS v2
raps auth status
raps bucket list
raps project list
Migration Timeline Examples
Simple Application (1-2 APIs)
| Week | Tasks | Effort |
|---|---|---|
| Week 1 | Assessment, planning | 2-4 hours |
| Week 2 | Code changes, testing | 4-8 hours |
| Week 3 | Production deployment | 2-4 hours |
Complex Application (Multiple APIs)
| Week | Tasks | Effort |
|---|---|---|
| Week 1-2 | Assessment, planning | 8-16 hours |
| Week 3-4 | Code changes, unit testing | 16-32 hours |
| Week 5 | Integration testing | 8-16 hours |
| Week 6 | Production deployment, monitoring | 4-8 hours |
Enterprise Application
| Month | Phase | Tasks |
|---|---|---|
| Month 1 | Planning | Full audit, stakeholder alignment |
| Month 2 | Development | Code changes, CI/CD updates |
| Month 3 | Testing | Comprehensive testing, user training |
| Month 4 | Migration | Phased rollout, monitoring |
Getting Help
Migration Support Resources
-
Official Documentation
-
Community Support
-
Migration Tools
# RAPS auth commands raps auth --help raps auth test raps auth login --default
Professional Migration Services
For complex enterprise migrations, consider:
- Autodesk Professional Services
- Certified Autodesk Partners
- Independent APS consultants
FAQ
Q: Do I have to migrate immediately?
A: No, but Forge APIs will be sunset December 31, 2026. Plan your migration well in advance.
Q: Will my existing Forge tokens work with APS?
A: Forge v1 tokens will not work with APS v2 endpoints. You need to update to v2 authentication.
Q: Are there any breaking changes in API responses?
A: Most API responses are identical. The main change is authentication (v1 → v2).
Q: Can I use both Forge and APS during migration?
A: Yes, you can run both in parallel during your migration period.
Q: Does RAPS work with both Forge and APS?
A: RAPS uses APS APIs by default, but can be configured for backward compatibility during migration.
Q: What happens if I don’t migrate by the deadline?
A: Forge APIs will be shut down, breaking your application. Migration is mandatory.
💡 Pro Tip: Use RAPS CLI to simplify your migration. Instead of updating complex SDK code, many operations can be replaced with simple raps commands, reducing migration effort significantly.
Last updated: February 2026 | Migration deadline: December 31, 2026
This guide covers the most common migration scenarios. For complex cases, consult the official APS migration documentation.