Connect to API that requires form data

Dear all,

does anyone have experience with establishing a connection to an API that requires a body with the ‘application/x-www-form-urlencoded’ format in a POST request.
Is this possible via the ONE DATA connections (currently it looks like only JSON is supported).
If yes, how?

You can override the format in the API processor by adding a header field.

Establishing the connection in the first place might be tricky, though.
For a Slack webhook (domain.com/path/to/webhook) I’ve done the following:

  1. Created a connection with POST to the domain only (this goes through in my case - not necessarily in your case)
  2. Assembled the path part in a WF
  3. Added the payload (JSON boby in my case) via the API processor.

Your case is a bit different. First, you need to find an endpoint that is OK without a path specified to create the connection with an empty body (you can always use a GET instead if you can’t find any suitable endpoint since the method can be selected in the API processor). Since your URL will contain the form data, you will have to assemble the path part in a WF as well. In the API processor you can then override the format header to your needs. Sending an empty body with the URL carrying the information should work.
So at the end of the day, your connection will only contain the host information and authentication configs. The rest is up to your WF to assemble.

First of all thanks for the quick response.
Unfortunately I still have problems with this approach.
So with the ‘GET’ trick I could actually add the connection and test it with the ‘Flexible Rest API’ processor but in the response I still get an error.

My URL now looks something like that (passwords etc. removed):

https://datasystem-central-stage.customer.org/auth/realms/datasystem/protocol/openid-connect/token?grant_type=password&username=xx-xx&password=xxx-xxx&scope=openid

Everything starting from grant_type is the information that is actually send via the form body usually.

I also added the content-type = application/x-www-form-urlencoded
header.

Unfortunately I get the following response:
Status-Code: 400
Response: invalid request: Missing form parameter: grant_type

Any ideas?