I am developping an R application where I want to execute a Make scenario using the REST API POST method. So, I started to read the Make API docu and followed the instructions for setting up connection and authentication. The API works and I can, for example, send GET requests for listing scenario IDs.
However, executing a scenario with a POST request as described in the docu does not work propoerly. The scenario is executed - but the inputs are ignored.
For testing, I’ve set up a dummy scenario with two inputs:
And I mapped these inputs to the first module of the scenario:
Then I called the API from within R and verbose gives me the following info:
→ POST /api/v2/scenarios/xxxx/run HTTP/1.1
→ Host: eu1.make.com
→ User-Agent: libcurl/7.64.1 r-curl/4.3.3 httr/1.4.4
→ Accept-Encoding: deflate, gzip
→ Accept: application/json, text/xml, application/xml, /
→ Content-Length: 58
← HTTP/1.1 200 OK
← Date: Tue, 04 Apr 2023 19:16:17 GMT
← Content-Type: application/json; charset=utf-8
← Transfer-Encoding: chunked
← Connection: keep-alive
← X-RateLimit-Limit: 120
← X-RateLimit-Remaining: 119
← X-RateLimit-Reset: 1680635838
← authType: token
← api-version: 4.4.0-hotfix.1
← x-powered-by: Make Trigger/production
← Content-Encoding: gzip
← CF-Cache-Status: DYNAMIC
← Server: cloudflare
← CF-RAY: 7b2be2882f2e01fc-ZRH
I also tested independently of R with curl from the command line:
curl -X POST https://eu1.make.com/api/v2/scenarios/xxxx/run \
-H ‘Authorization: Token xxxx’ \
Again, the scenario was executed ignoring the inputs.
The last test I did was using the Make ‘Make an API call’ module:
And now – it worked!
The input generated by the ‘Make an API call’ module looks like this
I do not understand why this works and the calls from outside Make.com do not work. I cannot spot any difference in what is sent to my dummy scenario with inputs.
What am I missing?
Thank you very much for your help.