References / error-codes

APS/Forge API Error Codes Reference

Complete guide to Autodesk Platform Services error codes with solutions

APS/Forge API Error Codes Reference

Quick lookup for Autodesk Platform Services (APS) and Forge API errors with practical solutions


Authentication Errors (401/403)

401 Unauthorized

ContextLikely CauseManual SolutionRAPS Solution
All APIsToken missing/invalidCheck Authorization header formatraps auth status to verify
All APIsToken expiredGet new token via auth flowRe-run raps auth login (auto-refresh handles most cases)
All APIsMalformed tokenVerify Bearer prefix and token formatraps auth inspect to check token details

Example Error:

{
  "developerMessage": "The request requires user authentication",
  "errorCode": "AUTH-001",
  "more info": "https://aps.autodesk.com/en/docs/oauth/v2/overview/"
}

Quick Fix with RAPS:

# Check current auth status
raps auth status

# Inspect token details and expiry
raps auth inspect

# Re-authenticate if needed
raps auth login

403 Forbidden

ContextLikely CauseManual SolutionRAPS Solution
Data ManagementInsufficient scopesAdd data:read or data:write to appRe-login with raps auth login --preset all
BIM360/ACCNo project accessUser must be added to projectCheck with raps hub list and raps project list
OSSWrong bucket permissionsCheck bucket policy and ownershipraps bucket list shows accessible buckets
Model DerivativeSource file access deniedVerify file permissionsraps translate status <urn> shows detailed errors

Example Error:

{
  "developerMessage": "Insufficient privileges to access this resource",
  "errorCode": "FORBIDDEN",
  "more info": "https://aps.autodesk.com/en/docs/data/v1/overview/scopes"
}

Request Format Errors (400)

400 Bad Request

API ContextCommon CausesManual DiagnosisRAPS Prevention
All APIsInvalid JSON syntaxValidate JSON with linterRAPS validates all payloads
Model DerivativeURN not base64-encodedUse base64url encodingEncode manually: echo -n "urn:..." | base64 | tr '+/' '-_' | tr -d '='
Model DerivativeInvalid output formatCheck supported format listraps translate start --help shows options
Data ManagementInvalid folder/item hierarchyVerify parent relationshipsraps folder list shows structure
OSSInvalid bucket nameCheck naming conventionsraps bucket create validates interactively

URN Encoding:

# Base64 URL-safe encode a URN
echo -n "urn:adsk.objects:os.object:bucket/file.dwg" | base64 | tr '+/' '-_' | tr -d '='

Resource Not Found (404)

404 Not Found

API ContextLikely CauseInvestigation StepsRAPS Debugging
Model DerivativeURN doesn’t exist or wrong encodingCheck OSS bucket contents firstraps object list <bucket> to verify file exists
Data ManagementProject/folder/item deletedVerify in web interfaceraps project list and raps folder list
OSSBucket or object deletedList bucket contentsraps bucket list and raps object list <bucket>
Design AutomationActivity/AppBundle not foundCheck DA consoleraps da engines to verify setup

Debugging Workflow:

# 1. Check if file exists in OSS
raps object list mybucket

# 2. Encode URN manually
echo -n "urn:adsk.objects:os.object:mybucket:model.rvt" | base64 | tr '+/' '-_' | tr -d '='

# 3. Check translation status
raps translate status <encoded_urn>

Conflict Errors (409)

409 Conflict

API ContextSpecific IssueManual ResolutionRAPS Resolution
OSSBucket already existsChoose different name or use existingraps bucket list first, then create
Design AutomationActivity/AppBundle name conflictUse versioning or different nameUse raps da activity-create with new ID

Rate Limiting (429)

429 Too Many Requests

APIStandard LimitsBackoff StrategyRAPS Handling
Authentication500/minExponential backoff (2^n seconds)Built-in rate limiting
Data Management100/minLinear backoff (1s increments)Automatic queuing
Model Derivative20 concurrent translationsQueue locallySubmit sequentially with --wait
OSS500/minExponential backoffSmart batching
Design Automation50 concurrent WorkItemsQueue and monitorAutomatic WorkItem management

Rate Limit Headers:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1640995200

RAPS handles rate limiting automatically with built-in exponential backoff and retry logic.


Server Errors (500/503)

500 Internal Server Error

When It HappensLikely CauseAction RequiredRAPS Response
Translation jobsService overload or file corruptionRetry after delayAutomatic retry with exponential backoff
File uploadsNetwork interruption or service issueRetry with same URNraps object upload <bucket> <file> --resume
Any APIAutodesk infrastructure issueCheck status.autodesk.comBuilt-in retry logic

503 Service Unavailable

Usually indicates planned maintenance or unplanned service disruption.

RAPS Resilience: RAPS includes built-in retry logic with exponential backoff for transient errors (429, 500, 503).


Model Derivative Specific Errors

Translation Failed

Common Manifest Error Messages:

Error MessageCauseSolution
”Unsupported file format”File extension not recognizedCheck supported formats
”File is empty or corrupted”Upload corrupted or incompleteRe-upload source file
”Missing dependencies”Assembly references missingUpload all dependency files
”Invalid password”Encrypted file, wrong passwordProvide correct password in translate request
”File too large”Exceeds size limitsSplit file or use Design Automation

Translation Debugging:

# Check translation status
raps translate status <urn>

# Get full manifest with error details
raps translate manifest <urn>

# Re-translate with force flag
raps translate start <urn> --format svf2 --force --wait

Design Automation Specific Errors

WorkItem Failures

StatusDescriptionCommon Cause
failedLimitDataSizeOutput too largeReduce output or increase limits
failedLimitProcessingTimeTimeout exceededOptimize script or increase timeout
failedDownloadInput download failedCheck input URLs and permissions
failedInstructionsScript execution failedDebug script locally first

Design Automation Debugging:

# List available engines
raps da engines

# Re-create and re-run
raps da appbundle-create --id MyPlugin --engine Autodesk.AutoCAD+24
raps da run --activity MyPlugin.MyActivity+prod --file workitem.json

BIM360/ACC Specific Errors

Project Access Issues

Error CodeContextMeaningRAPS Check
FORBIDDENProject accessUser not in project or app not provisionedraps hub list then raps project list
NOT_FOUNDProject IDInvalid or deleted projectraps project list
INVALID_SCOPEAPI permissionsWrong scope for operationraps auth status then re-login with --preset all

OAuth/Authentication Deep Dive

Scope Issues

Required ActionMinimum ScopesRAPS Command
Read filesdata:readraps auth login --default
Upload filesdata:read data:write data:createraps auth login --default
Translate modelsdata:read viewables:readraps auth login --default
Design Automationcode:allraps auth login --preset all
BIM360/ACC adminaccount:read account:writeraps auth login --preset all

Scopes are selected interactively during raps auth login, or use --default for common scopes or --preset all for all scopes.

Token Troubleshooting

# View current token info
raps auth status

# Check token details, expiry, and scopes
raps auth inspect

# Check token health with expiry warning (for CI)
raps auth inspect --warn-expiry-seconds 300

# Show authenticated user info
raps auth whoami

Quick Diagnostic Commands

Common Debug Workflow

# 1. Verify authentication
raps auth status

# 2. Check token details
raps auth inspect

# 3. Test basic connectivity
raps bucket list

# 4. Check specific resource
raps translate status <urn>

Error Prevention Best Practices

1. Authenticate Properly

# Use default scopes for most operations
raps auth login --default

# Or use all scopes for full access
raps auth login --preset all

# For CI/CD, inject token directly
raps auth login --token $APS_ACCESS_TOKEN

2. Verify Before Operations

# Check auth before making API calls
raps auth inspect --warn-expiry-seconds 300

# List buckets before creating duplicates
raps bucket list

# Check translation status before re-translating
raps translate status <urn>

Getting Help

When Errors Persist

  1. Check Autodesk Status Page
  2. Search APS Community Forums
  3. Review Official APS Documentation

Last verified: February 2026 against APS API v2 and RAPS v4.14.0 APIs evolve. If something doesn’t work, open an issue.