---
title: "API_PurgeRecords"
slug: "api-purgerecords"
updated: 2025-08-18T09:29:08Z
published: 2025-08-18T09:29:08Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://help.quickbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API_PurgeRecords

**Don't forget to check out our**[**JSON RESTful APIs**](https://developer.quickbase.com/)**, they can help you utilize and extend Quickbase with ease.**

## Overview

Use API_PurgeRecords to delete the specified records from the specified table. All records matching the criteria in the specified query will be deleted.

You can build your own query string using the **query** parameter in the call. You can also use a saved query for the table, using **qid** or **qname**. See API_DoQuery for information on saved queries or for instructions on building the query string.

Caution: Use this call carefully. If you do not supply a query parameter (query or qid or qname), ALL of the table records will be deleted. If you supply an empty query parameter (, or or ) all of the table records will be deleted as well. If you need to delete only one record, you should use API_DeleteRecord.

## Request parameters

| Parameter | Value | Required? |
| --- | --- | --- |
| query or qid or qname | Specifies the query. You can use any of these three options: - Use `&lt;query&gt;{myfid.operator.value}&lt;/query&gt;` to build your own query string. - Use `&lt;qid&gt;n&lt;/qid&gt; `if you want to use a saved query and want to use its query ID. - Use `&lt;qname&gt;myQuery&lt;/qname&gt;` if you want to use a saved query and refer to it by its query name. | No, but unless you supply a non-empty query, all records in the table are deleted |
| ticket | A valid authentication ticket. The authentication ticket is returned via the API_Authenticate call. | yes, one of: - ticket - username/password - user token |
| usertoken | The user token is an alternative means of authentication, used for API access. User tokens cannot be used to access the Quickbase UI. | yes, one of: - ticket - username/password - user token |
| apptoken | Supply a valid application token. | yes, if the application requires application tokens. |
| udata | A string value that you want returned. It will not be handled by Quickbase but it will be returned in the response. | no |

## Response values

| Element Name | Value |
| --- | --- |
| action | The originating request, for example, API_PurgeRecords. |
| errcode | Identifies the error code, if any. (See the[Error Codes appendix](/v1/docs/error-codes) for a list of possible error codes.) 0 indicates that no error was encountered. |
| errtext | Text that explains the error code. "No error" indicates that no error was encountered. |
| udata | Optional. Contains any udata value supplied in the request. |
| num_records_deleted | The total number of records that were deleted. |

## Sample XML Request

```xml
POST https://target_domain/db/target_dbid HTTP/1.0
Content-Type: application/xml
Content-Length:
QUICKBASE-ACTION: API_PurgeRecords

<qdbapi>
   <udata>mydata</udata>
   <ticket>auth_ticket</ticket>
   <apptoken>app_token</apptoken>
   <qid>10</qid>
</qdbapi>
```

## URL Alternative

```plaintext
https://target_domain/db/target_dbid?a=API_PurgeRecords&qid=10
&ticket=auth_ticket&apptoken=app_token
```

where *target_domain* is the domain against which you are invoking this call, for example, *quickbase.com*. [Read about this notation](/v1/docs/understanding-the-api-call-reference).

## Sample response

```xml
<?xml version="1.0" ?>
<qdbapi>
   <action>API_PurgeRecords</action>
   <errcode>0</errcode>
   <errtext>No error</errtext>
   <num_records_deleted>21</num_records_deleted>
</qdbapi>
```
