SDK + auth + viewer-manifest stubs are wired. Live API calls activate when the env vars below are set and the feature flag is on.
Overall: scaffold only
APS_ENABLED is off or APS_CLIENT_ID/APS_CLIENT_SECRET are unset. Real 2-legged token acquisition is deferred until the integration is unblocked by the operator.
Provision a 2-legged Forge app at aps.autodesk.com with the data:read and viewables:read scopes, then set these on the staging Container App (or local .env.local):
APS_ENABLED=1 APS_CLIENT_ID=<your forge client id> APS_CLIENT_SECRET=<your forge client secret> APS_BASE_URL=https://developer.api.autodesk.com # optional APS_REGION=US # or EMEA
Restart the web app after setting the values. The flag defaults to off so a forgotten secret can't accidentally activate the integration in production.
The Models register at /projects/{id}/models owns the upload + metadata side. The viewer shell lives separately at /projects/{id}/bim so the register stays useful even with this integration off.