Trying to spin up a new contact list via the Outbound API. We’ve got a simple script that pulls a CSV from S3, parses it into the required format, and attempts to POST it to the contact lists endpoint.
The payload looks exactly right based on the docs. Here’s the JSON body we’re sending:
{
"name": "Q3_Marketing_Test",
"description": "Test list for API integration",
"type": "csv",
"file": {
"name": "contacts.csv",
"contentType": "text/csv",
"data": "base64encodedcontenthere=="
}
}
We get a 400 Bad Request back immediately. The error object in the response is pretty bare:
{
"code": "INVALID_VALUE",
"message": "Invalid value",
"status": "Bad Request",
"contextId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
I’ve verified the base64 string is valid. I can decode it locally and it matches the CSV file perfectly. Tried changing the contentType to application/octet-stream just in case. Same error.
Checked the contextId in the logs but nothing jumps out as a validation failure on the field level. It’s not complaining about the name being taken or anything specific. Just “Invalid value”.
Anyone hit this wall before? Is there a hidden requirement for the file object structure that the Swagger docs are glossing over? Maybe the base64 needs padding handled differently?
Running this from a Node.js script using the axios library. Standard bearer token auth. Everything else works fine with the same token.