APS Developer Cheat Sheet

Single-page reference for Autodesk Platform Services (APS) with RAPS CLI shortcuts

Last verified: January 2026
RAPS v4.2.1+
APS APIs: Auth v2, DM v1, MD v2, OSS v2, DA v3
πŸ“„ Download PDF

πŸ” Authentication

OAuth Flow Comparison

2-Legged OAuth 3-Legged OAuth RAPS Command
Use Case: Server-to-server Use Case: User-facing apps -
Context: App identity only Context: User + app identity -
BIM360/ACC: Limited access BIM360/ACC: Full project access -
Grant Type: client_credentials Grant Type: authorization_code -
Endpoint: /authentication/v2/token Endpoint: /authentication/v2/authorize + /token -
raps auth login raps auth login --3legged Default: 2-legged

Essential OAuth Scopes

Scope Purpose Required For RAPS Usage
data:read Read files/projects Download, list contents --scopes data:read
data:write Modify metadata Update file properties --scopes data:read,data:write
data:create Upload files File uploads, folder creation --scopes data:read,data:write,data:create
viewables:read View models Viewer SDK, derivatives --scopes viewables:read
code:all Design Automation All DA operations --scopes code:all

Token Lifecycle

Manual Process

  • β€’ POST to /authentication/v2/token
  • β€’ Store token + refresh logic
  • β€’ Check expiry (1 hour default)
  • β€’ Refresh when needed
  • β€’ Handle auth errors manually

RAPS Equivalent

  • β€’ raps auth login
  • β€’ Automatic token management
  • β€’ raps auth status
  • β€’ raps auth refresh
  • β€’ Built-in retry with refresh

πŸ“ Data Management API

Project Hierarchy

Hub (Company/Account)
β”œβ”€β”€ Project 1
β”‚   β”œβ”€β”€ Folder A
β”‚   β”‚   β”œβ”€β”€ Item 1
β”‚   β”‚   β”‚   β”œβ”€β”€ Version 1
β”‚   β”‚   β”‚   β””── Version 2 (latest)
β”‚   β”‚   β””── Item 2
β”‚   β””── Folder B
└── Project 2

Common Endpoints

Operation Manual API Call RAPS Command
List Hubs GET /project/v1/hubs raps dm hubs
List Projects GET /project/v1/hubs/{hub_id}/projects raps dm projects
Upload File Multi-step: Create storage β†’ Upload β†’ Create item β†’ Create version raps dm upload <file> --project <id>
Download File GET /data/v1/projects/{project_id}/downloads + download URL raps dm download <item_id>

URN Formats

OSS Object: urn:adsk.objects:os.object:{bucket}:{object}
Data Management: urn:adsk.wipprod:dm.lineage:{item_id}
Encoded URN: Base64 URL-safe encoding
Manual (error-prone):
echo -n "urn:adsk.objects..." | base64 | tr '+/' '-_' | tr -d '='
With RAPS:
raps urn encode "urn:adsk.objects:os.object:bucket/file.dwg"

πŸ—„οΈ Object Storage Service (OSS)

Bucket Operations

Operation RAPS Command
List Buckets raps bucket list
Create Bucket raps bucket create <name>
Bucket Details raps bucket info <name>

Object Operations

Operation RAPS Command
List Objects raps oss list <bucket>
Upload Object raps oss upload <file> <bucket>
Download Object raps oss download <bucket> <object>

Bucket Naming Rules

βœ… Allowed

  • β€’ 3-128 characters
  • β€’ Lowercase letters, numbers, hyphens
  • β€’ Must start/end with letter or number

❌ Not Allowed

  • β€’ Spaces, underscores, special chars
  • β€’ Cannot look like IP address
  • β€’ Uppercase letters

πŸ”„ Model Derivative API

Translation Workflow

1. Upload to OSS or Data Management
2. Start Translation Job β†’ GET Job Status (polling)
3. Translation Complete β†’ Download Manifest
4. Extract Viewables/Properties

Translation Operations

Operation RAPS Command
Start Translation raps translate <urn> --formats svf2
Check Status raps translate status <urn>
Wait for Completion raps translate <urn> --wait
Get Properties raps translate properties <urn>

Output Formats

svf2 Web viewer (modern)
pdf 2D drawings
obj 3D meshes
stl 3D printing
ifc Industry standard

Status Codes

pending Job queued
inprogress Processing
success Completed
failed Processing failed

⚠️ Common Error Codes

Code API Cause RAPS Prevention
400 All Invalid request format Built-in validation
401 All Authentication failed raps auth refresh
403 All Insufficient permissions raps auth status --scopes
404 Model Derivative URN not found raps urn encode
429 All Rate limit exceeded Built-in rate limiting

πŸ“Š Rate Limits

API Limit Window RAPS Handling
Authentication 500 requests/min 1 minute Automatic token reuse
Data Management 100 requests/min 1 minute Intelligent batching
Model Derivative 20 concurrent jobs - Queue management
OSS 500 requests/min 1 minute Parallel optimization

πŸ”§ Quick Setup Commands

First-Time Setup

# Install RAPS
# Windows: scoop install raps
# macOS: brew install raps
# Linux: cargo install raps-cli
# Initial authentication
raps auth login
# Test connectivity
raps auth status
raps dm projects --limit 1

Common Workflows

# File Upload β†’ Translation β†’ View
raps oss upload model.rvt mybucket
raps translate $(raps urn encode \
  "urn:adsk.objects:os.object:mybucket:model.rvt") --wait
# Batch Operations
raps oss upload-batch *.dwg --bucket mybucket
raps translate-batch --bucket mybucket --formats svf2

🚨 Emergency Commands

Authentication Issues

raps auth refresh
raps auth login --force
raps auth status --verbose

Operation Failures

raps health check --comprehensive
raps logs --level error --last 1h
raps config set retry.max-attempts 5

πŸ’‘ Pro Tips

  • β€’ Use raps examples to see common workflow patterns
  • β€’ Set up multiple profiles with raps auth login --profile <name>
  • β€’ Enable verbose output with --verbose flag for debugging
  • β€’ Check raps health check if anything isn't working