Onshape BlobElement API
Create, modify, and translate blob elements.
Create, modify, and translate blob elements.
openapi: 3.0.1
info:
title: Onshape REST Account BlobElement 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: BlobElement
description: Create, modify, and translate blob elements.
paths:
/blobelements/d/{did}/w/{wid}:
post:
tags:
- BlobElement
summary: Upload a file and create a blob element from it.
description: Request body parameters are multipart fields, so you must use `"Content-Type":"multipart/form-data"` in the request header.
operationId: uploadFileCreateElement
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: wid
in: path
description: The id of the workspace in which to perform the operation.
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/BTBTranslationRequestParams'
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTDocumentElementProcessingInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Write
BasicAuth:
- OAuth2Write
x-BTVisibility: PRODUCTION
/blobelements/d/{did}/w/{wid}/e/{eid}:
get:
tags:
- BlobElement
summary: Download a file from a blob element for the specified workspace/version/microversion.
description: 'See [API Guide: Model Translation](https://onshape-public.github.io/docs/api-adv/translation/) for more details.'
operationId: downloadFileWorkspace
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: wid
in: path
description: The id of the workspace in which to perform the operation.
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: contentDisposition
in: query
description: If "attachment", includes a Content-Disposition return header with the filename.
schema:
type: string
- name: If-None-Match
in: header
description: Entity tag; an md5 checksum of the data in double quotes. If the data to download has the same checksum as this entity tag, a 304 'Not Modified' status will be returned. The entity tag is returned in the response headers as ETag.
schema:
type: string
responses:
default:
description: File download.
content:
application/octet-stream:
schema:
type: string
format: binary
application/json;charset=UTF-8; qs=0.09:
schema:
type: string
format: binary
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
post:
tags:
- BlobElement
summary: Update a blob element by uploading a file.
description: Request body parameters are multipart fields, so you must use `"Content-Type":"multipart/form-data"` in the request header.
operationId: uploadFileUpdateElement
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: wid
in: path
description: The id of the workspace in which to perform the operation.
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: parentChangeId
in: query
description: The id of the last change made to this application element. This can be retrieved from the response for any app element modification endpoint.
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/BTBTranslationRequestParams'
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTDocumentElementProcessingInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Write
BasicAuth:
- OAuth2Write
x-BTVisibility: PRODUCTION
/blobelements/d/{did}/w/{wid}/e/{eid}/units:
post:
tags:
- BlobElement
summary: Change the measurement units for the blob element.
operationId: updateUnits
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: wid
in: path
description: The id of the workspace in which to perform the operation.
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
requestBody:
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTUpdateMeshUnitsParams'
required: true
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTDocumentElementProcessingInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Write
BasicAuth:
- OAuth2Write
x-BTVisibility: PRODUCTION
/blobelements/d/{did}/{wv}/{wvid}/e/{eid}/translations:
post:
tags:
- BlobElement
summary: Export a blob element to another format.
description: "* Use `formatName` in the JSON request body to specify the export file type. Use [Translations/getAllTranslatorFormats]#/Translation/getAllTranslatorFormats) to get a list of valid export file formats. \n* Set `storeInDocument` to `false` to export to a data file. Set to `true` to export to a blob element in the same document. \n* See [API Guide: Model Translation](https://onshape-public.github.io/docs/api-adv/translation/) for more details."
operationId: createBlobTranslation
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: wv
in: path
description: Indicates which of workspace (w) or version (v) id is specified below.
required: true
schema:
type: string
enum:
- w
- v
- name: wvid
in: path
description: The id of the workspace, version 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
requestBody:
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTTranslateFormatParams'
required: true
responses:
default:
description: default response
content:
application/json;charset=UTF-8; qs=0.09:
schema:
$ref: '#/components/schemas/BTTranslationRequestInfo'
deprecated: false
security:
- OAuth2:
- OAuth2Read
BasicAuth:
- OAuth2Read
x-BTVisibility: PRODUCTION
components:
schemas:
BTThumbnailInfo:
type: object
properties:
href:
type: string
format: uri
id:
type: string
secondarySizes:
type: array
items:
type: array
items:
$ref: '#/components/schemas/BTThumbnailSizeInfo'
sizes:
type: array
items:
$ref: '#/components/schemas/BTThumbnailSizeInfo'
BTTranslationRequestState:
type: string
enum:
- ACTIVE
- DONE
- FAILED
BTThumbnailSizeInfo:
type: object
properties:
href:
type: string
format: uri
mediaType:
type: string
renderMode:
type: string
sheetName:
type: string
size:
type: string
uniqueId:
type: string
viewOrientation:
type: string
BTTranslationRequestInfo:
type: object
properties:
documentId:
type: string
exportRuleFileName:
type: string
description: The file name after evaluating a rule for the given `formatName`. `NULL` if `evaluateExportRule=false` or if the export rule is not found.
failureReason:
type: string
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.
requestElementId:
type: string
requestState:
$ref: '#/components/schemas/BTTranslationRequestState'
resultDocumentId:
type: string
resultElementIds:
type: array
items:
type: string
resultExternalDataIds:
type: array
items:
type: string
resultWorkspaceId:
type: string
versionId:
type: string
viewRef:
type: string
description: URI to visualize the resource in a webclient if applicable.
format: uri
workspaceId:
type: string
BTTranslateFormatParams:
required:
- formatName
type: object
properties:
allowFaultyParts:
type: boolean
description: If true, parts with faults are imported. If false, faulty parts are omitted.
default: false
angularTolerance:
type: number
description: Determines the maximum angular deviation, between the analytical surface and its triangulation. Lower values result in a finer geometry and higher values result in coarser geometry.
format: double
example: 0.001
annotationsFontHeightInMillimeters:
type: number
description: Determines the font size in workspace units used for the MBD annotations text export
format: double
example: 4
blobElementId:
type: string
blobMicroversionId:
type: string
cloudObjectId:
type: string
description: Folder id where to store the exported model.
cloudStorageAccountId:
type: string
description: Account id to access the cloud storage.
colorMethod:
type: string
configuration:
type: string
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.
connectionId:
type: string
createComposite:
type: boolean
currentSheetOnly:
type: boolean
destinationName:
type: string
description: The name of the exported file.
distanceTolerance:
type: number
description: Determines the maximum distance deviation, between the analytical surface and its triangulation. Lower values result in a finer geometry and higher values result in coarser geometry.
format: double
example: 0.001
dxfVersion:
type: string
elementId:
type: string
description: The id of the element in which to perform the operation.
elementIds:
type: array
description: An array of element ids for multi-element export.
items:
type: string
description: An array of element ids for multi-element export.
emailLink:
type: boolean
description: Use `true` if a link in an email should be sent.
emailMessage:
type: string
description: Message to send in the email body along with the download link.
emailSubject:
type: string
description: Subject to send the email with.
emailTo:
type: array
description: List of email addresses to send the email to.
items:
type: string
description: List of email addresses to send the email to.
evaluateExportRule:
type: boolean
description: Set to `true` to evaluate the export rule for the given `formatName` and to include an `exportRuleFileName` value in the response.
default: false
excludeHiddenEntities:
type: boolean
description: Whether or not to exclude hidden parts from export.
excludeOffSheetContent:
type: boolean
extractAssemblyHierarchy:
type: boolean
flatPatternAsync:
type: boolean
flatten:
type: boolean
flattenAssemblies:
type: boolean
foreignId:
type: string
formatName:
type: string
description: The name of the file format.
fromUserId:
type: string
description: Id of the user who does the export.
getyAxisIsUp:
type: boolean
grouping:
type: boolean
description: Whether parts should be exported as a group or individually in a .zip file.
hideInspectionItems:
type: boolean
ignoreExportRulesForContents:
type: boolean
description: For multiple elements export, use `true` if export rule shouldn't be applied for all elements.
imageHeight:
type: integer
format: int32
imageWidth:
type: integer
format: int32
importAppearances:
type: boolean
importInBackground:
type: boolean
importMaterialDensity:
type: boolean
importWithinDocument:
type: boolean
includeBendCenterlines:
type: boolean
includeBendLines:
type: boolean
includeCboreCsink:
type: boolean
includeDerivedTolerances:
type: boolean
includeExportIds:
type: boolean
description: Whether topology ids should be exported as parasolid attributes.
includeFormedCentermarks:
type: boolean
includeFormedOutlines:
type: boolean
includeSketches:
type: boolean
joinAdjacentSurfaces:
type: boolean
level:
type: string
linkDocumentId:
type: string
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.
linkDocumentWorkspaceId:
type: string
description: The id of the workspace 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.
maximumChordLength:
type: number
description: Determines the maximum of a triangle edge length. Lower values result in a finer geometry and higher values result in coarser geometry.
format: double
example: 0.01
notifyUser:
type: boolean
description: Send notification to the user client.
occurrencesToExport:
type: string
description: 'IDs of the occurrences to retrieve. Use comma-separated IDs for multiple instances (example: occurrencesToExport=JHK,JHD).'
onePartPerDoc:
type: boolean
originalForeignId:
type: string
parasolidMode:
$ref: '#/components/schemas/GBTParasolidEncodingType'
parentId:
type: string
partIds:
type: string
description: 'IDs of the parts to retrieve. Use comma-separated IDs for multiple parts (example: partIds=JHK,JHD).'
partsExportFilter:
$ref: '#/components/schemas/BTPartsExportFilter-4308'
password:
type: string
description: A password to protect the email with.
passwordRequired:
type: boolean
description: Use `true` if the email should be protected with a password.
pdfVersion:
type: string
processedForeignId:
type: string
projectId:
type: string
proxyDocumentId:
type: string
proxyElementId:
type: string
proxyWorkspaceVersion:
type: string
proxyWorkspaceVersionId:
type: string
resolution:
type: string
description: Determines export resolution of fine, medium, or coarse
example: fine
enum:
- fine
- medium
- coarse
rhinoVersion:
$ref: '#/components/schemas/GBTRhinoVersions'
selectablePdfText:
type: boolean
sendCopyToMe:
type: boolean
description: Use `true` if email copy should be sent to the user who does the export.
sheetIndices:
type: array
items:
type: integer
format: int32
sheetMetalFlat:
type: boolean
showOverriddenDimensions:
type: boolean
skipBodyshop:
type: boolean
sourceName:
type: string
specifyMaterialData:
type: boolean
specifyUnits:
type: boolean
splinesAsPolylines:
type: boolean
splitAssembliesIntoMultipleDocuments:
type: boolean
stepParasolidPreprocessingOption:
$ref: '#/components/schemas/GBTPreProcessParasolidOption'
stepVersionString:
type: string
description: 'Export STEP in version: `AP242` | `AP203` | `AP214`'
default: AP242
stlMode:
$ref: '#/components/schemas/GBTStlEncodingType'
storeInDocument:
type: boolean
description: Create a blob with exported file in the source document.
textAsGeometry:
type: boolean
textOption:
type: string
triggerAutoDownload:
type: boolean
description: Automatically download a translated file.
unit:
type: string
uploadId:
type: string
urdfMeshFormat:
$ref: '#/components/schemas/GBTUrdfMeshFormat'
urdfStlEncoding:
$ref: '#/components/schemas/GBTStlEncodingType'
useFileNameToSetSinglePartName:
type: boolean
useGlbCompression:
type: boolean
useGltfCompression:
type: boolean
useIGESImportPostProcessing:
type: boolean
useIgesCompatibilityMode:
type: boolean
validForDays:
type: integer
description: Number of days to keep the link valid for.
format: int32
versionString:
type: string
description: Parasolid version number as string. Use '0' for the latest.
default: '0'
x-BTVisibility-properties:
disableHoops: INTERNAL
upgradeFeatureScriptVersion: INTERNAL
documentId: INTERNAL
preserveSourceIds: INTERNAL
documentVersion: INTERNAL
BTDocumentElementProcessingInfo:
type: object
properties:
accelerationUnits:
type: string
angleUnits:
type: string
angularVelocityUnits:
type: string
applicationTarget:
$ref: '#/components/schemas/BTApplicationTargetInfo'
areaUnits:
type: string
dataType:
type: string
deleted:
type: boolean
densityUnits:
type: string
elementType:
$ref: '#/components/schemas/GBTElementType'
energyUnits:
type: string
filename:
type: string
forceUnits:
type: string
foreignDataId:
type: string
frequencyUnits:
type: string
id:
type: string
lengthUnits:
type: string
massUnits:
type: string
microversionId:
type: string
momentUnits:
type: string
name:
type: string
pressureUnits:
type: string
prettyType:
type: string
safeToShow:
type: boolean
specifiedUnit:
type: string
thumbnailInfo:
$ref: '#/components/schemas/BTThumbnailInfo'
thumbnails:
type: string
format: uri
timeUnits:
type: string
translationEventKey:
type: string
translationId:
type: string
type:
type: string
unupdatable:
type: boolean
volumeUnits:
type: string
zip:
$ref: '#/components/schemas/BTZipFileInfo'
GBTParasolidEncodingType:
type: string
description: Export Parasolid in `BINARY` (.x_b) or `TEXT` (.x_t) mode.
default: TEXT
enum:
- TEXT
- BINARY
- UNKNOWN
BTZipFileInfo:
type: object
properties:
files:
type: array
items:
type: string
BTBTranslationRequestParams:
type: object
properties:
allowFaultyParts:
type: boolean
createComposite:
type: boolean
createDrawingIfPossible:
type: boolean
encodedFilename:
type: string
extractAssemblyHierarchy:
type: boolean
file:
type: string
description: The file to upload.
format: binary
flattenAssemblies:
type: boolean
formatName:
type: string
importAppearances:
type: boolean
importMaterialDensity:
type: boolean
importWithinDocument:
type: boolean
joinAdjacentSurfaces:
type: boolean
locationElementId:
type: string
locationGroupId:
type: string
locationPosition:
type: integer
format: int32
makePublic:
type: boolean
notifyUser:
type: boolean
onePartPerDoc:
type: boolean
ownerId:
type: string
parentId:
type: string
projectId:
type: string
repointAppElementVersionRefs:
type: boolean
splitAssembliesIntoMultipleDocuments:
type: boolean
storeInDocument:
type: boolean
translate:
type: boolean
unit:
type: string
uploadId:
type: string
useIGESImportPostProcessing:
type: boolean
versionString:
type: string
yAxisIsUp:
type: boolean
x-BTVisibility-properties:
versionDescription: INTERNAL
versionId: INTERNAL
upgradeFeatureScriptVersion: INTERNAL
documentId: INTERNAL
versionName: INTERNAL
preserveSourceIds: INTERNAL
BTUpdateMeshUnitsParams:
type: object
properties:
units:
type: string
BTPartsExportFilter-4308:
type: object
properties:
btType:
type: string
description: Type of JSON object.
skipAllMesh:
type: boolean
skipCurves:
type: boolean
skipPartialMesh:
type: boolean
description: Skip mesh/curve foreign data creation in individual parts export
discriminator:
propertyName: btType
mapping:
BTPartsExportFilter-4308: '#/components/schemas/BTPartsExportFilter-4308'
GBTRhinoVersions:
type: string
enum:
- V2
- V3
- V4
- V5
- V6
- V7
- V8
- UNKNOWN
GBTStlEncodingType:
type: string
description: STL encoding type, `TEXT | BINARY`
default: TEXT
enum:
- TEXT
- BINARY
- UNKNOWN
GBTElementType:
type: string
enum:
- PARTSTUDIO
- ASSEMBLY
- DRAWING
- FEATURESTUDIO
- BLOB
- APPLICATION
- TABLE
- BILLOFMATERIALS
- VARIABLESTUDIO
- PUBLICATIONITEM
- UNKNOWN
GBTUrdfMeshFormat:
type: string
enum:
- STL
- GLTF
- OBJ
- UNKNOWN
BTApplicationTargetInfo:
type: object
properties:
baseHref:
type: string
format: uri
clientId:
type: string
supportsCollaboration:
type: boolean
tabIconHref:
type: string
format: uri
GBTPreProcessParasolidOption:
type: string
description: Original geometry processing mode to improve results of translation to STEP.
enum:
- NO_PRE_PROCESSING
- USE_BODYSHOP_PRE_PROCESSING_ADVANCED
- USE_TRANSLATOR_PRE_PROCESSING
- USE_BODYSHOP_PRE_PROCESSING
- USE_BODYSHOP_PRE_PROCESSING_ADVANCED_WITH_SURFS_TO_BSURFS_CONVERTING
- UNKNOWN
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
enterpris
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/onshape/refs/heads/main/openapi/onshape-blobelement-api-openapi.yml