For the chat.postMessage method (there may be others, but this is where I noticed the issue), it has an attachments parameter of an array of objects.
All API methods are GET requests and go through querystring.stringify - seems that this doesn't handle complex arrays well. I think changing the method to a POST request would work better.