openapi: 3.2.0 info: title: Onshape REST API Application 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: - name: API Application description: Manage application preferences. paths: /applications/clients/{cid}/settings/companies/{cpid}: get: tags: - API Application summary: Get company-level preference settings for an application description: This API is only usable with an OAuth token and only by the current user or admin. operationId: getCompanyAppSettings parameters: - name: cpid in: path required: true schema: type: string - name: cid in: path required: true schema: type: string - name: documentId in: query description: A document owned by the company. Read access to this document allows read access to its owning company's settings. schema: type: string - name: key in: query schema: type: array items: type: string responses: default: description: default response content: application/json;charset=UTF-8; qs=0.09: schema: $ref: '#/components/schemas/BTUserAppSettingsInfo' deprecated: false x-BTVisibility: PRODUCTION post: tags: - API Application summary: Update company preference settings for an application description: 'This API is only usable with an OAuth token and only by the current user or admin. * Add or update a setting identified by key with value. * Operation and field may optionally be specified when updating Map type settings. * Field specifies the key of the setting Map to update. * Operation may be one of: * `ADD`: Add or update an existing field of the settings Map. * `UPDATE`: Update an existing field of the settings Map and return an error if the field does not exist. * `REMOVE`: Remove the field from the settings Map.' operationId: updateAppCompanySettings parameters: - name: cpid in: path required: true schema: type: string - name: cid in: path required: true schema: type: string requestBody: content: application/json;charset=UTF-8; qs=0.09: schema: $ref: '#/components/schemas/BTUserAppSettingsParams' required: true responses: default: description: default response content: application/json;charset=UTF-8; qs=0.09: schema: type: object deprecated: false x-BTVisibility: PRODUCTION delete: tags: - API Application summary: Delete a company's application preference settings description: This API is only usable with an OAuth token and only by the current user or admin. operationId: deleteCompanyAppSettings parameters: - name: cpid in: path required: true schema: type: string - name: cid in: path required: true schema: type: string - name: key in: query schema: type: array items: type: string responses: default: description: default response content: application/json;charset=UTF-8; qs=0.09: schema: type: object deprecated: false x-BTVisibility: PRODUCTION /applications/clients/{cid}/settings/users/{uid}: get: tags: - API Application summary: Get user-level preference settings for an application description: This API is only usable with an OAuth token and only by the current user or admin. operationId: getUserAppSettings parameters: - name: uid in: path required: true schema: type: string - name: cid in: path required: true schema: type: string - name: key in: query schema: type: array items: type: string responses: default: description: default response content: application/json;charset=UTF-8; qs=0.09: schema: $ref: '#/components/schemas/BTUserAppSettingsInfo' deprecated: false x-BTVisibility: PRODUCTION post: tags: - API Application summary: Update a user's application preference settings description: 'This API is only usable with an OAuth token and only by the current user or admin. * Add or update a setting identified by key with value. * Operation and field may optionally be specified when updating Map type settings. * Field specifies the key of the setting Map to update. * Operation may be one of: * `ADD`: Add or update an existing field of the settings Map. * `UPDATE`: Update an existing field of the settings Map and return an error if the field does not exist. * `REMOVE`: Remove the field from the settings Map.' operationId: updateAppSettings parameters: - name: uid in: path required: true schema: type: string - name: cid in: path required: true schema: type: string requestBody: content: application/json;charset=UTF-8; qs=0.09: schema: $ref: '#/components/schemas/BTUserAppSettingsParams' required: true responses: default: description: default response content: application/json;charset=UTF-8; qs=0.09: schema: type: object deprecated: false x-BTVisibility: PRODUCTION delete: tags: - API Application summary: Delete a user's application preference settings description: This API is only usable with an OAuth token and only by the current user or admin. operationId: deleteAppSettings parameters: - name: uid in: path required: true schema: type: string - name: cid in: path required: true schema: type: string - name: key in: query schema: type: array items: type: string responses: '200': description: Success! deprecated: false x-BTVisibility: PRODUCTION /applications/extensions/user/{uid}/client/{cid}: get: tags: - API Application summary: Get a list of the client extensions the specified user has granted/accepted… operationId: getApplicableExtensionsForClient parameters: - name: uid in: path required: true schema: type: string - name: cid in: path required: true schema: type: string - name: validPurchases in: query schema: type: boolean default: false responses: default: description: default response content: application/json;charset=UTF-8; qs=0.09: schema: type: array items: $ref: '#/components/schemas/BTAPIApplicationExtensionInfo' deprecated: false security: - OAuth2: - OAuth2ReadPII BasicAuth: - OAuth2ReadPII x-BTVisibility: PRODUCTION components: schemas: BTSettingParam: type: object properties: field: type: string key: type: string operation: $ref: '#/components/schemas/BTUserAppSettingOperationType' value: type: object BTUserAppSettingsInfo: type: object properties: settings: type: array items: $ref: '#/components/schemas/BTSettingInfo' BTAPIApplicationExtensionInfo: type: object properties: actionBody: type: string actionType: type: integer format: int32 actionUrl: type: string applicationId: type: string clientId: type: string description: type: string extensionContext: type: integer format: int64 extensionLocation: type: integer format: int64 hasIcon: type: boolean hasPendingIcon: type: boolean href: type: string description: URI to fetch complete information of the resource. format: uri iconUrl: type: string id: type: string description: Id of the resource. name: type: string description: Name of the resource. parentAppPrimaryFormat: type: string plusMenuApp: type: boolean showBetaLabel: type: boolean showResponse: type: boolean showUpgradeLabel: type: boolean systemAppExtension: type: boolean systemAppIconName: type: string viewRef: type: string description: URI to visualize the resource in a webclient if applicable. format: uri visibilityRule: type: string BTSettingInfo: type: object properties: key: type: string value: type: object BTUserAppSettingsParams: type: object properties: settings: type: array items: $ref: '#/components/schemas/BTSettingParam' BTUserAppSettingOperationType: type: string enum: - ADD - REMOVE - UPDATE 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