Onshape Document API

Create and manage documents.

Operations 37

GET /documents Get a list of documents that meet the criteria you specify #
POST /documents Create and upload a document #
GET /documents/d/{did}/externaldata/{fid} Download external data file(s) associated with the document #
GET /documents/d/{did}/versions Retrieve versions by document ID #
POST /documents/d/{did}/versions Create version by document ID #
GET /documents/d/{did}/versions/{vid} Retrieve version by document ID and version ID #
POST /documents/d/{did}/w/{wid}/e/{eid}/latestdocumentreferences Update external references to latest by document ID, workspace ID, and tab ID #
POST /documents/d/{did}/w/{wid}/moveelement Move tab by document ID and workspace ID #
POST /documents/d/{did}/w/{wid}/revertunchangedtorevisions Revert unchanged to revisions #
POST /documents/d/{did}/w/{wid}/syncAppElements Sync app elements #
GET /documents/d/{did}/workspaces Retrieve workspaces by document ID #
POST /documents/d/{did}/workspaces Create workspace by document ID #
DELETE /documents/d/{did}/workspaces/{wid} Delete workspace by document ID and workspace ID #
GET /documents/d/{did}/{wm}/{wmid}/documenthistory Retrieve document history by document ID and workspace or microversion ID #
GET /documents/d/{did}/{wvm}/{wvmid}/contents Retrieve tabs and folders by document ID and workspace or version or… #
GET /documents/d/{did}/{wvm}/{wvmid}/elements Retrieve tabs by document ID and workspace or version or microversion ID #
GET /documents/d/{did}/{wvm}/{wvmid}/unitinfo Get the selected units and precision by document ID and workspace or version or… #
GET /documents/d/{did}/{wv}/{wvid}/currentmicroversion Retrieve current microversion by document ID and workspace or version ID #
POST /documents/d/{did}/{wv}/{wvid}/e/{eid}/export Export document by document ID, workspace or version ID, and tab ID #
GET /documents/d/{did}/{wv}/{wvid}/insertables Retrieve insertables by document ID and workspace or version ID #
GET /documents/{did} Retrieve document by document ID #
POST /documents/{did} Update document attributes by document ID #
DELETE /documents/{did} Delete document by document ID #
GET /documents/{did}/acl Retrieve access control list by document ID #
POST /documents/{did}/acl/anonymousAccess Allow or deny anonymous access to a document or publication #
POST /documents/{did}/acl/public Make a document public or private #
POST /documents/{did}/notes Update document notes by document ID #
GET /documents/{did}/permissionset Retrieve Document permissions by document ID #
POST /documents/{did}/share Share document by document ID #
DELETE /documents/{did}/share/{eid} Remove document View permissions from a user or other entity #
POST /documents/{did}/shareWithSupport Share document by document ID with Onshape support #
DELETE /documents/{did}/shareWithSupport Unshare document with support #
GET /documents/{did}/w/{wid}/mergePreview Merge preview of changes that will occur based on document ID, workspace ID and… #
POST /documents/{did}/w/{wid}/restore/{vm}/{vmid} Restore version or microversion to workspace by document ID, workspace ID, and… #
POST /documents/{did}/workspaces/{wid}/copy Copy workspace by document ID and workspace ID #
POST /documents/{did}/workspaces/{wid}/merge Merge into workspace by document ID and workspace ID #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/onshape-document-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

onshape-document-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Onshape REST Document API
  description: '## Welcome to the Onshape REST API Explorer


    **See the API Explorer Guide for help navigating this page.**


    ### Using this page

    1.'
  termsOfService: https://www.onshape.com/legal/terms-of-use
  contact:
    email: api-support@onshape.zendesk.com
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.218.84032-34acba44be17
  x-logo:
    url: images/logo-onshape-gray-green-nav-bar.svg
    backgroundColor: '#ffffff'
    altText: Onshape
    href: images/logo-onshape-gray-green-nav-bar.svg
  x-indeterministic-schemas:
  - BTDiffInfo
  - BTParameterSpecArray-2600
  - BTSplineDescription-2118
  - NodeModel
  - BTPFunctionDeclaration-246
  - BTPFunctionOrPredicateDeclaration-247
  - BTPExpression-9
  - SkinModel
  - BTMAnnotation-4664
  x-filter-info: ?restUserRole=PUBLIC
servers:
- url: https://cad.onshape.com/api/v16
  description: Current
security:
- BasicAuth: []
tags:


# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/onshape/refs/heads/main/openapi/onshape-document-api-openapi.yml