Outbound API POST returning INVALID_VALUE for contact list name

POST /api/v2/outbound/contactlists gives a 400 with INVALID_VALUE.

{
 "name": "Campaign-Test-01",
 "description": "Test",
 "columnHeaders": [{"name": "phone_number", "type": "string"}]
}

Checked the schema. Name is unique in our org. Tried swapping to campaign_test_01 just in case. Still fails. The error doesn’t specify which field. Is columnHeaders mandatory on creation? Or is there a hidden validation on the name format I’m missing?