BIM360/ACC Provisioning Checklist: Fix 403 Errors
The #1 cause of APS API 403 errors β and how to fix them
β οΈ The Problem
Getting 403 Forbidden errors when calling APS APIs with BIM360 or Autodesk Construction Cloud (ACC)? Youβre not alone.
The root cause: Developers donβt realize they must manually enable custom integrations from the ACC admin console. This isnβt mentioned in most tutorials, causing hours of frustration.
π― Quick Fix
If youβre getting 403 errors, skip to Step 3 β thatβs usually the missing piece.
π Complete Setup Checklist
Step 1: Create APS Application
β Prerequisites:
- Autodesk account with developer access
- Access to aps.autodesk.com
β App Creation:
- Logged into APS Developer Portal
- Created new application
- Noted Client ID (youβll need this exact value)
- Noted Client Secret (keep secure!)
- Set Callback URL correctly:
- Development:
http://localhost:3000/callback - Production: Your actual domain
- Development:
- Selected required API access:
- β Data Management API
- β Model Derivative API
- β Any other APIs you need
Step 2: Verify ACC Admin Access
β Account Requirements:
- You are an Account Admin in ACC/BIM360 (not just Project Admin)
- Your ACC subscription is active
- You can access Account Administration settings
β If youβre NOT an Account Admin:
Contact your ACC Account Admin and ask them to:
1. Add your APS Client ID to custom integrations
2. Grant required permissions
3. Share the integration details with you
Step 3: Enable Custom Integration (CRITICAL STEP)
π¨ This step is missed by 90% of developers
β In ACC Admin Console:
- Logged into ACC as Account Admin
- Navigated to: Account Admin β Settings β Custom Integrations
- Clicked βAdd Custom Integrationβ
- Entered your exact Client ID from Step 1
- Selected required access levels:
- β BIM 360 Account Admin (for account-level operations)
- β BIM 360 Docs (for file operations)
- β Any additional services you need
- Completed the integration wizard
- Waited 5-10 minutes for propagation
β±οΈ Common mistake: Not waiting for propagation. Changes take 5-10 minutes.
Step 4: Per-Project Setup (If Using 2-Legged Auth)
β Project-Level Access:
- Added the custom integration to specific projects
- Verified integration appears in Project Admin β Integrations
- Granted necessary project permissions
β For 3-Legged Auth:
- Ensured user has project access
- User accepted any pending invitations
- User has appropriate role (Admin, Member, etc.)
Step 5: Test Authentication
β Basic Connection Test:
# Using RAPS CLI
raps auth login
raps dm projects
# Should list your ACC projects without 403 errors
β Manual API Test:
# Get 3-legged token first, then:
curl -X GET \
'https://developer.api.autodesk.com/project/v1/hubs' \
-H 'Authorization: Bearer YOUR_3LEGGED_TOKEN'
# Should return hub data, not 403
π§ Troubleshooting 403 Errors
Error: βclient_id does not have accessβ
β Cause: Integration not added to ACC (Step 3 skipped) β Fix: Complete Step 3 β add Client ID to Custom Integrations
Error: βUser not authorizedβ
β Cause: User lacks project permissions β Fix: Grant user project access or use 2-legged auth
Error: βProject not foundβ
β Cause: 3-legged token from wrong user β Fix: Ensure user has access to the specific project
Error: βForbiddenβ (generic)
β Cause: Multiple possible issues β Fix: Work through checklist step by step
π Auth Flow Comparison
| Auth Type | When to Use | Setup Requirements | Common Issues |
|---|---|---|---|
| 2-Legged | Server-to-server automation | Custom Integration + Project access | Forget project setup |
| 3-Legged | User-interactive apps | Custom Integration + User consent | Wrong user permissions |
π‘ RAPS CLI handles both flows automatically:
# 3-legged (interactive)
raps auth login
# 2-legged (automated)
raps auth set --client-id ID --client-secret SECRET
π Timeline for Setup
| Step | Time Required | Can Be Automated? |
|---|---|---|
| 1. Create APS app | 5 minutes | No |
| 2. Verify admin access | 0-24 hours | No |
| 3. Add custom integration | 5 minutes | No |
| 4. Project setup | 2 minutes/project | Partially |
| 5. Test connection | 1 minute | Yes |
Total: 15-30 minutes + admin approval time
π¨ Common Gotchas
1. Client ID Copy-Paste Errors
Problem: Typos when copying Client ID to ACC Solution: Copy-paste, donβt type manually
2. Regional Differences
Problem: EMEA accounts have different requirements Solution: Use correct base URL and region headers
3. Multi-Tenant Confusion
Problem: Multiple ACC accounts, wrong integration Solution: Verify youβre in the correct account
4. Permission Inheritance
Problem: Assuming project permissions = account permissions Solution: Grant both account AND project access
π Migration from Forge
If migrating from Forge:
Old Forge App β New APS App:
β
Same process applies
β
Must still add Client ID to ACC Custom Integrations
β
No automatic permission transfer
Migration checklist:
- Created new APS app (or migrated existing)
- Updated ACC Custom Integrations with new Client ID
- Tested all project access
- Updated application code to use APS endpoints
π» Testing with RAPS CLI
Validate your setup:
# 1. Check authentication
raps auth status
# 2. List accessible hubs
raps dm hubs
# 3. List projects in each hub
raps dm projects --hub-id <hub-id>
# 4. Test file operations
raps dm folders <project-id>
# 5. Verify provisioning status
raps acc check-provisioning
Expected output:
- β No 403 errors
- β Your ACC projects listed
- β Folder structure visible
π When You Need Help
Still getting 403s after following this guide?
Check these:
- Timing: Wait 15+ minutes after adding integration
- Region: Ensure consistent US/EMEA region usage
- Scopes: Verify your token has required scopes
- User: Confirm the user actually has project access
Get support:
- π RAPS Discord: discord.gg/raps
- π§ Email: support@rapscli.xyz
- π€ RAPS CLI:
raps support create-ticket
π― Success Checklist
Youβre ready when:
- No 403 errors on basic API calls
- Can list ACC projects via API
- Can upload/download files
- RAPS CLI authentication works
- All team members can access
Time saved: ~4 hours of debugging per developer π
π Related Guides
- 3-Legged Auth Visual Walkthrough β Understanding OAuth flow
- Token Refresh Patterns β Production authentication
- Region Mismatch Debugger β US/EMEA troubleshooting
Last Updated: January 2026 | RAPS v4.2.1
Based on community feedback from 1000+ developers