OpenAPI Specification
openapi: 3.0.1
info:
title: Onshape REST Account PartStudio 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: PartStudio
description: Access and modify Part Studios.
paths:
/partstudios/d/{did}/e/{eid}/namedViews:
get:
tags:
- PartStudio
summary: Get a list of all named views that exist in the Part Studio.
description: Returns a map from view name to view data for the given element. See the [Part Studios API Guide](https://onshape-public.github.io/docs/api-adv/partstudios/) for details and tutorials.
operationId: getPartStudioNamedViews
parameters:
- name: did
in: path
description: The id of the document in which to perform the operation.
required: true
schema:
type: string
- name: linkDocumentId
in: query
description: The id of the document through which the above document should be accessed; only applicable when accessing a version of the document. This allows a user who has access to document a to see data from document b, as long as document b has been linked to document a by a user who has permission to both.
schema:
type: string
default: ''
- name: eid
in: path
required: true
schema:
type: string
- name: skipPerspective
in: query
schema:
type: boolean
default: true
- name: includeSectionCutViews
in: query
schema:
type: boolean
default: false
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTNamedViewsInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/w/{wid}:
post:
tags:
- PartStudio
summary: Create a new Part Studio in a document.
description: See the [Part Studios API Guide](https://onshape-public.github.io/docs/api-adv/partstudios/) for details and tutorials.
operationId: createPartStudio
parameters:
- name: did
in: path
description: Document ID.
required: true
schema:
type: string
- name: wid
in: path
description: Workspace ID.
required: true
schema:
type: string
requestBody:
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTModelElementParams'
required: true
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTDocumentElementInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Write
BasicAuth:
- OAuth2Write
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/w/{wid}/e/{eid}/features/featureid/{fid}:
post:
tags:
- PartStudio
summary: Update the definition of a Part Studio feature.
description: Replaces an existing feature in the location of the existing feature. See the [Features API Guide](https://onshape-public.github.io/docs/api-adv/featureaccess/) for additional information.
operationId: updatePartStudioFeature
parameters:
- name: did
in: path
description: Document ID.
required: true
schema:
type: string
- name: wid
in: path
description: Workspace ID.
required: true
schema:
type: string
- name: eid
in: path
description: Element ID.
required: true
schema:
type: string
- name: fid
in: path
description: The id of the feature being updated. This id should be URL encoded and must match the featureId found in the serialized structure
required: true
schema:
type: string
requestBody:
description: feature The serialized feature definition
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTFeatureDefinitionCall-1406'
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTFeatureDefinitionResponse-1617'
deprecated: false
security:
- OAuth2:
- OAuth2Write
BasicAuth:
- OAuth2Write
x-BTVisibility: PRODUCTION
delete:
tags:
- PartStudio
summary: Delete a Part Studio feature.
description: See the [Features API Guide](https://onshape-public.github.io/docs/api-adv/featureaccess/) for additional information.
operationId: deletePartStudioFeature
parameters:
- name: did
in: path
description: Document ID.
required: true
schema:
type: string
- name: wid
in: path
description: Workspace ID.
required: true
schema:
type: string
- name: eid
in: path
description: Element ID.
required: true
schema:
type: string
- name: fid
in: path
description: The id of the feature being updated. This id should be URL encoded and must match the featureId found in the serialized structure
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTFeatureApiBase-1430'
deprecated: false
security:
- OAuth2:
- OAuth2Write
BasicAuth:
- OAuth2Write
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/w/{wid}/e/{eid}/features/rollback:
post:
tags:
- PartStudio
summary: Move the Feature List rollback bar in the Part Studio.
description: "Replace `\"string\"` in the request body with an object that specifies the new location for the rollback bar: \n `{ \"rollbackIndex\": integer }` \n\nFor example: `{ \"rollbackIndex\": 2 }` \n\nSet to `-1` to move the rollback bar to the end of the list. \n\nSee the [Part Studios API Guide](https://onshape-public.github.io/docs/api-adv/partstudios/) for details and tutorials."
operationId: updateRollback
parameters:
- name: did
in: path
description: Document ID.
required: true
schema:
type: string
- name: wid
in: path
description: Workspace ID.
required: true
schema:
type: string
- name: eid
in: path
description: Element ID.
required: true
schema:
type: string
requestBody:
description: "The index at which the rollback index should be placed. Features\n with entry index (0-based) higher than or equal to the value are rolled back. Value of -1 is treated\n as an alias for \"end of feature list\". Otherwise the value must be in the range 0 to the number of\n entries in the feature list"
content:
application/json;charset=UTF-8; qs=0.09:
schema:
type: string
required: true
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTSetFeatureRollbackResponse-1042'
deprecated: false
security:
- OAuth2:
- OAuth2Write
BasicAuth:
- OAuth2Write
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/w/{wid}/e/{eid}/features/updates:
post:
tags:
- PartStudio
summary: Update multiple features in a Part Studio
description: "This API accepts a list of features (that must already exist in the Part Studio) to update. This call does not fully redefine the features; it updates only the parameters supplied in the top-level feature structure, and optionally can update feature suppression attributes. \nSee the [Features API Guide](https://onshape-public.github.io/docs/api-adv/featureaccess/) for additional information."
operationId: updateFeatures
parameters:
- name: did
in: path
description: Document ID.
required: true
schema:
type: string
- name: wid
in: path
description: Workspace ID.
required: true
schema:
type: string
- name: eid
in: path
description: Element ID.
required: true
schema:
type: string
requestBody:
description: feature The serialized feature definition
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTUpdateFeaturesCall-1748'
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTUpdateFeaturesResponse-1333'
deprecated: false
security:
- OAuth2:
- OAuth2Write
BasicAuth:
- OAuth2Write
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/bodydetails:
get:
tags:
- PartStudio
summary: Get the body details for a Part Studio.
description: See the [Part Studios API Guide](https://onshape-public.github.io/docs/api-adv/partstudios/) for details and tutorials.
operationId: getPartStudioBodyDetails
parameters:
- name: did
in: path
description: The id of the document in which to perform the operation.
required: true
schema:
type: string
- name: linkDocumentId
in: query
description: The id of the document through which the above document should be accessed; only applicable when accessing a version of the document. This allows a user who has access to document a to see data from document b, as long as document b has been linked to document a by a user who has permission to both.
schema:
type: string
default: ''
- name: wvm
in: path
description: Indicates which of workspace (w), version (v), or document microversion (m) id is specified below.
required: true
schema:
type: string
enum:
- w
- v
- m
- name: wvmid
in: path
description: The id of the workspace, version or document microversion in which the operation should be performed.
required: true
schema:
type: string
- name: eid
in: path
description: The id of the element in which to perform the operation.
required: true
schema:
type: string
- name: configuration
in: query
description: URL-encoded string of configuration values (separated by `;`). See the [Configurations API Guide](https://onshape-public.github.io/docs/api-adv/configs/) for details.
schema:
type: string
default: ''
- name: rollbackBarIndex
in: query
description: Index specifying the location of the rollback bar when the call is evaluated. A -1 indicates that it should be at the end of the featurelist.
schema:
type: integer
format: int32
default: -1
- name: elementMicroversionId
in: query
description: A specific element microversion in which to evaluate the request.
schema:
type: string
- name: partIds
in: query
description: If specified, the response will only include body details for the specific parts as indicated here by their corresponding Id
schema:
type: array
items:
type: string
- name: includeSurfaces
in: query
description: Whether or not surfaces should be included in the response.
schema:
type: boolean
default: false
- name: includeCompositeParts
in: query
description: Whether or not composite parts should be included in the response.
schema:
type: boolean
default: false
- name: includeGeometricData
in: query
description: Whether or not geometric data should be included in the response.
schema:
type: boolean
default: true
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTExportModelBodiesResponse-734'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/boundingboxes:
get:
tags:
- PartStudio
summary: Get the bounding boxes for a Part Studio.
description: "This endpoint does not result in a tight bounding box. The values returned are meant for graphics and visualization, and are approximate. \nTo calculate a tight bounding box, see the [FeatureScript API Guide](https://onshape-public.github.io/docs/api-adv/fs/#calculate-a-tight-bounding-box). "
operationId: getPartStudioBoundingBoxes
parameters:
- name: did
in: path
description: Document ID.
required: true
schema:
type: string
- name: wvm
in: path
description: One of w or v or m corresponding to whether a workspace or version or microversion was entered.
required: true
schema:
type: string
- name: wvmid
in: path
description: Workspace (w), Version (v) or Microversion (m) ID.
required: true
schema:
type: string
- name: eid
in: path
description: Element ID.
required: true
schema:
type: string
- name: includeHidden
in: query
description: Whether or not to include bounding boxes for hidden parts.
schema:
type: boolean
default: false
- name: includeWireBodies
in: query
description: Whether to include wire bodies in the bounding box.
schema:
type: boolean
default: true
- name: configuration
in: query
description: URL-encoded string of configuration values (separated by `;`). See the [Configurations API Guide](https://onshape-public.github.io/docs/api-adv/configs/) for details.
schema:
type: string
- name: linkDocumentId
in: query
description: Id of document that links to the document being accessed. This may provide additional access rights to the document. Allowed only with version (v) path parameter.
schema:
type: string
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTBoundingBoxInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/compare:
get:
tags:
- PartStudio
summary: Get the differences between two Part Studios in a single document.
operationId: comparePartStudios
parameters:
- name: did
in: path
description: Document ID.
required: true
schema:
type: string
- name: wvm
in: path
description: One of w or v or m corresponding to whether a workspace or version or microversion was entered.
required: true
schema:
type: string
- name: wvmid
in: path
description: Workspace (w), Version (v) or Microversion (m) ID.
required: true
schema:
type: string
- name: eid
in: path
description: Element ID.
required: true
schema:
type: string
- name: workspaceId
in: query
schema:
type: string
- name: versionId
in: query
schema:
type: string
- name: microversionId
in: query
schema:
type: string
- name: sourceConfiguration
in: query
schema:
type: string
- name: targetConfiguration
in: query
schema:
type: string
- name: linkDocumentId
in: query
schema:
type: string
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTRootDiffInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/features:
get:
tags:
- PartStudio
summary: Get a list of features instantiated in the Part Studio.
description: See the [Features API Guide](https://onshape-public.github.io/docs/api-adv/featureaccess/) for additional information.
operationId: getPartStudioFeatures
parameters:
- name: did
in: path
description: The id of the document in which to perform the operation.
required: true
schema:
type: string
- name: linkDocumentId
in: query
description: The id of the document through which the above document should be accessed; only applicable when accessing a version of the document. This allows a user who has access to document a to see data from document b, as long as document b has been linked to document a by a user who has permission to both.
schema:
type: string
default: ''
- name: wvm
in: path
description: Indicates which of workspace (w), version (v), or document microversion (m) id is specified below.
required: true
schema:
type: string
enum:
- w
- v
- m
- name: wvmid
in: path
description: The id of the workspace, version or document microversion in which the operation should be performed.
required: true
schema:
type: string
- name: eid
in: path
description: The id of the element in which to perform the operation.
required: true
schema:
type: string
- name: configuration
in: query
description: URL-encoded string of configuration values (separated by `;`). See the [Configurations API Guide](https://onshape-public.github.io/docs/api-adv/configs/) for details.
schema:
type: string
default: ''
- name: rollbackBarIndex
in: query
description: Index specifying the location of the rollback bar when the call is evaluated. A -1 indicates that it should be at the end of the featurelist.
schema:
type: integer
format: int32
default: -1
- name: elementMicroversionId
in: query
description: A specific element microversion in which to evaluate the request.
schema:
type: string
- name: includeGeometryIds
in: query
description: If true, include the underlying geometry IDs in the feature definition.
schema:
type: boolean
default: true
- name: featureId
in: query
description: ID of a feature; repeat query param to add more than one
schema:
type: array
items:
type: string
- name: noSketchGeometry
in: query
description: Whether or not to output simple sketch info without geometry
schema:
type: boolean
default: false
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTFeatureListResponse-2457'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
post:
tags:
- PartStudio
summary: Add a feature to the Part Studio's Feature List.
description: "The feature is added immediately before the rollback bar. Any geometry IDs specified in the feature must be valid at that point in the feature tree. \n \nSee the [Features API Guide](https://onshape-public.github.io/docs/api-adv/featureaccess/) for additional information."
operationId: addPartStudioFeature
parameters:
- name: did
in: path
required: true
schema:
type: string
- name: wvm
in: path
required: true
schema:
type: string
- name: wvmid
in: path
required: true
schema:
type: string
- name: eid
in: path
required: true
schema:
type: string
requestBody:
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTFeatureDefinitionCall-1406'
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTFeatureDefinitionResponse-1617'
deprecated: false
security:
- OAuth2:
- OAuth2Write
BasicAuth:
- OAuth2Write
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/featurescript:
post:
tags:
- PartStudio
summary: Evaluate the FeatureScript snippet for a Part Studio.
description: "See [API Guide: Evaluating FeatureScript](https://onshape-public.github.io/docs/api-adv/fs/) for more details. \n \nNote that only lambda expressions can be evaulated with this endpoint."
operationId: evalFeatureScript
parameters:
- name: did
in: path
description: The id of the document in which to perform the operation.
required: true
schema:
type: string
- name: linkDocumentId
in: query
description: The id of the document through which the above document should be accessed; only applicable when accessing a version of the document. This allows a user who has access to document a to see data from document b, as long as document b has been linked to document a by a user who has permission to both.
schema:
type: string
default: ''
- name: wvm
in: path
description: Indicates which of workspace (w), version (v), or document microversion (m) id is specified below.
required: true
schema:
type: string
enum:
- w
- v
- m
- name: wvmid
in: path
description: The id of the workspace, version or document microversion in which the operation should be performed.
required: true
schema:
type: string
- name: eid
in: path
description: The id of the element in which to perform the operation.
required: true
schema:
type: string
- name: configuration
in: query
description: URL-encoded string of configuration values (separated by `;`). See the [Configurations API Guide](https://onshape-public.github.io/docs/api-adv/configs/) for details.
schema:
type: string
default: ''
- name: rollbackBarIndex
in: query
description: Index specifying the location of the rollback bar when the call is evaluated. A -1 indicates that it should be at the end of the featurelist.
schema:
type: integer
format: int32
default: -1
- name: elementMicroversionId
in: query
description: A specific element microversion in which to evaluate the request.
schema:
type: string
requestBody:
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTFeatureScriptEvalCall-2377'
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTFeatureScriptEvalResponse-1859'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/featurescriptrepresentation:
get:
tags:
- PartStudio
summary: Get the FeatureScript representation of a Part Studio.
operationId: getFeatureScriptRepresentation
parameters:
- name: did
in: path
description: The id of the document in which to perform the operation.
required: true
schema:
type: string
- name: linkDocumentId
in: query
description: The id of the document through which the above document should be accessed; only applicable when accessing a version of the document. This allows a user who has access to document a to see data from document b, as long as document b has been linked to document a by a user who has permission to both.
schema:
type: string
default: ''
- name: wvm
in: path
description: Indicates which of workspace (w), version (v), or document microversion (m) id is specified below.
required: true
schema:
type: string
enum:
- w
- v
- m
- name: wvmid
in: path
description: The id of the workspace, version or document microversion in which the operation should be performed.
required: true
schema:
type: string
- name: eid
in: path
description: The id of the element in which to perform the operation.
required: true
schema:
type: string
- name: configuration
in: query
description: URL-encoded string of configuration values (separated by `;`). See the [Configurations API Guide](https://onshape-public.github.io/docs/api-adv/configs/) for details.
schema:
type: string
default: ''
- name: rollbackBarIndex
in: query
description: Index specifying the location of the rollback bar when the call is evaluated. A -1 indicates that it should be at the end of the featurelist.
schema:
type: integer
format: int32
default: -1
- name: elementMicroversionId
in: query
description: A specific element microversion in which to evaluate the request.
schema:
type: string
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTPModule-234'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/featurespecs:
get:
tags:
- PartStudio
summary: Get the specs for a Part Studio feature.
description: Returns a list of feature specs available within the Part Studio. A feature spec provides a data description of the feature's interface to a feature.
operationId: getPartStudioFeatureSpecs
parameters:
- name: did
in: path
description: Document ID.
required: true
schema:
type: string
- name: wvm
in: path
description: One of w or v or m corresponding to whether a workspace or version or microversion was entered.
required: true
schema:
type: string
- name: wvmid
in: path
description: Workspace (w), Version (v) or Microversion (m) ID.
required: true
schema:
type: string
- name: eid
in: path
description: Element ID.
required: true
schema:
type: string
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTFeatureSpecsResponse-664'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
/partstudios/d/{did}/{wvm}/{wvmid}/e/{eid}/fstable:
get:
tags:
- PartStudio
summary: Compute and return a FeatureScript table for a Part Studio.
operationId: getFeatureScriptTable
parameters:
- name: did
in: path
description: Document ID.
required: true
schema:
type: string
- name: wvm
in: path
description: One of w or v or m corresponding to whether a workspace or version or microversion was entered.
required: true
schema:
type: string
- name: wvmid
in: path
description: Workspace (w), Version (v) or Microversion (m) ID.
required: true
schema:
type: string
- name: eid
in: path
# --- truncated at 32 KB (326 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/onshape/refs/heads/main/openapi/onshape-partstudio-api-openapi.yml