Update:
The cause was a change to the citation.tsv file where the Contact field name has changed to Point of Contact. If I manually edit the example file to use that, it works. So the fix would be to update the example file to use the new name:
Change:
"citation:Contact": {
"datasetContact:Name": "Admin, Dataverse",
"datasetContact:Affiliation": "GDCC",
"datasetContact:E-mail": "admin@demo.dataverse.org"
},
to be:
"citation:Point of Contact": {
"datasetContact:Name": "Admin, Dataverse",
"datasetContact:Affiliation": "GDCC",
"datasetContact:E-mail": "admin@demo.dataverse.org"
},
Error on command line, no server log error:
curl -H X-Dataverse-key:9aef05f2-eca0-412e-be4b-4c56697700cc -X POST "http://localhost:8080/api/dataverses/root/datasets/:startmigration" --upload-file dataset-migrate.jsonld
{"status":"ERROR","message":"Validation Failed: Contact E-mail is required. (Invalid value:edu.harvard.iq.dataverse.DatasetField[ id=null ])."}
Also tried specifying file type, same results:
curl -H 'Content-Type:application/ld+json' -H X-Dataverse-key:XXX-YYY-ZZZ -X POST "http://localhost:8080/api/dataverses/root/datasets/:startmigration" --upload-file dataset-migrate.jsonld
{"status":"ERROR","message":"Validation Failed: Contact E-mail is required. (Invalid value:edu.harvard.iq.dataverse.DatasetField[ id=null ])."}
Took file from doc:
https://guides.dataverse.org/en/5.10/_downloads/e6c9ad6742e37c64eabaea749a13fa27/dataset-migrate.jsonld