POST /api/v2/outbound/contactlists returns 400 INVALID_VALUE on valid CSV

Trying to create a new contact list via the API but keep hitting a 400 error with INVALID_VALUE. The CSV file is valid and has the right headers, but the API rejects it immediately.

POST /api/v2/outbound/contactlists

Body:
{
“name”: “Test List”,
“description”: “Testing”,
“contactUri”: “https://s3-ap-southeast-2.amazonaws.com/bucket/test.csv
}

The S3 bucket is in ap-southeast-2 and the policy allows GET. What’s the actual requirement for the contactUri?