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 view &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 dm projects`<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 oss 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; --formats 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 oss upload model.rvt mybucket
raps translate $(raps urn encode "urn:adsk.objects:os.object:mybucket:model.rvt") --wait
raps view $(raps urn encode "urn:adsk.objects:os.object:mybucket:model.rvt")

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 --3legged --scopes account:read,data:read
raps dm projects
raps dm folders <project-id>
raps dm 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 oss upload-batch *.dwg --bucket batch-processing
raps translate-batch --bucket batch-processing --formats 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> --formats properties
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 Case Primary API Secondary APIs RAPS Commands Authentication Type
3D Web Viewer Model Derivative Viewer SDK, OSS raps view, raps translate 2-legged or 3-legged
BIM 360 Files Data Management - raps dm projects, raps dm download 3-legged only
Simple File Storage Object Storage - raps oss upload, raps bucket create 2-legged
Format Conversion Model Derivative OSS raps translate --formats 2-legged
CAD Automation Design Automation OSS raps da submit-workitem 2-legged
Property Extraction Model Derivative - raps translate properties 2-legged
Event Notifications Webhooks Data Mgmt/Model Deriv raps webhook create 2-legged
Account Management ACC/BIM 360 Admin Data Management raps acc projects 3-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 --3legged`]
    
    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 Category Required Scopes Optional Scopes RAPS Example
Object Storage bucket:read bucket:create, bucket:delete raps auth login --scopes bucket:read,bucket:create
Data Management data:read data:write, data:create raps auth login --scopes data:read,data:write,data:create
Model Derivative data:read, viewables:read - raps auth login --scopes data:read,viewables:read
Design Automation code:all bucket:create raps auth login --scopes code:all,bucket:create
BIM 360/ACC account:read, data:read account:write, data:write raps auth login --3legged --scopes account:read,data:read
Webhooks Same as target API - raps webhook create --scopes-inherit

File Format Support Guide

Input Formats by API

File Type Extension Model Derivative Design Automation Viewer 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

Purpose Format Extension RAPS Command
Web Viewing SVF2 (modern) .svf2 raps translate <urn> --formats svf2
Web Viewing SVF (legacy) .svf raps translate <urn> --formats svf
3D Printing STL .stl raps translate <urn> --formats stl
3D Mesh OBJ .obj raps translate <urn> --formats obj
2D Drawings PDF .pdf raps translate <urn> --formats pdf
CAD Exchange DWG .dwg raps translate <urn> --formats dwg
Properties JSON .json raps translate properties <urn>
Thumbnails PNG .png raps translate <urn> --formats thumbnail

Regional Considerations

Data Residency Requirements

Region Endpoint Use When RAPS Setting
US developer.api.autodesk.com North America, default raps config set region us
EMEA developer.api.autodesk.com Europe, Middle East, Africa raps 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 --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: January 2026 | RAPS v4.2.1 | 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.