POST /api/v2/outbound/contactlists failing with INVALID_VALUE

Stuck on the outbound contact list creation endpoint. I’m trying to push a simple CSV-derived list via the /api/v2/outbound/contactlists POST endpoint, but it keeps rejecting the payload with a 400 Bad Request. The error message is generic: {"code":"invalidValue","message":"Invalid value provided"}. No specific field is highlighted. I’ve validated the JSON against the schema in the docs multiple times. The list name is unique, the type is set to CALL_CENTER, and the contactSpecification includes the required dataSources array with a valid type of FILE and fileName. I’ve even tried stripping the payload down to the absolute minimum required fields. Still fails. Here’s the exact payload I’m sending:

{
 "name": "Test List Berlin 001",
 "description": "Automated test via API",
 "type": "CALL_CENTER",
 "contactSpecification": {
 "dataSources": [
 {
 "type": "FILE",
 "fileName": "agents_2024.csv",
 "mapping": {
 "phone": "phone_number",
 "email": "email_address"
 }
 }
 ]
 }
}

The CSV file agents_2024.csv already exists in the Genesys Cloud file store. I confirmed this by listing the files via the admin API. The headers match the mapping keys exactly. I’m using the Python SDK for the request, passing this dict directly to contact_list_api.post_outbound_contactlists. The auth token is fresh, generated just seconds before the call. I’ve checked the timezone settings in the org, everything is CET. I’ve tried changing the fileName to different existing files. Same result. I’ve tried removing the description field. Same result. I’ve tried adding the contactSpecification at the root level vs nested. Same result. It feels like the validator is checking something hidden. Maybe the file isn’t fully processed yet? I uploaded it five minutes ago. Or maybe there’s a character limit on the name I’m missing? The error doesn’t say. I’m out of ideas. What am I missing? The docs show this exact structure as valid. Why is it failing? I’ve spent two hours on this. It should be simple. I’m going in circles. Any clues on what INVALID_VALUE refers to here? The file exists. The mapping is correct. The name is unique. The type is standard. What else could it be? I’ve checked the logs. Nothing helpful. Just the 400 error. I’m stuck. Why is this happening? I need to automate this list creation. It’s blocking the rest of the workflow. Please help. I don’t know what to check next. I’ve tried everything obvious. It’s frustrating. I want to move on. But I can’t. The API just says invalid value. No details. No hints. Just failure. Again. And again. What is it? What value? I’m blind here. Help.