Onshape Folder API
Access and modify folder sharing permissions.
Access and modify folder sharing permissions.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/onshape-folder-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Onshape REST Account Folder API
description: '## Welcome to the Onshape REST API Explorer
**See the [API Explorer Guide](https://onshape-public.github.io/docs/api-intro/explorer/) for help navigating this page.**
### Using this page
1. Sign in to your [Onshape](https://cad.onshape.com) account in another tab.
2. Click the `Try it out` button below. It toggles to a `Cancel` button when selected.
### Authenticating
To authenticate your calls, click the `Authorize` button. See [API Explorer Guide: Authentication](https://onshape-public.github.io/docs/api-intro/explorer/#authentication) for details. Calls made when authenticated via API Keys or OAuth count against your annual [API limits](https://onshape-public.github.io/docs/auth/limits/#annual-api-call-limits).
* **Tip:** To ensure the current session isn''t used when trying other authentication techniques, make sure to [remove the Onshape cookie](https://support.google.com/chrome/answer/95647#zippy=%2Cdelete-cookies-from-a-site) as per the instructions for your browser, or use a private or incognito window.
### Additional resources
* [Onshape API Guide](https://onshape-public.github.io/docs/): Our full suite of developer guides, to be used as an accompaniment to this API Explorer.
* [Onshape Developer Portal](https://cad.onshape.com/appstore/dev-portal): The Onshape portal for managing your API keys, OAuth2 credentials, your Onshape applications, and your Onshape App Store entries.
* [Authentication Guide](https://onshape-public.github.io/docs/auth/): Our guide to using API keys, request signatures, and OAuth2 in your Onshape applications.'
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:
- name: Folder
description: Access and modify folder sharing permissions.
paths:
/folders/{fid}/acl:
get:
tags:
- Folder
summary: Get the Access Control List (ACL) for a folder to view permissions.
description: "Returns the ACL of permission objects. Each object contains: \n* The type of entity \n * 0 (User) \n * 1 (Company) \n * 2 (Team) \n * 3 (Document) \n * 4 (Application) \n * The ID of the entity for the specified type. \n* The permissions for that entity. \n * OWNER (100): All permissions, including those not listed, such as permission to transfer ownership. \n * DELETE (90) \n * RESHARE (80) \n * WRITE (70) \n * READ (60) \n * LINK (50) \n * COPY (30): Can copy workspace \n * EXPORT (20): Can export geometry \n * COMMENT (10) \n * ANONYMOUS_ACCESS (5): Special, restricted read access"
operationId: getFolderAcl
parameters:
- name: fid
in: path
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTAclInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
/folders/{fid}/share:
post:
tags:
- Folder
summary: Share folder with an entity.
description: "* Specify the type of entity to share with using `entries.entryType`: \n * 0 (User) \n * 1 (Company) \n * 2 (Team) \n * 3 (Document) \n * 4 (Application) \n* Provide one of the identifiers in the `entries` object in the request body. \n * You can share with non-Onshape users with the `email` field when `entryType=0`. \n * Provide the string for the permission set. Do not include the integer in parentheses: \n * OWNER (100): Object owner. Implies all permissions including those not listed such as permission to transfer ownership. \n * DELETE (90) \n * RESHARE (80) \n * WRITE (70) \n * READ (60) \n * LINK (50) \n * COPY (30): Can copy workspace \n * EXPORT (20): Can export geometry \n * COMMENT (10) \n * ANONYMOUS_ACCESS (5): Special, restricted read access"
operationId: share
parameters:
- name: fid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTShareParams'
required: true
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTAclInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Read
- OAuth2Share
BasicAuth:
- OAuth2Read
- OAuth2Share
x-BTVisibility: PRODUCTION
/folders/{fid}/share/{eid}:
delete:
tags:
- Folder
summary: Remove permissions from the folder for the specified Access Control List (ACL) entry.
description: "* Provide the folder ID for the folder to unshare. \n * Provide the `entityType` for the type of entity to remove. \n * 0 (User) \n * 1 (Company) \n * 2 (Team) \n * 3 (Document) \n * 4 (Application) \n* Provide the entity ID in the `eid` param."
operationId: unShare
parameters:
- name: fid
in: path
required: true
schema:
type: string
- name: eid
in: path
required: true
schema:
type: string
- name: entryType
in: query
schema:
maximum: 5
minimum: 0
type: integer
format: int32
default: 0
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
type: object
deprecated: false
security:
- OAuth2:
- OAuth2Read
- OAuth2Share
BasicAuth:
- OAuth2Read
- OAuth2Share
x-BTVisibility: PRODUCTION
components:
schemas:
BTInheritedAclInfo:
type: object
properties:
entries:
type: array
items:
$ref: '#/components/schemas/BTAclEntryInfo'
href:
type: string
description: URI to fetch complete information of the resource.
format: uri
id:
type: string
description: Id of the resource.
name:
type: string
description: Name of the resource.
objectId:
type: string
objectName:
type: string
objectType:
type: integer
format: int64
owner:
$ref: '#/components/schemas/BTOwnerInfo'
public:
type: boolean
sharedWithSupport:
type: boolean
viewRef:
type: string
description: URI to visualize the resource in a webclient if applicable.
format: uri
visibility:
type: string
BTShareEntryParams:
type: object
properties:
applicationId:
type: string
companyId:
type: string
connectionId:
type: string
email:
type: string
entryType:
type: integer
format: int32
teamId:
type: string
userId:
type: string
BTAclEntryInfo:
type: object
properties:
acceptOwnerTransfer:
type: boolean
canConnectionUserEdit:
type: boolean
companyName:
type: string
connectionId:
type: string
connectionName:
type: string
connectionUser:
type: boolean
email:
type: string
enterpriseMember:
type: boolean
entryId:
type: string
entryState:
$ref: '#/components/schemas/BTUserState'
entryType:
type: integer
format: int32
folderInaccessible:
type: boolean
folderName:
type: string
image:
type: string
name:
type: string
objectId:
type: string
pendingOwnerTransfer:
type: boolean
permission:
type: integer
format: int64
permissionSet:
type: array
items:
type: string
proCompanySubtype:
type: integer
format: int32
teamName:
type: string
BTAclInfo:
type: object
properties:
admin:
type: boolean
entries:
type: array
items:
$ref: '#/components/schemas/BTAclEntryInfo'
href:
type: string
description: URI to fetch complete information of the resource.
format: uri
id:
type: string
description: Id of the resource.
inheritedAcls:
type: array
items:
$ref: '#/components/schemas/BTInheritedAclInfo'
name:
type: string
description: Name of the resource.
objectId:
type: string
objectType:
type: integer
format: int64
owner:
$ref: '#/components/schemas/BTOwnerInfo'
public:
type: boolean
sharedWithSupport:
type: boolean
viewRef:
type: string
description: URI to visualize the resource in a webclient if applicable.
format: uri
visibility:
type: string
BTShareParams:
type: object
properties:
connectionId:
type: string
documentId:
type: string
elementId:
type: string
encodedConfiguration:
type: string
entries:
type: array
items:
$ref: '#/components/schemas/BTShareEntryParams'
folderId:
type: string
message:
type: string
permission:
type: integer
format: int64
permissionSet:
type: array
items:
type: string
update:
type: boolean
workspaceId:
type: string
BTOwnerInfo:
type: object
properties:
href:
type: string
description: URI to fetch complete information of the resource.
format: uri
id:
type: string
description: Id of the resource.
image:
type: string
isEnterpriseOwnedResource:
type: boolean
name:
type: string
description: Name of the resource.
type:
type: integer
format: int32
viewRef:
type: string
description: URI to visualize the resource in a webclient if applicable.
format: uri
BTUserState:
type: string
enum:
- DELETED
- ACTIVE
- INACTIVE
- REQUESTED
- APPROVED
- REQUEST_EXPIRED
- ALL
- MARKED_FOR_DELETION
securitySchemes:
OAuth2:
type: oauth2
description: Use OAuth 2.0 to authenticate requests.
flows:
authorizationCode:
authorizationUrl: /oauth/authorize
tokenUrl: /oauth/token
refreshUrl: /oauth/token
scopes:
OAuth2Internal: Application is Onshape Internal
OAuth2ReadPII: Application can read your profile information
OAuth2Read: Application can read your documents
OAuth2Write: Application can write to your documents
OAuth2Delete: Application can delete your documents and workspaces
OAuth2Purchase: Application can request purchases on your behalf
OAuth2Share: Application can share and unshare documents on your behalf
document.create: Atlas Application can create a document
document.edit: Atlas Application can edit a document
document.delete: Atlas Application can delete a document
document.read: Atlas Application can read a document
enterprise.create: Atlas Application can create an enterprise
enterprise.read: Atlas Application can read from an enterprise
enterprise.edit: Atlas Application can edit an enterprise
enterprise.delete: Atlas Application can delete an enterprise
enterprise.member.create: Atlas Application can create an enterprise member
enterprise.member.read: Atlas Application can read the details of an enterprise member
enterprise.member.edit: Atlas Application can edit the details of an enterprise member
enterprise.member.delete: Atlas Application can delete a member from an enterprise
webhook.create: Atlas Application can create a webhook on behalf of the logged-in user
webhook.edit: Atlas Application can edit a webhook on behalf of the logged-in user
webhook.read: Atlas Application can read a webhook on behalf of the logged-in user
webhook.delete: Atlas Application can delete a webhook on behalf of the logged-in user
PLMIntegration: PLM automation can invoke limited operations
BasicAuth:
type: http
description: Use Basic Authentication with API Keys (key as username and secret as password) to authenticate requests.
scheme: basic