"""
    Onshape REST API

    The Onshape REST API consumed by all client. # Authorization The simplest way to authorize and enable the **Try it out** functionality is to sign in to Onshape and use the current session. The **Authorize** button enables other authorization techniques. To ensure the current session isn't used when trying other authentication techniques, make sure to remove the Onshape cookie as per the instructions for your particular browser. Alternatively, a private or incognito window may be used. Here's [how to remove a specific cookie on Chrome](https://support.google.com/chrome/answer/95647#zippy=%2Cdelete-cookies-from-a-site). - **Current Session** authorization is enabled by default if the browser is already signed in to [Onshape](/). - **OAuth2** authorization uses an Onshape OAuth2 app created on the [Onshape Developer Portal](https://dev-portal.onshape.com/oauthApps). The redirect URL field should include `https://cad.onshape.com/glassworks/explorer/oauth2-redirect.html`. - **API Key** authorization using basic authentication is also available. The keys can be generated in the [Onshape Developer Portal](https://dev-portal.onshape.com/keys). In the authentication dialog, enter the access key in the `Username` field, and enter the secret key in the `Password` field. Basic authentication should only be used during the development process since sharing API Keys provides the same level of access as a username and password.  # noqa: E501

    The version of the OpenAPI document: 1.143.3263-a9e651bcae07
    Contact: api-support@onshape.zendesk.com
    Generated by: https://openapi-generator.tech
"""


import re  # noqa: F401
import sys  # noqa: F401

from onshape_client.oas.api_client import ApiClient, Endpoint as _Endpoint
from onshape_client.oas.model_utils import (  # noqa: F401
    check_allowed_values,
    check_validations,
    date,
    datetime,
    file_type,
    none_type,
    validate_and_convert_types
)
from onshape_client.oas.model.bt_assembly_definition_info import BTAssemblyDefinitionInfo
from onshape_client.oas.model.bt_assembly_feature_list_response1174 import BTAssemblyFeatureListResponse1174
from onshape_client.oas.model.bt_assembly_insert_transformed_instances_response import BTAssemblyInsertTransformedInstancesResponse
from onshape_client.oas.model.bt_assembly_instance_definition_params import BTAssemblyInstanceDefinitionParams
from onshape_client.oas.model.bt_assembly_transform_definition_params import BTAssemblyTransformDefinitionParams
from onshape_client.oas.model.bt_assembly_transformed_instances_definition_params import BTAssemblyTransformedInstancesDefinitionParams
from onshape_client.oas.model.bt_bounding_box_info import BTBoundingBoxInfo
from onshape_client.oas.model.bt_document_element_info import BTDocumentElementInfo
from onshape_client.oas.model.bt_feature_api_base1430 import BTFeatureApiBase1430
from onshape_client.oas.model.bt_feature_definition_call1406 import BTFeatureDefinitionCall1406
from onshape_client.oas.model.bt_feature_definition_response1617 import BTFeatureDefinitionResponse1617
from onshape_client.oas.model.bt_feature_specs_response664 import BTFeatureSpecsResponse664
from onshape_client.oas.model.bt_mass_properties_info_null import BTMassPropertiesInfoNull
from onshape_client.oas.model.bt_model_element_params import BTModelElementParams
from onshape_client.oas.model.bt_named_views_info import BTNamedViewsInfo
from onshape_client.oas.model.bt_occurrence74 import BTOccurrence74
from onshape_client.oas.model.bt_shaded_views_info import BTShadedViewsInfo
from onshape_client.oas.model.bt_translate_format_params import BTTranslateFormatParams
from onshape_client.oas.model.bt_translation_request_info import BTTranslationRequestInfo


class AssemblyApi(object):
    """NOTE: This class is auto generated by OpenAPI Generator
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    def __init__(self, api_client=None):
        if api_client is None:
            api_client = ApiClient()
        self.api_client = api_client
        self.add_feature_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureDefinitionResponse1617,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/features',
                'operation_id': 'add_feature',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'bt_feature_definition_call1406',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'bt_feature_definition_call1406':
                        (BTFeatureDefinitionCall1406,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'bt_feature_definition_call1406': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.create_assembly_endpoint = _Endpoint(
            settings={
                'response_type': (BTDocumentElementInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/w/{wid}',
                'operation_id': 'create_assembly',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'bt_model_element_params',
                ],
                'required': [
                    'did',
                    'wid',
                    'bt_model_element_params',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'bt_model_element_params':
                        (BTModelElementParams,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'bt_model_element_params': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.create_instance_endpoint = _Endpoint(
            settings={
                'response_type': ([BTOccurrence74],),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/w/{wid}/e/{eid}/instances',
                'operation_id': 'create_instance',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'eid',
                    'bt_assembly_instance_definition_params',
                ],
                'required': [
                    'did',
                    'wid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'eid':
                        (str,),
                    'bt_assembly_instance_definition_params':
                        (BTAssemblyInstanceDefinitionParams,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'eid': 'path',
                    'bt_assembly_instance_definition_params': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.delete_feature_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureApiBase1430,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/w/{wid}/e/{eid}/features/featureid/{fid}',
                'operation_id': 'delete_feature',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'eid',
                    'fid',
                ],
                'required': [
                    'did',
                    'wid',
                    'eid',
                    'fid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'eid':
                        (str,),
                    'fid':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                    'eid': 'eid',
                    'fid': 'fid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'eid': 'path',
                    'fid': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.delete_instance_endpoint = _Endpoint(
            settings={
                'response_type': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/w/{wid}/e/{eid}/instance/nodeid/{nid}',
                'operation_id': 'delete_instance',
                'http_method': 'DELETE',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'eid',
                    'wid',
                    'nid',
                ],
                'required': [
                    'did',
                    'eid',
                    'wid',
                    'nid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'eid':
                        (str,),
                    'wid':
                        (str,),
                    'nid':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'eid': 'eid',
                    'wid': 'wid',
                    'nid': 'nid',
                },
                'location_map': {
                    'did': 'path',
                    'eid': 'path',
                    'wid': 'path',
                    'nid': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_assembly_bounding_boxes_endpoint = _Endpoint(
            settings={
                'response_type': (BTBoundingBoxInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/boundingboxes',
                'operation_id': 'get_assembly_bounding_boxes',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'link_document_id',
                    'configuration',
                    'exploded_view_id',
                    'include_hidden',
                    'display_state_id',
                    'include_sketches',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                    'exploded_view_id':
                        (str,),
                    'include_hidden':
                        (bool,),
                    'display_state_id':
                        (str,),
                    'include_sketches':
                        (bool,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                    'exploded_view_id': 'explodedViewId',
                    'include_hidden': 'includeHidden',
                    'display_state_id': 'displayStateId',
                    'include_sketches': 'includeSketches',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'configuration': 'query',
                    'exploded_view_id': 'query',
                    'include_hidden': 'query',
                    'display_state_id': 'query',
                    'include_sketches': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_assembly_definition_endpoint = _Endpoint(
            settings={
                'response_type': (BTAssemblyDefinitionInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}',
                'operation_id': 'get_assembly_definition',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'link_document_id',
                    'configuration',
                    'exploded_view_id',
                    'include_mate_features',
                    'include_non_solids',
                    'include_mate_connectors',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                    'exploded_view_id':
                        (str,),
                    'include_mate_features':
                        (bool,),
                    'include_non_solids':
                        (bool,),
                    'include_mate_connectors':
                        (bool,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                    'exploded_view_id': 'explodedViewId',
                    'include_mate_features': 'includeMateFeatures',
                    'include_non_solids': 'includeNonSolids',
                    'include_mate_connectors': 'includeMateConnectors',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'configuration': 'query',
                    'exploded_view_id': 'query',
                    'include_mate_features': 'query',
                    'include_non_solids': 'query',
                    'include_mate_connectors': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_assembly_mass_properties_endpoint = _Endpoint(
            settings={
                'response_type': (BTMassPropertiesInfoNull,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/massproperties',
                'operation_id': 'get_assembly_mass_properties',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'link_document_id',
                    'configuration',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'configuration': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_assembly_shaded_views_endpoint = _Endpoint(
            settings={
                'response_type': (BTShadedViewsInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/shadedviews',
                'operation_id': 'get_assembly_shaded_views',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'link_document_id',
                    'configuration',
                    'exploded_view_id',
                    'view_matrix',
                    'output_height',
                    'output_width',
                    'pixel_size',
                    'edges',
                    'show_all_parts',
                    'include_surfaces',
                    'use_anti_aliasing',
                    'include_wires',
                    'display_state_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                    'exploded_view_id':
                        (str,),
                    'view_matrix':
                        (str,),
                    'output_height':
                        (int,),
                    'output_width':
                        (int,),
                    'pixel_size':
                        (float,),
                    'edges':
                        (str,),
                    'show_all_parts':
                        (bool,),
                    'include_surfaces':
                        (bool,),
                    'use_anti_aliasing':
                        (bool,),
                    'include_wires':
                        (bool,),
                    'display_state_id':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                    'exploded_view_id': 'explodedViewId',
                    'view_matrix': 'viewMatrix',
                    'output_height': 'outputHeight',
                    'output_width': 'outputWidth',
                    'pixel_size': 'pixelSize',
                    'edges': 'edges',
                    'show_all_parts': 'showAllParts',
                    'include_surfaces': 'includeSurfaces',
                    'use_anti_aliasing': 'useAntiAliasing',
                    'include_wires': 'includeWires',
                    'display_state_id': 'displayStateId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'configuration': 'query',
                    'exploded_view_id': 'query',
                    'view_matrix': 'query',
                    'output_height': 'query',
                    'output_width': 'query',
                    'pixel_size': 'query',
                    'edges': 'query',
                    'show_all_parts': 'query',
                    'include_surfaces': 'query',
                    'use_anti_aliasing': 'query',
                    'include_wires': 'query',
                    'display_state_id': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_bill_of_materials_endpoint = _Endpoint(
            settings={
                'response_type': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/bom',
                'operation_id': 'get_bill_of_materials',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'bom_column_ids',
                    'indented',
                    'multi_level',
                    'generate_if_absent',
                    'link_document_id',
                    'configuration',
                    'template_id',
                    'include_excluded',
                    'only_visible_columns',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'bom_column_ids':
                        ([str],),
                    'indented':
                        (bool,),
                    'multi_level':
                        (bool,),
                    'generate_if_absent':
                        (bool,),
                    'link_document_id':
                        (str,),
                    'configuration':
                        (str,),
                    'template_id':
                        (str,),
                    'include_excluded':
                        (bool,),
                    'only_visible_columns':
                        (bool,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'bom_column_ids': 'bomColumnIds',
                    'indented': 'indented',
                    'multi_level': 'multiLevel',
                    'generate_if_absent': 'generateIfAbsent',
                    'link_document_id': 'linkDocumentId',
                    'configuration': 'configuration',
                    'template_id': 'templateId',
                    'include_excluded': 'includeExcluded',
                    'only_visible_columns': 'onlyVisibleColumns',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'bom_column_ids': 'query',
                    'indented': 'query',
                    'multi_level': 'query',
                    'generate_if_absent': 'query',
                    'link_document_id': 'query',
                    'configuration': 'query',
                    'template_id': 'query',
                    'include_excluded': 'query',
                    'only_visible_columns': 'query',
                },
                'collection_format_map': {
                    'bom_column_ids': 'multi',
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_feature_specs_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureSpecsResponse664,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/featurespecs',
                'operation_id': 'get_feature_specs',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_features_endpoint = _Endpoint(
            settings={
                'response_type': (BTAssemblyFeatureListResponse1174,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/{wvm}/{wvmid}/e/{eid}/features',
                'operation_id': 'get_features',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                    'feature_id',
                    'link_document_id',
                ],
                'required': [
                    'did',
                    'wvm',
                    'wvmid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wvm':
                        (str,),
                    'wvmid':
                        (str,),
                    'eid':
                        (str,),
                    'feature_id':
                        ([str],),
                    'link_document_id':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wvm': 'wvm',
                    'wvmid': 'wvmid',
                    'eid': 'eid',
                    'feature_id': 'featureId',
                    'link_document_id': 'linkDocumentId',
                },
                'location_map': {
                    'did': 'path',
                    'wvm': 'path',
                    'wvmid': 'path',
                    'eid': 'path',
                    'feature_id': 'query',
                    'link_document_id': 'query',
                },
                'collection_format_map': {
                    'feature_id': 'multi',
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_named_views_endpoint = _Endpoint(
            settings={
                'response_type': (BTNamedViewsInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/e/{eid}/namedViews',
                'operation_id': 'get_named_views',
                'http_method': 'GET',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'eid',
                    'link_document_id',
                    'skip_perspective',
                    'include_section_cut_views',
                ],
                'required': [
                    'did',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'eid':
                        (str,),
                    'link_document_id':
                        (str,),
                    'skip_perspective':
                        (bool,),
                    'include_section_cut_views':
                        (bool,),
                },
                'attribute_map': {
                    'did': 'did',
                    'eid': 'eid',
                    'link_document_id': 'linkDocumentId',
                    'skip_perspective': 'skipPerspective',
                    'include_section_cut_views': 'includeSectionCutViews',
                },
                'location_map': {
                    'did': 'path',
                    'eid': 'path',
                    'link_document_id': 'query',
                    'skip_perspective': 'query',
                    'include_section_cut_views': 'query',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.get_or_create_bill_of_materials_element_endpoint = _Endpoint(
            settings={
                'response_type': (BTDocumentElementInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/w/{wid}/e/{eid}/bomelement',
                'operation_id': 'get_or_create_bill_of_materials_element',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'eid',
                ],
                'required': [
                    'did',
                    'wid',
                    'eid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'eid':
                        (str,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'eid': 'path',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [],
            },
            api_client=api_client
        )
        self.insert_transformed_instances_endpoint = _Endpoint(
            settings={
                'response_type': (BTAssemblyInsertTransformedInstancesResponse,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/w/{wid}/e/{eid}/transformedinstances',
                'operation_id': 'insert_transformed_instances',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'eid',
                    'wid',
                    'bt_assembly_transformed_instances_definition_params',
                ],
                'required': [
                    'did',
                    'eid',
                    'wid',
                    'bt_assembly_transformed_instances_definition_params',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'eid':
                        (str,),
                    'wid':
                        (str,),
                    'bt_assembly_transformed_instances_definition_params':
                        (BTAssemblyTransformedInstancesDefinitionParams,),
                },
                'attribute_map': {
                    'did': 'did',
                    'eid': 'eid',
                    'wid': 'wid',
                },
                'location_map': {
                    'did': 'path',
                    'eid': 'path',
                    'wid': 'path',
                    'bt_assembly_transformed_instances_definition_params': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.transform_occurrences_endpoint = _Endpoint(
            settings={
                'response_type': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/w/{wid}/e/{eid}/occurrencetransforms',
                'operation_id': 'transform_occurrences',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'eid',
                    'wid',
                    'bt_assembly_transform_definition_params',
                ],
                'required': [
                    'did',
                    'eid',
                    'wid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'eid':
                        (str,),
                    'wid':
                        (str,),
                    'bt_assembly_transform_definition_params':
                        (BTAssemblyTransformDefinitionParams,),
                },
                'attribute_map': {
                    'did': 'did',
                    'eid': 'eid',
                    'wid': 'wid',
                },
                'location_map': {
                    'did': 'path',
                    'eid': 'path',
                    'wid': 'path',
                    'bt_assembly_transform_definition_params': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.translate_format_endpoint = _Endpoint(
            settings={
                'response_type': (BTTranslationRequestInfo,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/{wv}/{wvid}/e/{eid}/translations',
                'operation_id': 'translate_format',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wv',
                    'wvid',
                    'eid',
                    'bt_translate_format_params',
                ],
                'required': [
                    'did',
                    'wv',
                    'wvid',
                    'eid',
                    'bt_translate_format_params',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wv':
                        (str,),
                    'wvid':
                        (str,),
                    'eid':
                        (str,),
                    'bt_translate_format_params':
                        (BTTranslateFormatParams,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wv': 'wv',
                    'wvid': 'wvid',
                    'eid': 'eid',
                },
                'location_map': {
                    'did': 'path',
                    'wv': 'path',
                    'wvid': 'path',
                    'eid': 'path',
                    'bt_translate_format_params': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )
        self.update_feature_endpoint = _Endpoint(
            settings={
                'response_type': (BTFeatureDefinitionResponse1617,),
                'auth': [
                    'BasicAuth',
                    'OAuth2'
                ],
                'endpoint_path': '/assemblies/d/{did}/w/{wid}/e/{eid}/features/featureid/{fid}',
                'operation_id': 'update_feature',
                'http_method': 'POST',
                'servers': None,
            },
            params_map={
                'all': [
                    'did',
                    'wid',
                    'eid',
                    'fid',
                    'bt_feature_definition_call1406',
                ],
                'required': [
                    'did',
                    'wid',
                    'eid',
                    'fid',
                ],
                'nullable': [
                ],
                'enum': [
                ],
                'validation': [
                ]
            },
            root_map={
                'validations': {
                },
                'allowed_values': {
                },
                'openapi_types': {
                    'did':
                        (str,),
                    'wid':
                        (str,),
                    'eid':
                        (str,),
                    'fid':
                        (str,),
                    'bt_feature_definition_call1406':
                        (BTFeatureDefinitionCall1406,),
                },
                'attribute_map': {
                    'did': 'did',
                    'wid': 'wid',
                    'eid': 'eid',
                    'fid': 'fid',
                },
                'location_map': {
                    'did': 'path',
                    'wid': 'path',
                    'eid': 'path',
                    'fid': 'path',
                    'bt_feature_definition_call1406': 'body',
                },
                'collection_format_map': {
                }
            },
            headers_map={
                'accept': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ],
                'content_type': [
                    'application/vnd.onshape.v2+json;charset=UTF-8;qs=0.2'
                ]
            },
            api_client=api_client
        )

    def add_feature(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """add_feature  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.add_feature(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            bt_feature_definition_call1406 (BTFeatureDefinitionCall1406): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureDefinitionResponse1617
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.add_feature_endpoint.call_with_http_info(**kwargs)

    def create_assembly(
        self,
        did,
        wid,
        bt_model_element_params,
        **kwargs
    ):
        """Create Assembly  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.create_assembly(did, wid, bt_model_element_params, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wid (str):
            bt_model_element_params (BTModelElementParams):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTDocumentElementInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['bt_model_element_params'] = \
            bt_model_element_params
        return self.create_assembly_endpoint.call_with_http_info(**kwargs)

    def create_instance(
        self,
        did,
        wid,
        eid,
        **kwargs
    ):
        """Create assembly instance  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.create_instance(did, wid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wid (str):
            eid (str):

        Keyword Args:
            bt_assembly_instance_definition_params (BTAssemblyInstanceDefinitionParams): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            [BTOccurrence74]
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['eid'] = \
            eid
        return self.create_instance_endpoint.call_with_http_info(**kwargs)

    def delete_feature(
        self,
        did,
        wid,
        eid,
        fid,
        **kwargs
    ):
        """Delete Feature  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.delete_feature(did, wid, eid, fid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wid (str):
            eid (str):
            fid (str):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureApiBase1430
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['eid'] = \
            eid
        kwargs['fid'] = \
            fid
        return self.delete_feature_endpoint.call_with_http_info(**kwargs)

    def delete_instance(
        self,
        did,
        eid,
        wid,
        nid,
        **kwargs
    ):
        """Delete assembly instance.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.delete_instance(did, eid, wid, nid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            eid (str):
            wid (str):
            nid (str):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            {str: (bool, date, datetime, dict, float, int, list, str, none_type)}
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['eid'] = \
            eid
        kwargs['wid'] = \
            wid
        kwargs['nid'] = \
            nid
        return self.delete_instance_endpoint.call_with_http_info(**kwargs)

    def get_assembly_bounding_boxes(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Bounding Boxes.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_assembly_bounding_boxes(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            configuration (str): [optional] if omitted the server will use the default value of ""
            exploded_view_id (str): [optional]
            include_hidden (bool): [optional]
            display_state_id (str): [optional]
            include_sketches (bool): [optional] if omitted the server will use the default value of False
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTBoundingBoxInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_assembly_bounding_boxes_endpoint.call_with_http_info(**kwargs)

    def get_assembly_definition(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Assembly Definition.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_assembly_definition(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            configuration (str): [optional] if omitted the server will use the default value of ""
            exploded_view_id (str): [optional]
            include_mate_features (bool): [optional]
            include_non_solids (bool): [optional]
            include_mate_connectors (bool): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTAssemblyDefinitionInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_assembly_definition_endpoint.call_with_http_info(**kwargs)

    def get_assembly_mass_properties(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Mass properties of an Assembly.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_assembly_mass_properties(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            configuration (str): [optional] if omitted the server will use the default value of ""
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTMassPropertiesInfoNull
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_assembly_mass_properties_endpoint.call_with_http_info(**kwargs)

    def get_assembly_shaded_views(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """get_assembly_shaded_views  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_assembly_shaded_views(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            configuration (str): [optional] if omitted the server will use the default value of ""
            exploded_view_id (str): [optional]
            view_matrix (str): [optional] if omitted the server will use the default value of "front"
            output_height (int): [optional] if omitted the server will use the default value of 500
            output_width (int): [optional] if omitted the server will use the default value of 500
            pixel_size (float): [optional] if omitted the server will use the default value of 0.003
            edges (str): [optional] if omitted the server will use the default value of "show"
            show_all_parts (bool): [optional] if omitted the server will use the default value of False
            include_surfaces (bool): [optional] if omitted the server will use the default value of True
            use_anti_aliasing (bool): [optional] if omitted the server will use the default value of False
            include_wires (bool): [optional] if omitted the server will use the default value of False
            display_state_id (str): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTShadedViewsInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_assembly_shaded_views_endpoint.call_with_http_info(**kwargs)

    def get_bill_of_materials(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Get Bill of Materials  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_bill_of_materials(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            bom_column_ids ([str]): [optional]
            indented (bool): [optional] if omitted the server will use the default value of True
            multi_level (bool): [optional] if omitted the server will use the default value of False
            generate_if_absent (bool): [optional] if omitted the server will use the default value of False
            link_document_id (str): [optional]
            configuration (str): [optional]
            template_id (str): [optional]
            include_excluded (bool): [optional]
            only_visible_columns (bool): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            {str: (bool, date, datetime, dict, float, int, list, str, none_type)}
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_bill_of_materials_endpoint.call_with_http_info(**kwargs)

    def get_feature_specs(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """get_feature_specs  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_feature_specs(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureSpecsResponse664
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_feature_specs_endpoint.call_with_http_info(**kwargs)

    def get_features(
        self,
        did,
        wvm,
        wvmid,
        eid,
        **kwargs
    ):
        """Get Feature List  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_features(did, wvm, wvmid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wvm (str):
            wvmid (str):
            eid (str):

        Keyword Args:
            feature_id ([str]): [optional]
            link_document_id (str): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTAssemblyFeatureListResponse1174
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wvm'] = \
            wvm
        kwargs['wvmid'] = \
            wvmid
        kwargs['eid'] = \
            eid
        return self.get_features_endpoint.call_with_http_info(**kwargs)

    def get_named_views(
        self,
        did,
        eid,
        **kwargs
    ):
        """get_named_views  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_named_views(did, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            eid (str):

        Keyword Args:
            link_document_id (str): [optional] if omitted the server will use the default value of ""
            skip_perspective (bool): [optional] if omitted the server will use the default value of True
            include_section_cut_views (bool): [optional] if omitted the server will use the default value of False
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTNamedViewsInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['eid'] = \
            eid
        return self.get_named_views_endpoint.call_with_http_info(**kwargs)

    def get_or_create_bill_of_materials_element(
        self,
        did,
        wid,
        eid,
        **kwargs
    ):
        """Get or Create Bill of Materials Element  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.get_or_create_bill_of_materials_element(did, wid, eid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wid (str):
            eid (str):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTDocumentElementInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['eid'] = \
            eid
        return self.get_or_create_bill_of_materials_element_endpoint.call_with_http_info(**kwargs)

    def insert_transformed_instances(
        self,
        did,
        eid,
        wid,
        bt_assembly_transformed_instances_definition_params,
        **kwargs
    ):
        """Create and transform assembly instances  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.insert_transformed_instances(did, eid, wid, bt_assembly_transformed_instances_definition_params, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            eid (str):
            wid (str):
            bt_assembly_transformed_instances_definition_params (BTAssemblyTransformedInstancesDefinitionParams):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTAssemblyInsertTransformedInstancesResponse
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['eid'] = \
            eid
        kwargs['wid'] = \
            wid
        kwargs['bt_assembly_transformed_instances_definition_params'] = \
            bt_assembly_transformed_instances_definition_params
        return self.insert_transformed_instances_endpoint.call_with_http_info(**kwargs)

    def transform_occurrences(
        self,
        did,
        eid,
        wid,
        **kwargs
    ):
        """Transform assembly occurrences.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.transform_occurrences(did, eid, wid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            eid (str):
            wid (str):

        Keyword Args:
            bt_assembly_transform_definition_params (BTAssemblyTransformDefinitionParams): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            {str: (bool, date, datetime, dict, float, int, list, str, none_type)}
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['eid'] = \
            eid
        kwargs['wid'] = \
            wid
        return self.transform_occurrences_endpoint.call_with_http_info(**kwargs)

    def translate_format(
        self,
        did,
        wv,
        wvid,
        eid,
        bt_translate_format_params,
        **kwargs
    ):
        """Create Assembly translation.  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.translate_format(did, wv, wvid, eid, bt_translate_format_params, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wv (str):
            wvid (str):
            eid (str):
            bt_translate_format_params (BTTranslateFormatParams):

        Keyword Args:
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTTranslationRequestInfo
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wv'] = \
            wv
        kwargs['wvid'] = \
            wvid
        kwargs['eid'] = \
            eid
        kwargs['bt_translate_format_params'] = \
            bt_translate_format_params
        return self.translate_format_endpoint.call_with_http_info(**kwargs)

    def update_feature(
        self,
        did,
        wid,
        eid,
        fid,
        **kwargs
    ):
        """update_feature  # noqa: E501

        This method makes a synchronous HTTP request by default. To make an
        asynchronous HTTP request, please pass async_req=True

        >>> thread = api.update_feature(did, wid, eid, fid, async_req=True)
        >>> result = thread.get()

        Args:
            did (str):
            wid (str):
            eid (str):
            fid (str):

        Keyword Args:
            bt_feature_definition_call1406 (BTFeatureDefinitionCall1406): [optional]
            _return_http_data_only (bool): response data without head status
                code and headers. Default is True.
            _preload_content (bool): if False, the urllib3.HTTPResponse object
                will be returned without reading/decoding response data.
                Default is True.
            _request_timeout (int/float/tuple): timeout setting for this request. If
                one number provided, it will be total request timeout. It can also
                be a pair (tuple) of (connection, read) timeouts.
                Default is None.
            _check_input_type (bool): specifies if type checking
                should be done one the data sent to the server.
                Default is True.
            _check_return_type (bool): specifies if type checking
                should be done one the data received from the server.
                Default is True.
            _spec_property_naming (bool): True if the variable names in the input data
                are serialized names, as specified in the OpenAPI document.
                False if the variable names in the input data
                are pythonic names, e.g. snake case (default)
            _content_type (str/None): force body content-type.
                Default is None and content-type will be predicted by allowed
                content-types and body.
            _host_index (int/None): specifies the index of the server
                that we want to use.
                Default is read from the configuration.
            async_req (bool): execute request asynchronously

        Returns:
            BTFeatureDefinitionResponse1617
                If the method is called asynchronously, returns the request
                thread.
        """
        kwargs['async_req'] = kwargs.get(
            'async_req', False
        )
        kwargs['_return_http_data_only'] = kwargs.get(
            '_return_http_data_only', True
        )
        kwargs['_preload_content'] = kwargs.get(
            '_preload_content', True
        )
        kwargs['_request_timeout'] = kwargs.get(
            '_request_timeout', None
        )
        kwargs['_check_input_type'] = kwargs.get(
            '_check_input_type', True
        )
        kwargs['_check_return_type'] = kwargs.get(
            '_check_return_type', True
        )
        kwargs['_spec_property_naming'] = kwargs.get(
            '_spec_property_naming', False
        )
        kwargs['_content_type'] = kwargs.get(
            '_content_type')
        kwargs['_host_index'] = kwargs.get('_host_index')
        kwargs['did'] = \
            did
        kwargs['wid'] = \
            wid
        kwargs['eid'] = \
            eid
        kwargs['fid'] = \
            fid
        return self.update_feature_endpoint.call_with_http_info(**kwargs)

