# Glide API call failing

**URL:** <https://community.glideapps.com/t/glide-api-call-failing/68045>\
**Category:** Ask for Help\
**Created:** [November 22, 2023, 7:44pm UTC](https://community.glideapps.com/t/glide-api-call-failing/68045 "2023-11-22T19:44:28Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![Valeria](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/valeria/32/66818_2.png) [@Valeria](https://community.glideapps.com/u/Valeria)\
**Post date:** [November 22, 2023, 7:44pm UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/1 "2023-11-22T19:44:28Z")

</div>

**The Issue** : Call to API leaves row values in blank despite having the JSON correctly written. Sometimes it works correctly, other times it doesn’t.

What I need by API call to do is: 1. edit one (or more) value in one row, 2. add a new row with new values  
This is how my JSON looks like:  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/b/5/b57ae682774768c6385cad8f2baa37a76fc23dbd.png)

The first part (editing) is made without issue. However, when I add the new row, only one of the values is copied. The other two (highlighted in yellow) sometimes get copied and sometimes don’t.  
Yesterday I did the action that uses this API call like 30 times and it always worked. Today, it has been failing every time I try.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/3/e/3efc02c5d8987eca0bc3ee0acada26017a935648.png)

What could be the issue here? The fact that I have two different kinds of mutations in one API call?

Worth mentioning that the type of row I’m using here is a Query JSON.

---

<div class="post-metadata">

**Author:** ![Jeff\_Hager](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/jeff_hager/32/43_2.png) [@Jeff\_Hager](https://community.glideapps.com/u/Jeff_Hager)\
**Post date:** [November 22, 2023, 8:32pm UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/2 "2023-11-22T20:32:32Z")

</div>

I don’t think you can mix mutations like that.

> [@new Please Test: Make.com Integration](https://community.glideapps.com/t/please-test-make-com-integration/67979/6):
>
> I think it would be useful to have a generic “Mutate Tables” module. Something that would allow you to mix and match adds/edits/deletes and send them all in a single call. The idea would be that you select a target App, and then provide a collection of pre-prepared mutations.

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [November 22, 2023, 11:52pm UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/3 "2023-11-22T23:52:15Z")

</div>

![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/7/f/7f14330d4fc48d345c0067fe3b1165be511f8eb6.png)

> **[Using Glide Tables API](https://www.glideapps.com/docs/using-glide-tables-api)**
>
> Explore what you can do with the Glide Tables API

I don’t think the docs said that mixing mutations would be a problem. If you can reproduce it in a video, I would suggest submitting a ticket.

> [@How to open a support ticket?](https://community.glideapps.com/t/how-to-open-a-support-ticket/59883/2):
>
> Please note: the option to create a support ticket is only available if your App is in a Pro, Business or Enterprise Team. If you need help with a Billing Issue (on any plan), you should open a Billing Enquiry via the [Glide Support Page](https://www.glideapps.com/support). To create a Support Ticket: Open the App that is giving you problems, and go to Settings → Contact Support: Glide will prompt you to create a support link for your App. Click on Create Link:

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [November 23, 2023, 12:59am UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/4 "2023-11-23T00:59:35Z")

</div>

> [@Jeff\_Hager](#):
>
> I don’t think you can mix mutations like that.

Yeah you can, I do it all the time.  
My comments in that other thread were in reference to the new Glide integration in Make, which doesn’t support it.

> [@Valeria](#):
>
> What could be the issue here? The fact that I have two different kinds of mutations in one API call?
> 
> Worth mentioning that the type of row I’m using here is a Query JSON.

How are your mutations created?  
Are you using the JSON Object column?  
I have seen instances where this sometimes fails to return any result at all. Although when that happens if it is subsequently used in an API call, the call will fail. So perhaps not the issue here.

Other than that, I’m not sure.

---

<div class="post-metadata">

**Author:** ![Valeria](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/valeria/32/66818_2.png) [@Valeria](https://community.glideapps.com/u/Valeria)\
**Post date:** [November 23, 2023, 1:13am UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/5 "2023-11-23T01:13:01Z")

</div>

They are created through a Javascript column, I add the values that cannot pass as parameters to my code through a Template column and then I convert that to JSON through a Query JSON column. I had seen in previous forum entries that they use the JSON Object column but it says in the glide plugins page that it is deprecated.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [November 23, 2023, 1:19am UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/6 "2023-11-23T01:19:34Z")

</div>

It’s the `Make JSON Object` that is being deprecated. The `JSON Object` column will stay, and in fact is a replacement column for the former.

But anyway… are you 100% certain that you’re not passing empty values when it fails?

What you could do is add an extra step to your action sequence that writes the payload to a table, so you in effect create a log. Then you could examine what was sent with every API call.

---

<div class="post-metadata">

**Author:** ![Valeria](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/valeria/32/66818_2.png) [@Valeria](https://community.glideapps.com/u/Valeria)\
**Post date:** [November 23, 2023, 1:40am UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/7 "2023-11-23T01:40:37Z")

</div>

In the screenshots I uploaded here, the JSON looked like that before clicking the button that triggers the action, so I assume that by that moment none of the values I want to add are empty. However, I wasn’t sure how to know if that information if actually the one that gets passed to my API call (in my frontend, before the button that triggers it I added a text value with my JSON and everything in it seems correct as well).

Tomorrow I’m going to add the extra step you mention to actually be completely certain that nothing is empty, though. Thanks

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [November 23, 2023, 1:42am UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/8 "2023-11-23T01:42:22Z")

</div>

Please let us know how you get on with this.

---

<div class="post-metadata">

**Author:** ![Valeria](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/valeria/32/66818_2.png) [@Valeria](https://community.glideapps.com/u/Valeria)\
**Post date:** [November 23, 2023, 7:26pm UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/9 "2023-11-23T19:26:00Z")

</div>

Hi again. I added the extra step of writing the payload and it does pass all the values. However, it is still failing.

To avoid possible issues with the way I have written my API call, I decided to split it in two: one that edits values and another one that adds a row, let’s call them A and B respectively. I first decided to add only one call and it worked correctly (I tried both with A and B). However, when I work with the two of them together, they still fail. Right now the issue is that in my first call (A) not all the values are getting edited.

I currently have it like this, I don’t know if I should write a wait condition between the two calls or something like that?  
 ![image](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/2/f/2fce8ef5d736ab363d3b1e5a786a632a8d2078bf.png)

---

<div class="post-metadata">

**Author:** ![ThinhDinh](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/thinhdinh/32/49_2.png) [@ThinhDinh](https://community.glideapps.com/u/ThinhDinh)\
**Post date:** [November 23, 2023, 11:33pm UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/10 "2023-11-23T23:33:01Z")

</div>

Can you try adding the mutations you created on the screen you’re running the action with a text component?

If that doesn’t work, can you share with us the columns you’re using to create the mutations?

---

<div class="post-metadata">

**Author:** ![shane90](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/shane90/32/64677_2.png) [@shane90](https://community.glideapps.com/u/shane90)\
**Post date:** [January 29, 2024, 10:10am UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/11 "2024-01-29T10:10:54Z")

</div>

Hi Valeria,

Did you find a solution to this problem?

I have a very similar issue my client is experiencing, where part of the API is ran and then part of it is missed off.

And for the life of me I cannot seem to reproduce it myself.

Thanks in advance

---

<div class="post-metadata">

**Author:** ![Valeria](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/valeria/32/66818_2.png) [@Valeria](https://community.glideapps.com/u/Valeria)\
**Post date:** [January 31, 2024, 12:22pm UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/13 "2024-01-31T12:22:16Z")

</div>

Hi, yes. However, I split it into two API calls like I said before and honestly I am not sure what happened later but it never failed me again, I didn’t need to add a wait condition or anything.

---

<div class="post-metadata">

**Author:** ![Darren\_Murphy](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/darren_murphy/32/47326_2.png) [@Darren\_Murphy](https://community.glideapps.com/u/Darren_Murphy)\
**Post date:** [January 31, 2024, 12:52pm UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/14 "2024-01-31T12:52:49Z")

</div>

For what it’s worth, I was having somewhat similar issues recently. My scenario was typically as follows:

- Call API Action, calling the Glide API with a batch of mutations, typically about 20-40, and a mix of `add-row-to-table` and `set-column-values`
- Various other actions in a sequence

I had two issues:

- firstly, it was _really_ slow. After triggering the action, there was a 5-10 second delay while the action was running. My (unconfirmed) theory regarding that is that the Call API action waits for a response, and that takes time as the Glide API processes the payload and responds. Regardless of the cause, it made for a crappy user experience
- the second - and more serious - issue was that every now and then one of the other actions in the sequence would apparently fail. I say apparently because I’m not 100% certain, but I debugged the hell out of it and couldn’t find any other explanation.

So what I ended up doing is dumping the Call API actions altogether and replaced them with a very simple and generic make scenario, which I call with the new Trigger Webhook action:

 ![CleanShot 2024-01-30 at 22.50.19@2x](https://us1.discourse-cdn.com/flex002/uploads/glideapps/original/3X/e/9/e933fb72b3c7aa0c8e855d7454c9a565691dabae.png)

- The webhook receives two parameters:  
– AppID of the App that triggered the webhook  
– JSON payload containing all the mutations that were previously sent via Call API
- The Data store module just uses the AppID to lookup the Glide API Bearer token
- And the HTTP module passes the entire JSON payload straight back to the Glide API

Since implementing this change about a week ago, both issues have evaporated and my Action sequences (I have about a dozen very similar ones) are running flawlessly.

Take all that as you like, but so far it’s been working very well for me 🤷‍♂️

---

<div class="post-metadata">

**Author:** ![shane90](https://sea2.discourse-cdn.com/flex002/user_avatar/community.glideapps.com/shane90/32/64677_2.png) [@shane90](https://community.glideapps.com/u/shane90)\
**Post date:** [January 31, 2024, 2:02pm UTC](https://community.glideapps.com/t/glide-api-call-failing/68045/15 "2024-01-31T14:02:13Z")

</div>

Thanks for the response Darren, it’s nice to know I’m not the only one as I thought I was going out of my mind.

This issue has been bothering me for several weeks now, but I have been unable to identify any consistent cause.

It appears I will need to go back to Make instead of using Glide APIs natively. This is a shame as using Glide APIs was meant to speed up the process.

Thank you for providing details regarding your scenario in Make. I will attempt to replicate this using my API calls instead.
