Forum Discussion
The API_PurgeRecords API as descibed here https://help.quickbase.com/api-guide/index.html#purgerecords.html can have a parameter to filter which records get purged.
URL Alternative
https://<em>target_domain</em>/db/<em>target_dbid</em>?a=API_PurgeRecords&qid=10<br>&ticket=<em>auth_ticket</em>&apptoken=<em>app_token</em><br>
where target_domain is the domain against which you are invoking this call, for example, intuit.quickbase.com.
So you can make a report where the filter is that checkbox being true and hide the report form all role so no one is likely to mess with it. i would also put in the description of the report to not delete or alter the report.
so the URL formula would look like this below. The javascript code will simply run the formula variable called URL to do the purge and refresh the page.
var text URL = urlroot() & "db/" & [_DBID_TABLE name goes here] & "?act=API_PurgeRecord&qid=99";
"javascript:" &
$URL &
"',function(){" &
"location.reload(true);" &
"});"
& "void(0);"
You can put that into a URL formula field. If you want to have a dashboard button, make the URL formula on a field somewhere in the app and expose the code by by suppressing the link text. Then copy and paste the code into a URL dashboard button element.
I would test this first on a Copy of your app, as when you purge records they are "gone baby gone".
There is also another way to alter the URL to not depend on a report qid, but rather just use query parameters. That would actually be a bit safer as that way you would not have a risk of someone removing the filers on your report and then the purge might purge everything.
- ArchiveUser8 years agoQrew CaptainThank you so much for responding.
Where in that code would I put the query parameters? That's the main thing I've been trying to figure out so that I can use it for other purposes and parameters. - QuickBaseCoachD8 years agoQrew CaptainMy solution is very low tech. Just make a report and filter it like any report is filtered. Then save the report and observe the qid# in the URL when you run it.
Or are you in fact asking how to use query parameters to filter the report which involves more syntax. My method is no code at all, just make a report with the correct filters, and then use that report qid in the API call. - ArchiveUser8 years agoQrew CaptainActually I think I was looking at it the wrong way and the solution you suggested should give me everything I need.
Thank you! - QuickBaseCoachD8 years agoQrew Captain:) I'm all about Stupid Simple and just move on to the next obstacle.
- ArchiveUser7 years agoQrew CaptainI'm sorry but I must be doing something wrong because I tried copying your code and it doesn't seem to be doing anything. I tried putting the following code into a URL formula field:
var text URL = URLRoot() & "db/" & [_DBID_JOBS] & "?act=API_PurgeRecord&qid=93";
"javascript:" &
"$.get('" &
$URL &
"',function(){" &
"location.reload(true);" &
"});"
& "void(0);"
When I press the button it doesn't do anything, nothing happens. I'm supposed to be putting this code into a URL formula field on the table that the report exists on correct? - QuickBaseCoachD7 years agoQrew CaptainYes, it is put into a URL formula field.
To debug the formula, first make just a formula like this
That way the error message will be exposed.
URLRoot() & "db/" & [_DBID_JOBS] & "?act=API_PurgeRecord&qid=93"
The first problem is that the API is actually
API_PurgeRecords with an "s" on the end.
The typical second possible problem is that either you would need to disable the need for application tokens in the Advanced settings for the app or else include a line like this
& " &apptoken= xxxxx (insert app token here)"