Docs / getting started
beginner 15 min read

Which APS API Do I Need? - Decision Tree Guide

Interactive flowchart to help developers choose the right Autodesk Platform Services API for their project

Which APS API Do I Need?

Interactive decision tree to help you choose the right Autodesk Platform Services API for your project


Quick Decision Flowchart

flowchart TD
    Start([What do you want to build?]) --> Q1{Need to display 3D models<br/>in a web browser?}
    
    Q1 -->|Yes| Viewer[🎯 **Viewer SDK** + Model Derivative<br/>πŸ“‹ Use: Initialize 3D viewer<br/>πŸ“¦ Formats: SVF2, SVF<br/>πŸ’‘ RAPS: `raps translate download &lt;urn&gt;`]
    
    Q1 -->|No| Q2{Need to store/manage files<br/>in the cloud?}
    
    Q2 -->|Yes| Q3{Working with BIM 360/<br/>ACC projects?}
    
    Q3 -->|Yes| BIM360[🎯 **Data Management API**<br/>πŸ“‹ Use: Project files & folders<br/>πŸ“¦ Context: User's BIM projects<br/>πŸ’‘ RAPS: `raps project list`<br/>πŸ”‘ Auth: 3-legged OAuth]
    
    Q3 -->|No| Q4{Just need simple<br/>file storage?}
    
    Q4 -->|Yes| OSS[🎯 **Object Storage Service**<br/>πŸ“‹ Use: Upload/download files<br/>πŸ“¦ Context: Your app's storage<br/>πŸ’‘ RAPS: `raps object upload &lt;file&gt; &lt;bucket&gt;`<br/>πŸ”‘ Auth: 2-legged OAuth]
    
    Q2 -->|No| Q5{Need to convert<br/>file formats?}
    
    Q5 -->|Yes| Q6{Converting to viewable<br/>formats for web?}
    
    Q6 -->|Yes| Translate[🎯 **Model Derivative API**<br/>πŸ“‹ Use: File format conversion<br/>πŸ“¦ Outputs: SVF2, PDF, OBJ, STL<br/>πŸ’‘ RAPS: `raps translate &lt;urn&gt; --format svf2`]
    
    Q6 -->|No| Q7{Need to extract model<br/>properties/metadata?}
    
    Q7 -->|Yes| Properties[🎯 **Model Derivative API**<br/>πŸ“‹ Use: Property extraction<br/>πŸ“¦ Gets: Element properties, geometry<br/>πŸ’‘ RAPS: `raps translate properties &lt;urn&gt;`]
    
    Q5 -->|No| Q8{Need to automate CAD<br/>software operations?}
    
    Q8 -->|Yes| Q9{Which CAD software?}
    
    Q9 --> AutoCAD[🎯 **Design Automation**<br/>πŸ“‹ Engine: AutoCAD<br/>πŸ“¦ Use: DWG processing, script execution<br/>πŸ’‘ RAPS: `raps da submit-workitem`]
    
    Q9 --> Revit[🎯 **Design Automation**<br/>πŸ“‹ Engine: Revit<br/>πŸ“¦ Use: BIM model processing<br/>πŸ’‘ RAPS: `raps da engines --filter revit`]
    
    Q9 --> Inventor[🎯 **Design Automation**<br/>πŸ“‹ Engine: Inventor<br/>πŸ“¦ Use: Mechanical CAD automation<br/>πŸ’‘ RAPS: `raps da engines --filter inventor`]
    
    Q9 --> Max[🎯 **Design Automation**<br/>πŸ“‹ Engine: 3ds Max<br/>πŸ“¦ Use: 3D rendering, animation<br/>πŸ’‘ RAPS: `raps da engines --filter max`]
    
    Q8 -->|No| Q10{Need notifications when<br/>files change?}
    
    Q10 -->|Yes| Webhooks[🎯 **Webhooks API**<br/>πŸ“‹ Use: Event notifications<br/>πŸ“¦ Events: File uploads, translations<br/>πŸ’‘ RAPS: `raps webhook create --event dm.version.added`]
    
    Q10 -->|No| Q11{Need to manage BIM 360/<br/>ACC account settings?}
    
    Q11 -->|Yes| Admin[🎯 **ACC/BIM 360 Admin APIs**<br/>πŸ“‹ Use: Project setup, user management<br/>πŸ“¦ Scope: Account administration<br/>πŸ’‘ RAPS: `raps acc projects --account &lt;id&gt;`]
    
    Q11 -->|No| Auth[🎯 **Authentication API**<br/>πŸ“‹ Use: Get access tokens<br/>πŸ“¦ Types: 2-legged, 3-legged OAuth<br/>πŸ’‘ RAPS: `raps auth login`]
    
    Q7 -->|No| Q8

Common Use Case Scenarios

1. 🌐 Web-Based 3D Model Viewer

β€œI want users to view 3D models in my web application”

APIs Needed:

  • Model Derivative API β†’ Convert files to web-viewable formats
  • Viewer SDK β†’ Display models in browser
  • Object Storage Service β†’ Store original files

Typical Workflow:

# Manual approach: 5+ API calls, complex geometry handling
# With RAPS:
raps auth login
raps object upload mybucket model.rvt
URN=$(echo -n "urn:adsk.objects:os.object:mybucket:model.rvt" | base64 | tr '+/' '-_' | tr -d '=')
raps translate start "$URN" --format svf2 --wait
raps translate download "$URN"

Authentication: 2-legged OAuth (server apps) or 3-legged (user apps)
Key Scopes: data:read, viewables:read, bucket:read


2. πŸ“ BIM 360/ACC File Management

β€œI need to access files from BIM 360 or Autodesk Construction Cloud projects”

APIs Needed:

  • Data Management API β†’ Access project files and folders
  • Authentication API β†’ User authorization (3-legged OAuth)

Typical Workflow:

# Manual approach: Complex hub/project hierarchy navigation
# With RAPS:
raps auth login --default  # scopes: account:read,data:read
raps project list
raps folder list <project-id>
raps object download <item-id> ./local-file.rvt

Authentication: 3-legged OAuth (user must have project access)
Key Scopes: account:read, data:read, data:write (if uploading)


3. πŸ”„ Batch File Processing

β€œI need to convert hundreds of CAD files to different formats”

APIs Needed:

  • Object Storage Service β†’ Upload source files
  • Model Derivative API β†’ Batch translation jobs
  • Webhooks (optional) β†’ Get notified when translations complete

Typical Workflow:

# Manual approach: Complex job queuing, polling, error handling
# With RAPS:
raps bucket create batch-processing
raps object upload-batch *.dwg --bucket batch-processing
raps translate-batch --bucket batch-processing --format pdf,svf2 --parallel 5

Authentication: 2-legged OAuth
Key Scopes: bucket:create, bucket:read, data:read


4. πŸ€– CAD Automation & Scripting

β€œI want to automate repetitive tasks in AutoCAD/Revit/Inventor”

APIs Needed:

  • Design Automation API β†’ Run scripts on cloud-hosted CAD engines
  • Object Storage Service β†’ Input/output file storage

Typical Workflow:

# Manual approach: Complex AppBundle/Activity setup, WorkItem management
# With RAPS:
raps da engines --filter autocad
raps da create-activity MyDrawingProcessor --engine Autodesk.AutoCAD+24
raps da submit-workitem MyDrawingProcessor --input drawing.dwg --script process.scr

Authentication: 2-legged OAuth
Key Scopes: code:all, bucket:read, bucket:create


5. πŸ“Š Model Data Extraction

β€œI need to extract properties, geometry, or metadata from CAD models”

APIs Needed:

  • Model Derivative API β†’ Extract properties and metadata
  • Object Storage Service or Data Management β†’ Source file access

Typical Workflow:

# Manual approach: Multi-step manifest navigation, GUID handling
# With RAPS:
raps translate <urn> --format svf2
raps translate properties <urn> --output properties.json
raps translate metadata <urn> --guid <model-guid>

Authentication: 2-legged OAuth
Key Scopes: data:read, viewables:read


API Comparison Matrix

Use CasePrimary APISecondary APIsRAPS CommandsAuthentication Type
3D Web ViewerModel DerivativeViewer SDK, OSSraps translate download, raps translate2-legged or 3-legged
BIM 360 FilesData Management-raps project list, raps object download3-legged only
Simple File StorageObject Storage-raps object upload, raps bucket create2-legged
Format ConversionModel DerivativeOSSraps translate --formats2-legged
CAD AutomationDesign AutomationOSSraps da submit-workitem2-legged
Property ExtractionModel Derivative-raps translate properties2-legged
Event NotificationsWebhooksData Mgmt/Model Derivraps webhook create2-legged
Account ManagementACC/BIM 360 AdminData Managementraps acc projects3-legged only

Authentication Decision Tree

flowchart TD
    AuthStart([Choose Authentication Type]) --> UserApp{Building a user-facing<br/>application?}
    
    UserApp -->|Yes| NeedBIM{Need access to user's<br/>BIM 360/ACC projects?}
    
    NeedBIM -->|Yes| ThreeLegged[πŸ”‘ **3-Legged OAuth**<br/>πŸ“‹ User authorizes your app<br/>πŸ“¦ Access: User's projects only<br/>πŸ’‘ RAPS: `raps auth login`]
    
    NeedBIM -->|No| ServerApp{Server-to-server<br/>processing only?}
    
    UserApp -->|No| ServerApp
    
    ServerApp -->|Yes| TwoLegged[πŸ”‘ **2-Legged OAuth**<br/>πŸ“‹ App credentials only<br/>πŸ“¦ Access: Your app's resources<br/>πŸ’‘ RAPS: `raps auth login`]
    
    ServerApp -->|No| ThreeLegged

Authentication Examples

3-Legged OAuth Use Cases:

  • Web app where users upload their own files
  • Mobile app accessing user’s BIM 360 projects
  • Integration with user’s Autodesk account data

2-Legged OAuth Use Cases:

  • Batch processing service
  • File conversion API
  • Background automation tasks
  • Public file viewing (non-user-specific)

Scope Requirements by API

API CategoryRequired ScopesOptional ScopesRAPS Example
Object Storagebucket:readbucket:create, bucket:deleteraps auth login --default # scopes: bucket:read,bucket:create
Data Managementdata:readdata:write, data:createraps auth login --default # scopes: data:read,data:write,data:create
Model Derivativedata:read, viewables:read-raps auth login --default # scopes: data:read,viewables:read
Design Automationcode:allbucket:createraps auth login --default # scopes: code:all,bucket:create
BIM 360/ACCaccount:read, data:readaccount:write, data:writeraps auth login --default # scopes: account:read,data:read
WebhooksSame as target API-raps webhook create --scopes-inherit

File Format Support Guide

Input Formats by API

File TypeExtensionModel DerivativeDesign AutomationViewer SDK
AutoCAD.dwg, .dxfβœ…βœ… (AutoCAD engine)βœ… (via translation)
Revit.rvt, .rfa, .rteβœ…βœ… (Revit engine)βœ… (via translation)
Inventor.ipt, .iam, .ipnβœ…βœ… (Inventor engine)βœ… (via translation)
Fusion 360.f3dβœ…βœ… (Fusion engine)βœ… (via translation)
3ds Max.maxβœ…βœ… (3ds Max engine)βœ… (via translation)
SolidWorks.sldprt, .sldasmβœ…βŒβœ… (via translation)
SketchUp.skpβœ…βŒβœ… (via translation)
IFC.ifcβœ…βŒβœ… (via translation)

Output Formats from Model Derivative

PurposeFormatExtensionRAPS Command
Web ViewingSVF2 (modern).svf2raps translate <urn> --format svf2
Web ViewingSVF (legacy).svfraps translate <urn> --format svf
3D PrintingSTL.stlraps translate <urn> --format stl
3D MeshOBJ.objraps translate <urn> --format obj
2D DrawingsPDF.pdfraps translate <urn> --format pdf
CAD ExchangeDWG.dwgraps translate <urn> --format dwg
PropertiesJSON.jsonraps translate properties <urn>
ThumbnailsPNG.pngraps translate <urn> --format thumbnail

Regional Considerations

Data Residency Requirements

RegionEndpointUse WhenRAPS Setting
USdeveloper.api.autodesk.comNorth America, defaultraps config set region us
EMEAdeveloper.api.autodesk.comEurope, Middle East, Africaraps config set region emea

Note: Most APS APIs are globally distributed, but some services (like OSS buckets) have regional preferences for performance.


Next Steps

Once You Know Your API

  1. Set Up Authentication

    raps auth login --default  # scopes: <required-scopes>
  2. Test Basic Connectivity

    raps auth status
    raps <api-command> --help
  3. Start with RAPS Examples

    raps examples <api-name>
  4. Review Detailed Documentation

Still Not Sure?

Common Combinations:

  • Simple file viewer: OSS + Model Derivative + Viewer SDK
  • BIM 360 integration: Data Management + Model Derivative
  • Batch processing: OSS + Design Automation
  • Full construction workflow: All APIs

Get Help:


πŸ’‘ Pro Tip: Start with RAPS CLI to prototype your workflow quickly. Once you understand the API flow, you can always implement the same logic directly using HTTP requests or SDKs.


Last verified: February 2026 | RAPS v4.14.0 | APS APIs: Auth v2, DM v1, MD v2, OSS v2, DA v3
This decision tree covers 90% of APS use cases. For specialized scenarios, consult the official APS documentation.