docs: def create_assembly_instance(self, assembly_uri, part_uri, configuration):
          '''
          Insert a configurable part into an assembly.
  
          Args:
              - assembly (dict): eid, wid, and did of the assembly into which will be inserted
              - part (dict): eid and did of the configurable part
              - configuration (dict): the configuration
  
          Returns:
              - requests.Response: Onshape response data
          '''
  
          payload = {
            "documentId": part_uri["did"],
            "elementId": part_uri["eid"],
            # could be added if needed:
            # "partId": "String",
            # "featureId": "String",
            # "microversionId": "String",
            "versionId": part_uri["wvm"],
            # "microversionId": "String",
            "isAssembly": False,
            "isWholePartStudio": True,
            "configuration": self.encode_configuration(part_uri["did"], part_uri["eid"], configuration)
          }
          return self._api.request('post', '/api/assemblies/d/' + assembly_uri["did"] + '/' + assembly_uri["wvm_type"] +
                                   '/' + assembly_uri["wvm"] + '/e/' + assembly_uri["eid"] + '/instances', body=payload)