App Development
The primary APIs provided by Onshape are REST interfaces that can be accessed over HTTPS. The client can be a web server or a desktop application (including command line tools, such as curl). Onshape does not support use of the APIs directly from a browser client due to cross-domain scripting concerns.
Partner applications typically interact with Onshape in three ways:
- File Exchange: Onshape provides extensive import and export translation capabilities to interact with applications that can read or write a variety of file formats.
- Live Link Integration: Desktop or server applications can use REST calls to read information from the Onshape servers and store information back. These applications can gain “cloud value” by using Onshape data management capabilities for sharing, versioning, and durability.
- In-Tab Integration: Web server applications can create a tightly integrated experience within Onshape by using a combination of REST and client-side APIs to build a seamless interaction by interacting with users inside an Onshape tab.
The following diagram illustrates basic desktop integration and cloud integration architecture:

The Onshape Server Stack consists of several cooperating servers that provide the underlying support for the Onshape CAD experience. The Onshape servers are built with a variety of technologies, including Java and C++, database and message services, geometry and constraint management systems, and much more.
Partner cloud applications can be written in any web framework. Onshape provides a set of sample apps in Github, as well as text tutorials.
Create an application
Note
These steps are for creating a private application on a personal account. To create an internal application for a company, classroom, or enterprise, see Enterprise Settings: Developer.
- For personal accounts, go to the dev portal: https://cad.onshape.com/appstore/dev-portal.
- Click OAuth applications in the sidebar.
- Click the Create new OAuth application button.

- Fill out the form:

- Name: Application name
- Primary format: com.example.example
- Summary: Brief summary of the app
- Redirect URLs: URL of the app landing page
- Permissions: Select the applicable permissions
- OAuth URL: URL for the OAuth login. All apps submitted to the App Store for public use must use OAuth2
- Click Create application.
- A window opens with your OAuth key and secret. You cannot find this secret again, so store it securely.
Next, see:
- OAuth2 - Public applications submitted to the App Store must authenticate with OAuth2.
- Extensions - Add apps directly to the Onshape UI.
- Create an App Store entry - Submit your app to the Onshape App Store for public use.
Integration considerations
There is much to Onshape that is different from traditional CAD and PDM systems. For system integrators who have previous experience with these types of systems, the instinct is to try and apply the concepts developed for those integrations to an Onshape integration. This is a mistake. Applying existing integration concepts to Onshape simply won’t work.
Key Onshape integration considerations include:
- Do not limit the capabilities of the software: When applying integration practices of legacy file-based solutions to Onshape, you must adjust the way designers work in Onshape to accommodate the limitations of your integration. Instead, the integration should follow best practices and methodologies that can be applied to modern SaaS-based solutions.
- Enable designers the freedom to work without constraints: Designers working in a CAD system should never be restricted in their ability to use the software features to the fullest. The software is designed to provide its users with the freedom to innovate and the flexibility to adjust to how a designer wants to work.
- Utilize the best in class features from each solution: Different software solutions are designed to provide features that should provide expected functionality for whatever function the software was designed to do. For instance, a CAD system should have best-in-class tools for modeling, whereas data management tools should provide capabilities to manage, analyze and report on data. While there might be overlap between systems, it is best practice to let each software solution do exactly what it was designed to do, instead of forcing one to perform the functions of the other.
- Map out your business processes: Decide which software solution is responsible for which part of the process. It will be impossible to develop a successful integration if the requirements aren’t clearly stated. The business process(es) that you manage through the integration should be mapped out, along with the systems involved and which system is responsible for which function.
- Use standards and Published APIs: Developers hate when thousands of lines of code and days of work are thrown away because of an upgrade of a piece of software. By using industry standards and published APIs, you will protect yourself from such a disaster.
Resources
- The Developer Portal is your place to create and administer applications: https://cad.onshape.com/appstore/dev-portal
- Find Onshape documentation at: https://cad.onshape.com/help/Content (or at
https://<companyName>.onshape.com/help/Contentfor Enterprise accounts.) - Find developer documentation on this site. We specifically recommend reviewing the following sections:
- Find sample apps: https://github.com/onshape-public
- Speak to other developers in the forum: https://forum.onshape.com/categories/developer-community