400 Response with Make, Success with Curl

New to Make, but more than a decade of WebDev experience. I’m trying to update a form in Tally using a custom app I built around their private api. The idea is that Make Datastore will have a list of “Funds” that should populate a dropdown list in Tally. Everything is working fine except the API request at the end. I get a 400 with little info when I run my scenario.

Using the Make DevTool I’ve inspected the PATCH request and it looks good. I copy the CURL command and run it in my console and it returns a 200. Including a lightly redacted raw dump from the DevTool below.

{
    "_engineData": {
        "calledAt": "Not available"
    },
    "response": {
        "status": 400,
        "headers": {
            "date": "Mon, 31 Mar 2025 20:38:01 GMT",
            "content-type": "text/html; charset=utf-8",
            "transfer-encoding": "chunked",
            "connection": "close",
            "content-security-policy": "default-src 'none'",
            "cross-origin-opener-policy": "same-origin",
            "origin-agent-cluster": "?1",
            "referrer-policy": "no-referrer",
            "strict-transport-security": "max-age=31536000; includeSubDomains",
            "x-content-type-options": "nosniff",
            "x-dns-prefetch-control": "off",
            "x-download-options": "noopen",
            "x-frame-options": "SAMEORIGIN",
            "x-permitted-cross-domain-policies": "none",
            "x-xss-protection": "0",
            "vary": "Origin",
            "access-control-allow-credentials": "true",
            "x-cloud-trace-context": "67eafd2800000000621994a5eb85d603",
            "cf-cache-status": "DYNAMIC",
            "report-to": "{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=rJ7PlHqzDCrR%2BTAcG5TzpICWrGO12Rp2M1B3FIl87LVBygYKikZa8qE78HXAwYXyh7kzpl%2FkQWklHywnN63J5V%2FwgxrfsFwMhWkHP82IVMGcxSOVUC8LfjKUNw05C1w%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}",
            "nel": "{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}",
            "server": "cloudflare",
            "cf-ray": "9292a5e00ab581c4-IAD",
            "alt-svc": "h3=\":443\"; ma=86400",
            "server-timing": "cfL4;desc=\"?proto=TCP&rtt=1569&min_rtt=1433&rtt_var=635&sent=4&recv=6&lost=0&retrans=0&sent_bytes=2816&recv_bytes=2794&delivery_rate=2020935&cwnd=251&unsent_bytes=0&cid=26742e903a977e90&ts=148&x=0\""
        },
        "body": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<title>Error</title>\n</head>\n<body>\n<pre>Bad Request</pre>\n</body>\n</html>\n",
        "_engineData": {
            "calledAt": "Not available"
        }
    },
    "request": {
        "url": "https://api.tally.so/forms/xxx",
        "qs": {},
        "headers": {
            "user-agent": "Make/production",
            "authorization": "Bearer xxx",
            "content-type": "application/json"
        },
        "method": "PATCH",
        "body": {
            "id": "xxx",
            "name": "Remove a Fund",
            "isNameModifiedByUser": false,
            "workspaceId": "xxx",
            "organizationId": "xxx",
            "status": "PUBLISHED",
            "hasDraftBlocks": false,
            "numberOfSubmissions": 0,
            "createdAt": "2025-03-13T13:44:15.000Z",
            "updatedAt": "2025-03-13T14:52:02.000Z",
            "index": 0,
            "isClosed": false,
            "settings": null,
            "blocks": [
                {
                    "uuid": "8a1c41dd-34f2-4346-a0fe-4a3b863965f1",
                    "type": "FORM_TITLE",
                    "groupUuid": "2ebf8201-45f3-419f-8289-c3aba8254447",
                    "groupType": "TEXT",
                    "payload": {
                        "safeHTMLSchema": [
                            [
                                "Remove a Fund"
                            ]
                        ],
                        "title": "Remove a Fund"
                    }
                },
                {
                    "uuid": "b4f2c651-3e23-4485-b194-813a7141c740",
                    "type": "TEXT",
                    "groupUuid": "e7cac32b-fc75-478d-801e-d38580b7130b",
                    "groupType": "TEXT",
                    "payload": {
                        "safeHTMLSchema": [
                            [
                                "Pick a Fund to remove"
                            ]
                        ]
                    }
                },
                {
                    "type": "DROPDOWN_OPTION",
                    "uuid": "a3115a26-4029-4770-ba6c-26da119d17b3",
                    "payload": {
                        "index": 0,
                        "isRequired": true,
                        "isFirst": true,
                        "isLast": false,
                        "text": "1A test 3, 3/31"
                    },
                    "groupType": "DROPDOWN",
                    "groupUuid": "3bff5c19-7720-4a65-bd4e-b48abc9a0315"
                },
                {
                    "type": "DROPDOWN_OPTION",
                    "uuid": "44755274-8832-4286-a5a7-cd497e87ae26",
                    "payload": {
                        "index": 1,
                        "isRequired": true,
                        "isFirst": false,
                        "isLast": false,
                        "text": "3/31 test 2"
                    },
                    "groupType": "DROPDOWN",
                    "groupUuid": "3bff5c19-7720-4a65-bd4e-b48abc9a0315"
                },
                {
                    "type": "DROPDOWN_OPTION",
                    "uuid": "f6b6f206-0cbf-4880-9a86-915239cb276f",
                    "payload": {
                        "index": 2,
                        "isRequired": true,
                        "isFirst": false,
                        "isLast": true,
                        "text": "3/31/256 Fund 1"
                    },
                    "groupType": "DROPDOWN",
                    "groupUuid": "3bff5c19-7720-4a65-bd4e-b48abc9a0315"
                },
                {
                    "uuid": "73e948ac-71fd-42fb-a3ab-c81e2fbdaffe",
                    "type": "TEXT",
                    "groupUuid": "7e120e9c-3b70-4fbf-a941-51ce9bda9ba7",
                    "groupType": "TEXT",
                    "payload": {
                        "safeHTMLSchema": []
                    }
                }
            ]
        }
    }
}

Hey there,

if it is lightly redacted - best guess, there is a special symbol or something breaking the Make call and its getting fixed when you use a CURL command.

Use chatGPT to highlight the differences between the two calls and start from there.

Hi Stoyan! Thanks for reading my issue. The only thing I redacted are the Bearer token and the form id, everything else is identical.

The problem is, there aren’t two different calls to compare. The call fails in Make, so I used the Make DevTool to capture it. The captured call (using curl) works when I run it in my terminal. Is there another way to get the exact data of the the call Make is doing so I can compare it with the successful curl call?