I think the REST snaps typically send data serialized as JSON and aren’t setup to convert to serialize the entity as ‘application/x-www-form-urlencoded’. So, you’ll need to do the form encoding yourself using an expression like the following:
$.entries().map(elem => elem + "=" + encodeURIComponent(elem)).join("&")
Based on your recent updates and the pipeline you attached, if the input document to the REST POST contains only the data you want to send, this expression should work. I’ll break down what it’s doing:
$.entries() – This converts the input document into an array of key/value pairs for each property in the document.
.map(elem => elem + "=" + encodeURIComponent(elem)) – For each element in the array produced by the first step, create a string of the form
"<key>=<encoded-value>". The encodeURIComponent() takes care of escaping any special characters.
.join("&") – This joins the strings produced for each pair together with an ampersand. The ampersand in URL-encoding is used to separate key/value pairs.
Using this expression as the Entity property for the snap should then produce a string that the REST snap will send to the server.
One thing I noticed in your attached pipeline is that there are some extra quotes around the value for the Content-Type header, those will need to be removed for this to work.