Header must contain the api names of the fields
I'm trying to upload Custom Metadata Type records to Nation__mdt. I've matched up my fields as required but I'm encountering an error "Header must contain the api names of the fields. "
As you can see from the screenshot, the expected headers and the returned headers are the same but in a different order (despite the order I set the headers in my csv). Any help would be appreciated.
I'm getting this error as well. The error displays the columns from the CSV in backwards order, so I rearranged them in reverse as well and still no dice.

Same issue here
Same for me
Same for me
Here's what worked for me.
I was experiencing the same issue when using a csv file on my mac that was file format: "CSV UTF-8 (Comma delimited) (.csv)"
When I changed to file format: "Comma Separated Values (.csv)" I was able to upload without issue.
Hope that helps others.
Note: If you experience an error similar to "Blob is not UTF string", it's likely because you have some special characters within the contents of your document which may not be supported.
Hitting this without UTF-8 encoding or special characters anywhere in the file. Has anyone found a solution?
I have figured the errors related to this for my file . There are multiple reasons of failure that could occur.
- If your field names are correct and the error you are getting is related to API names. Make your your profile has access to the custom metadata Type(Even if you are system Administrator).
- If your error is "Blob is not UTF string" , most likely you have special characters and in my case it was extra space at the end of a field.
- Custom Metadata Loader only accepts upto 200 rows so if your file is big enough then it is better to split and try.