We are trying to automate the creation of outbound contact lists from our custom agent desktop app. The goal is to allow supervisors to bulk upload CSV data directly through our interface without touching the main Genesys Cloud UI. We are using the standard REST API endpoint POST /api/v2/outbound/contactlists.
The request seems straightforward. We are sending a JSON payload with the required fields like name, description, and the contacts array. The payload looks valid to me. Here is a snippet of what we are sending:
{
"name": "Test_List_001",
"description": "Automated test list",
"contacts": [
{
"contactId": "12345",
"phoneNumber": "+15550199876",
"address": {
"line1": "123 Main St",
"city": "Anytown",
"state": "CA",
"postalCode": "90210"
}
}
]
}
When we execute this POST request using our internal HTTP client, the server responds with a 400 Bad Request. The error body contains:
{
"errors": [
{
"code": "INVALID_VALUE",
"message": "Invalid value for contacts",
"path": "contacts"
}
]
}
The message is not very helpful. It just says “Invalid value” without specifying which field in the contact object is wrong. I have checked the phone number format. It is E.164. The address fields match the schema definition in the API docs. We also tried removing the address object entirely to see if that was the issue, but the same INVALID_VALUE error persists on the contacts array.
I am wondering if there is a hidden requirement for the contactId field. Does it need to be a GUID? Or maybe the array cannot be empty? We tested with an empty array and got a different error about minimum length, so the array itself is accepted, but the content inside is rejected.
Has anyone hit this specific error when creating lists via API? Is there a stricter validation on the phone number format that the docs don’t mention? Or maybe we are missing a required nested field in the contact object? We are using the latest SDK version for .NET but also tested with raw curl to rule out client-side serialization issues. The curl result is identical.