POST /api/v2/analytics/outbound/contacts/lists returns 400 INVALID_VALUE despite valid JSON

Trying to spin up a new outbound contact list via the JS SDK (genesys-cloud/genesys-cloud-node v3.2.0) and getting a stubborn 400 error. The payload looks identical to what the Swagger UI accepts, but the backend rejects it with INVALID_VALUE.

Here’s the body I’m sending:

{
 "name": "Test List - Async",
 "description": "Automated import",
 "type": "campaign",
 "contactAttributes": [
 {
 "name": "phone_number",
 "dataType": "string"
 }
 ]
}

The code is straightforward:

const apiInstance = new GenesysCloud.AnalyticsApi();
apiInstance.postAnalyticsOutboundContactsLists(body, {
 headers: { 'Content-Type': 'application/json' }
});

Error response:

{
 "errors": [
 {
 "message": "Invalid value for parameter 'name'.",
 "code": "INVALID_VALUE"
 }
 ]
}

It’s not the name. I’ve tried test123, list_001, even unicode strings. Same error. The contactAttributes array is required according to the schema, so that’s not empty. Checked the auth token, it’s valid and has analytics:outbound:write scope.

Anyone hit this wall? Feels like a hidden validation rule on the type field or maybe an issue with the SDK serializing the attributes array wrong.