openapi: 3.1.0 info: title: Autodesk Design Automation API description: >- The Design Automation API (formerly Automation API) enables running scripts and plugins on design files in the cloud using AutoCAD, Revit, Inventor, 3ds Max, and Fusion engines. It supports batch processing, parameter adjustment, drawing generation, and data extraction at enterprise scale without requiring local installations of desktop applications. version: 3.0.0 termsOfService: >- https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services/autodesk-web-services-api-terms-of-service contact: name: Autodesk Platform Services url: https://aps.autodesk.com email: aps.help@autodesk.com license: name: Autodesk API Terms of Service url: >- https://www.autodesk.com/company/legal-notices-trademarks/terms-of-service-autodesk360-web-services/autodesk-web-services-api-terms-of-service servers: - url: https://developer.api.autodesk.com description: Production security: - OAuth2TwoLegged: - code:all paths: /da/us-east/v3/engines: get: operationId: getEngines summary: Autodesk List Engines description: >- Returns a paginated list of available engines. Engines correspond to Autodesk products that can process design files (AutoCAD, Revit, Inventor, 3ds Max). tags: - Engines parameters: - name: page in: query required: false description: Page token for pagination. schema: type: string responses: '200': description: Successfully retrieved engines. content: application/json: schema: $ref: '#/components/schemas/PagedEngines' '401': description: Unauthorized. /da/us-east/v3/engines/{id}: get: operationId: getEngine summary: Autodesk Get Engine description: Returns details about a specific engine. tags: - Engines parameters: - name: id in: path required: true description: >- The fully qualified engine ID (e.g., Autodesk.AutoCAD+24_1). schema: type: string responses: '200': description: Successfully retrieved engine. content: application/json: schema: $ref: '#/components/schemas/Engine' '404': description: Engine not found. /da/us-east/v3/appbundles: get: operationId: getAppBundles summary: Autodesk List AppBundles description: >- Returns a paginated list of AppBundles belonging to the caller. AppBundles contain custom code (plugins, scripts, add-ins) that run on the cloud engine. tags: - AppBundles parameters: - name: page in: query required: false schema: type: string responses: '200': description: Successfully retrieved AppBundles. content: application/json: schema: $ref: '#/components/schemas/PagedAppBundles' post: operationId: createAppBundle summary: Autodesk Create AppBundle description: Creates a new AppBundle. tags: - AppBundles requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AppBundlePayload' responses: '200': description: AppBundle created successfully. content: application/json: schema: $ref: '#/components/schemas/AppBundle' '400': description: Bad request. '409': description: AppBundle already exists. /da/us-east/v3/appbundles/{id}: get: operationId: getAppBundle summary: Autodesk Get AppBundle description: Returns details of a specific AppBundle. tags: - AppBundles parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successfully retrieved AppBundle. content: application/json: schema: $ref: '#/components/schemas/AppBundle' '404': description: AppBundle not found. delete: operationId: deleteAppBundle summary: Autodesk Delete AppBundle description: Deletes an AppBundle and all its versions and aliases. tags: - AppBundles parameters: - name: id in: path required: true schema: type: string responses: '204': description: AppBundle deleted successfully. '404': description: AppBundle not found. /da/us-east/v3/appbundles/{id}/versions: get: operationId: getAppBundleVersions summary: Autodesk List AppBundle Versions description: Returns all versions of a specific AppBundle. tags: - AppBundles parameters: - name: id in: path required: true schema: type: string - name: page in: query required: false schema: type: string responses: '200': description: Successfully retrieved AppBundle versions. content: application/json: schema: $ref: '#/components/schemas/PagedVersions' post: operationId: createAppBundleVersion summary: Autodesk Create AppBundle Version description: Creates a new version of an existing AppBundle. tags: - AppBundles parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AppBundlePayload' responses: '200': description: New version created. content: application/json: schema: $ref: '#/components/schemas/AppBundle' /da/us-east/v3/appbundles/{id}/aliases: get: operationId: getAppBundleAliases summary: Autodesk List AppBundle Aliases description: Returns all aliases for a specific AppBundle. tags: - AppBundles parameters: - name: id in: path required: true schema: type: string - name: page in: query required: false schema: type: string responses: '200': description: Successfully retrieved aliases. content: application/json: schema: $ref: '#/components/schemas/PagedAliases' post: operationId: createAppBundleAlias summary: Autodesk Create AppBundle Alias description: Creates an alias that points to a specific AppBundle version. tags: - AppBundles parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AliasPayload' responses: '200': description: Alias created successfully. content: application/json: schema: $ref: '#/components/schemas/Alias' /da/us-east/v3/appbundles/{id}/aliases/{aliasId}: get: operationId: getAppBundleAlias summary: Autodesk Get AppBundle Alias description: Returns details of a specific AppBundle alias. tags: - AppBundles parameters: - name: id in: path required: true schema: type: string - name: aliasId in: path required: true schema: type: string responses: '200': description: Successfully retrieved alias. content: application/json: schema: $ref: '#/components/schemas/Alias' patch: operationId: updateAppBundleAlias summary: Autodesk Update AppBundle Alias description: Updates an alias to point to a different version. tags: - AppBundles parameters: - name: id in: path required: true schema: type: string - name: aliasId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AliasPatch' responses: '200': description: Alias updated. content: application/json: schema: $ref: '#/components/schemas/Alias' delete: operationId: deleteAppBundleAlias summary: Autodesk Delete AppBundle Alias description: Deletes an AppBundle alias. tags: - AppBundles parameters: - name: id in: path required: true schema: type: string - name: aliasId in: path required: true schema: type: string responses: '204': description: Alias deleted. /da/us-east/v3/activities: get: operationId: getActivities summary: Autodesk List Activities description: >- Returns a paginated list of Activities belonging to the caller. Activities define the instructions (script, plugin, parameters) that run on an engine. tags: - Activities parameters: - name: page in: query required: false schema: type: string responses: '200': description: Successfully retrieved Activities. content: application/json: schema: $ref: '#/components/schemas/PagedActivities' post: operationId: createActivity summary: Autodesk Create Activity description: Creates a new Activity. tags: - Activities requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ActivityPayload' responses: '200': description: Activity created. content: application/json: schema: $ref: '#/components/schemas/Activity' '409': description: Activity already exists. /da/us-east/v3/activities/{id}: get: operationId: getActivity summary: Autodesk Get Activity description: Returns details of a specific Activity. tags: - Activities parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successfully retrieved Activity. content: application/json: schema: $ref: '#/components/schemas/Activity' delete: operationId: deleteActivity summary: Autodesk Delete Activity description: Deletes an Activity and all its versions and aliases. tags: - Activities parameters: - name: id in: path required: true schema: type: string responses: '204': description: Activity deleted. /da/us-east/v3/activities/{id}/versions: get: operationId: getActivityVersions summary: Autodesk List Activity Versions description: Returns all versions of an Activity. tags: - Activities parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successfully retrieved versions. content: application/json: schema: $ref: '#/components/schemas/PagedVersions' post: operationId: createActivityVersion summary: Autodesk Create Activity Version description: Creates a new version of an Activity. tags: - Activities parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ActivityPayload' responses: '200': description: New version created. content: application/json: schema: $ref: '#/components/schemas/Activity' /da/us-east/v3/activities/{id}/aliases: get: operationId: getActivityAliases summary: Autodesk List Activity Aliases description: Returns all aliases for a specific Activity. tags: - Activities parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successfully retrieved aliases. content: application/json: schema: $ref: '#/components/schemas/PagedAliases' post: operationId: createActivityAlias summary: Autodesk Create Activity Alias description: Creates an alias for an Activity version. tags: - Activities parameters: - name: id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AliasPayload' responses: '200': description: Alias created. content: application/json: schema: $ref: '#/components/schemas/Alias' /da/us-east/v3/activities/{id}/aliases/{aliasId}: get: operationId: getActivityAlias summary: Autodesk Get Activity Alias description: Returns details of a specific Activity alias. tags: - Activities parameters: - name: id in: path required: true schema: type: string - name: aliasId in: path required: true schema: type: string responses: '200': description: Successfully retrieved alias. content: application/json: schema: $ref: '#/components/schemas/Alias' patch: operationId: updateActivityAlias summary: Autodesk Update Activity Alias description: Updates an Activity alias to point to a different version. tags: - Activities parameters: - name: id in: path required: true schema: type: string - name: aliasId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AliasPatch' responses: '200': description: Alias updated. content: application/json: schema: $ref: '#/components/schemas/Alias' delete: operationId: deleteActivityAlias summary: Autodesk Delete Activity Alias description: Deletes an Activity alias. tags: - Activities parameters: - name: id in: path required: true schema: type: string - name: aliasId in: path required: true schema: type: string responses: '204': description: Alias deleted. /da/us-east/v3/workitems: post: operationId: createWorkItem summary: Autodesk Create WorkItem description: >- Creates and executes a WorkItem. A WorkItem is an instance of an Activity that processes specific input files and produces output files. tags: - WorkItems requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkItemPayload' responses: '200': description: WorkItem created and queued. content: application/json: schema: $ref: '#/components/schemas/WorkItemStatus' '400': description: Bad request. /da/us-east/v3/workitems/{id}: get: operationId: getWorkItemStatus summary: Autodesk Get WorkItem Status description: Returns the status of a specific WorkItem. tags: - WorkItems parameters: - name: id in: path required: true schema: type: string responses: '200': description: Successfully retrieved WorkItem status. content: application/json: schema: $ref: '#/components/schemas/WorkItemStatus' delete: operationId: deleteWorkItem summary: Autodesk Cancel WorkItem description: Cancels a pending or running WorkItem. tags: - WorkItems parameters: - name: id in: path required: true schema: type: string responses: '204': description: WorkItem cancelled. /da/us-east/v3/forgeapps/me: get: operationId: getNickname summary: Autodesk Get Nickname description: Returns the nickname for the caller's Forge app. tags: - Forge Apps responses: '200': description: Successfully retrieved nickname. content: application/json: schema: type: string delete: operationId: deleteNickname summary: Autodesk Delete Nickname description: >- Removes the nickname for the caller's Forge app, also removing all AppBundles and Activities. tags: - Forge Apps responses: '204': description: Nickname removed. patch: operationId: createNickname summary: Autodesk Create/Update Nickname description: Creates or updates the nickname for the caller's Forge app. tags: - Forge Apps requestBody: required: true content: application/json: schema: type: object required: - nickname properties: nickname: type: string description: The desired nickname (globally unique). responses: '200': description: Nickname created/updated. '409': description: Nickname already taken. /da/us-east/v3/servicelimits/me: get: operationId: getServiceLimits summary: Autodesk Get Service Limits description: Returns the service limits for the caller. tags: - Service Limits responses: '200': description: Successfully retrieved service limits. content: application/json: schema: $ref: '#/components/schemas/ServiceLimits' components: securitySchemes: OAuth2TwoLegged: type: oauth2 flows: clientCredentials: tokenUrl: https://developer.api.autodesk.com/authentication/v2/token scopes: code:all: Execute Design Automation activities schemas: PagedEngines: type: object properties: paginationToken: type: string data: type: array items: type: string Engine: type: object properties: productVersion: type: string description: type: string version: type: integer id: type: string PagedAppBundles: type: object properties: paginationToken: type: string data: type: array items: type: string AppBundlePayload: type: object required: - id - engine properties: id: type: string description: The AppBundle name. engine: type: string description: >- The target engine (e.g., Autodesk.AutoCAD+24_1). description: type: string appbundles: type: array items: type: string AppBundle: type: object properties: uploadParameters: type: object properties: endpointURL: type: string format: uri formData: type: object additionalProperties: type: string id: type: string engine: type: string description: type: string version: type: integer PagedActivities: type: object properties: paginationToken: type: string data: type: array items: type: string ActivityPayload: type: object required: - id - engine - commandLine - parameters properties: id: type: string engine: type: string commandLine: type: array items: type: string description: >- Command line instructions for the engine. description: type: string appbundles: type: array items: type: string description: List of AppBundles to load. parameters: type: object additionalProperties: $ref: '#/components/schemas/Parameter' settings: type: object additionalProperties: type: object Activity: type: object properties: id: type: string engine: type: string commandLine: type: array items: type: string description: type: string appbundles: type: array items: type: string parameters: type: object additionalProperties: $ref: '#/components/schemas/Parameter' version: type: integer Parameter: type: object properties: zip: type: boolean description: Whether the parameter is a zip file. ondemand: type: boolean verb: type: string description: HTTP verb for accessing the parameter. enum: - get - put - post - patch - read description: type: string required: type: boolean localName: type: string description: Local filename for the parameter. WorkItemPayload: type: object required: - activityId properties: activityId: type: string description: >- Fully qualified Activity ID (e.g., owner.activityname+alias). arguments: type: object additionalProperties: $ref: '#/components/schemas/WorkItemArgument' limitProcessingTimeSec: type: integer description: Processing time limit in seconds. WorkItemArgument: type: object properties: url: type: string format: uri description: URL to download input or upload output. verb: type: string enum: - get - put - post - patch - read headers: type: object additionalProperties: type: string localName: type: string pathInZip: type: string optional: type: boolean WorkItemStatus: type: object properties: status: type: string enum: - pending - inprogress - success - failedDownload - failedInstructions - failedUpload - cancelled - failedLimitProcessingTime - failedLimitDataSize progress: type: string reportUrl: type: string format: uri description: URL to the processing report. stats: type: object properties: timeQueued: type: string format: date-time timeDownloadStarted: type: string format: date-time timeInstructionsStarted: type: string format: date-time timeInstructionsEnded: type: string format: date-time timeUploadEnded: type: string format: date-time bytesDownloaded: type: integer bytesUploaded: type: integer id: type: string PagedVersions: type: object properties: paginationToken: type: string data: type: array items: type: integer PagedAliases: type: object properties: paginationToken: type: string data: type: array items: $ref: '#/components/schemas/Alias' AliasPayload: type: object required: - id - version properties: id: type: string version: type: integer receiver: type: string Alias: type: object properties: id: type: string version: type: integer receiver: type: string AliasPatch: type: object required: - version properties: version: type: integer receiver: type: string ServiceLimits: type: object properties: frontendLimits: type: object properties: limitMonthlyProcessingTimeInHours: type: number backendLimits: type: object tags: - name: Activities - name: AppBundles - name: Engines - name: Forge Apps - name: Service Limits - name: WorkItems