Welcome to RAPS

RAPS (Rust APS CLI) is a powerful command-line tool for interacting with Autodesk Platform Services (APS). It provides easy access to all major APS APIs including authentication, object storage, model translation, data management, webhooks, design automation, and more.

Why RAPS?

  • πŸ¦€ Written in Rust β€” Fast, reliable, and memory-safe
  • ⚑ Built for CI/CD β€” Standardized exit codes, JSON/YAML output, non-interactive mode
  • πŸ” Secure β€” OS keychain storage by default, automatic token refresh, secure plugin system
  • πŸš€ Interactive Shell β€” TAB completion, parameter hints, command history
  • πŸ€– AI-Ready β€” MCP server for AI assistant integration
  • πŸ“¦ Single Binary β€” No dependencies, easy installation
  • πŸ—οΈ ACC Extended β€” Issues, RFIs, Assets, Submittals, Checklists support

Usage Modes

RAPS offers multiple ways to interact with APS β€” choose the mode that fits your workflow:

ModeDescriptionBest For
CLIStandard command-line interfaceScripts, automation, CI/CD
Interactive ShellREPL with TAB completionLearning, exploration
Python BindingsNative Python libraryPython apps, data pipelines
GitHub ActionsPre-built CI/CD actionGitHub workflows
DockerContainerized RAPSIsolated environments
MCP ServerAI assistant integrationClaude, Cursor
TUI DashboardTerminal UI with 7 tabsVisual monitoring (opt-in)

πŸ“– See Usage Modes for detailed comparison and setup guides.

Core Features

πŸ” Authentication

  • 2-legged OAuth (Client Credentials) for server-to-server operations
  • 3-legged OAuth (Authorization Code) with browser login
  • Secure token storage with automatic refresh

πŸ“¦ Object Storage Service (OSS)

  • Create, list, and delete buckets (multi-region support)
  • Upload, download, and manage objects
  • Resumable multipart uploads for large files
  • Batch uploads with parallel processing

πŸ”„ Model Derivative

  • Translate CAD files to various formats (SVF2, OBJ, STL, STEP, etc.)
  • Check translation status with polling
  • Download derivatives

πŸ—οΈ Data Management

  • Browse hubs, projects, folders, and items
  • Create folders and manage versions
  • Full BIM 360/ACC integration
  • AEC GraphQL API for faster hub/project queries with REST fallback

πŸ‘₯ Account Admin (New in v4.0)

  • Bulk user management across ACC/BIM 360 projects
  • Add, remove, update roles for users at scale
  • Folder permissions management
  • Resumable operations with progress tracking

πŸ”— Custom API Calls (New in v4.5)

  • Execute arbitrary HTTP requests to any APS endpoint
  • Full control over method, headers, and body
  • Enables access to any APS API not yet wrapped by RAPS

πŸ“Š Portfolio Reports (New in v4.5)

  • Aggregate RFI and issue summaries across all projects
  • Cross-project portfolio-level analytics
  • Quick health checks for construction portfolios

πŸ“‹ Template Management (New in v4.5)

  • Create, update, and archive project templates
  • List and inspect template details
  • Standardize project setup across your organization

πŸ€– MCP Server

  • AI Assistant Integration via Model Context Protocol
  • 114 tools for natural language APS operations
  • Works with Claude, Cursor, and other MCP clients

Architecture

RAPS follows a microkernel architecture that separates core functionality from extended features:

  • Kernel: Minimal trusted foundation (Auth, HTTP client, Configuration, Error handling)
  • Service Crates: Independent modules for APS APIs (OSS, Derivative, Data Management, Design Automation, ACC, Webhooks, Reality Capture)
  • Application Layer: User interfaces (CLI, MCP Server, TUI) and extended features

See the Architecture Guide for detailed information.

Quick Start

# Install RAPS CLI (choose one)
curl -fsSL https://raw.githubusercontent.com/dmytro-yemelianov/raps/main/install.sh | bash  # Linux/macOS
pip install raps                          # Python (CLI binary)
npm install -g @dmytro-yemelianov/raps-cli # Node.js
brew install dmytro-yemelianov/raps/raps  # Homebrew

# Or install Python bindings for programmatic use
pip install raps-bindings

# Configure credentials
export APS_CLIENT_ID="your_client_id"
export APS_CLIENT_SECRET="your_client_secret"

# Test authentication
raps auth test

# Start using commands!
raps bucket list

Next Steps

  1. Installation β€” Get RAPS installed on your system
  2. Usage Modes β€” Choose how to use RAPS (CLI, Shell, Docker, etc.)
  3. Configuration β€” Set up your APS credentials
  4. Authentication β€” Understand authentication options
  5. Your First Workflow β€” Upload and translate a model