400 Failed to deserialize your request


Sorry if I'm being retarded here but I cannot get a simple post to work.

All I'm trying to do is add a subscriber to a list using the instructions here:


Each time I pass it, I get the following error:

400Failed to deserialize your request. Please check the documentation and try again. Fields in error: subscriber

Please help! It's ridiculously frustrating to be stuck here already...



jamesd jamesd, 6 years ago

Hey Barry,

When you ask a question like this it's more helpful if you provide the exact input you're using. Also, are you just using curl, an API library or some other tool?

It's obviously related to the way you're formatting your input in the body of your request. Which exact route are you invoking, and which input are you providing?

barrysumo, 6 years ago

Sorry, it's a bit late and my mind's numb...

I was just using a simple form to test:

<FORM action="http://api.createsend.com/api/v3/subscribers/xxx.xml" method="post">
Name: <input type="text" name="Name" /><br />
Email: <input type="text" name="EmailAddress" />
    <INPUT type="submit" value="Send"> <INPUT type="reset">

Is that not possible?

Thanks for the help

jamesd jamesd, 6 years ago

No, your POST to http://api.createsend.com/api/v3/subscribers/{listid}.{xml|json} needs to include the data in the body of the request, not as parameters, which is clearly documented in the "Expected Request Body" section of the Adding a subscriber documentation.

If you are not familiar with manually build http requests, you may be better off using a library in your preferred programming language.

If you merely want to subscribe people to a list using a form, you may be better off simply using the subscribe form markup we can generate for you within the app.

200,000 companies around the world can't be wrong.

From Australia to Zimbabwe, and everywhere in between, companies count on 
Campaign Monitor for email campaigns that drive real business results.

Get started for free