I am going to trying and summarize this as well as I can.

My standard object "Contact" has an external Id field called "Client ID". This is the unique identifier for a contact/customer.

I also have a custom object called "Products". I have tried to create a master look-up field that would link "Products" to "Contact". The field in "Products" is called "Client_Id__c, when I try to upload the CSV through the Bulk API V2.0

When I try to use the Bulk API v2.0 to upload this product information, I get the below error

"MALFORMED_ID:Client ID: id value of incorrect type: 98305:Client_ID__c --"

From my research this is suggesting that the malformed ID is because I need to use the salesforce ID and not the external id that I have listed on the "Contact"?

1 Answer 1


Yes, you cannot use the Client_ID__c field because that is a lookup field to contact.

You need to rename that lookup field to something like Contact or Customer. Then you need to create a text field in the Product object to contain the contact external ID. Finally you need to set up relationship field in the header row, per the documentation.

If the child object has a custom field with an API Name of Mother_Of_Child__c that points to a parent custom object and the parent object has a field with an API Name of External_ID__c, use the column header Mother_Of_Child__r.External_ID__c to indicate that you're using the parent object's External ID field to uniquely identify the Mother Of Child field. To use a relationship name in a column header, replace the __c in the child object's custom field with __r.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .