
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
@onshape/apikey
Advanced tools
Make HTTP requests to Onshape using an API Key.
Please see the node examples for further examples of using this package.
API keys are useful for small applications meant for personal use, allowing developers to avoid the overhead of the OAuth workflow. Creating an app is very easy with API keys, as the samples hopefully demonstrate: create an API key with the Developer Portal, set up a function to build your API key header as in the samples, and make your API calls! There's no need to deal with OAuth redirects or things like that.
We've moved over to using API keys for authenticating requests instead of using cookies for several reasons.
If you need information or have a question unanswered in this documentation, feel free to chat with us by sending an email to api-support@onshape.com or by checking out the forums.
Read the following and you'll be up and running with using API keys in your application:
Create and manage your API key pairs from the Developer Portal; note that the secret will only be displayed once! Keep it somewhere safe.
Now that you have a key pair, see below for information on signing your requests to use our API.
Once you have your access key and secret, you will want to avoid giving others access to them since they're tied directly to your personal Onshape account. Think of your API key as a username and password pair. Therefore, you should avoid placing them directly in the code for your application, especially if others might see it. The samples use a separate configuration file that you yourself will need to create that will contain this information, but there are other ways to keep the access key and secret safe, like setting them as environment variables.
There are several scopes available for API keys (equivalent to OAuth scopes):
var client = require('@onshape/apikey');
var apiKeyDetails = {
'baseUrl': 'https://cad.onshape.com',
'accessKey': YOUR_ACCESS_KEY,
'secretKey': YOUR_SECRET_KEY
};
client(apiKeyDetails).getDocuments({}, function (data) {
// Process the response data
})
Some API endpoints return 307 redirects. You must generate an Authorization header for the redirect as well, but please note that the server portion of the URL might be different, the redirect URL may contain query parameters that must be encoded in the Authorization header, etc. Please see the samples for examples.
Our API key workflow differs from our OAuth workflow in one important characteristic: an API key allows a user (specifically, a developer) to make requests, while OAuth allows an application to make requests on behalf of the user. We require the OAuth workflow for apps in the Onshape App Store, so if you develop an app using API keys and want to distribute it through the App Store, you will need to change to OAuth. Please see our OAuth sample apps for examples of how to make OAuth work (onshape/app-bom is a great place to start). The good news is that we've structured API keys to work very similarly to OAuth in the operation of your app. While you will need to build your Authorization header differently (and set up redirects and signins as in the onshape/app-bom sample), the API calls themselves will work the same in both versions, provided that the API key and the OAuth app have the same scopes. An API key with the OAuth2Read and OAuth2Write scopes will have the same access to the same API endpoints as an OAuth application with the OAuth2Read and OAuth2Write scopes, for example. (The only differences are when calling API endpoints relating to the OAuth application itself, since an API key request obviously does not come from an OAuth application.)
FAQs
Sample application using API keys
The npm package @onshape/apikey receives a total of 2 weekly downloads. As such, @onshape/apikey popularity was classified as not popular.
We found that @onshape/apikey demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.