I followed the article below and got the picklist label-name instead of API name for an object. How to query 'Value' of a picklist rather than the 'API NAME', using SOQL?
However while updating the object we get the error below. INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST
This is problematic, as now there is no way to get the API name of the field.
Restrict picklist to the values defined in the value set
option in picklist field or add new value as picklist entry. – Reshma Jan 10 at 9:12