I have some experience using the Download tool, even with some especially difficult APIs that seem to have their own way of doing things that make no sense. One such API, Airtable, is causing some grief in that this POST cURL:
cURL -v -XPOST https://api.airtable.com/v0/[airtable table name] \
-H "Authorization: Bearer [API_KEY]" \
-H "Content-type: application/json" \
-d '{
"fields": {
"Field 1":"Value 1",
"Field 2":"Value 2"
}
}
returns an Error from Airtable's API saying: "{"error":{"type":"INVALID_REQUEST_MISSING_FIELDS","message":"Could not find field \"fields\" in the request body"}}" when I use the Download tools.
All the Headers and Endpoints are setup, it's just the stupid -d flag with no specific field or key for that JSON body.
Corroborating this, I loaded the cURL into Postman and I noticed that there is no "key", just POST'ing the JSON in the raw Body successfully performs the HTTP call. How do I translate this into the Download tool?
(I have referenced this excellent KB article on Download Tool & HTTP calls link)