---
title: Purge Cached Content
---

[Skip to content](#%5Ftop) 

[API Reference](https://developers.cloudflare.com/api/typescript)

[Cache](https://developers.cloudflare.com/api/typescript/resources/cache)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Purge Cached Content

client.cache.purge(CachePurgeParamsparams, RequestOptionsoptions?): [CachePurgeResponse](https://developers.cloudflare.com/api/typescript/resources/cache#%28resource%29%20cache%20%3E%20%28model%29%20cache%5Fpurge%5Fresponse%20%3E%20%28schema%29) { id }  | null

POST/zones/{zone\_id}/purge\_cache

### Purge All Cached Content

Removes ALL files from Cloudflare’s cache. All tiers can purge everything.

```plaintext
{"purge_everything": true}
```

### Purge Cached Content by URL

Granularly removes one or more files from Cloudflare’s cache by specifying URLs. All tiers can purge by URL.

To purge files with custom cache keys, include the headers used to compute the cache key as in the example. If you have a device type or geo in your cache key, you will need to include the CF-Device-Type or CF-IPCountry headers. If you have lang in your cache key, you will need to include the Accept-Language header.

**NB:** When including the Origin header, be sure to include the **scheme** and **hostname**. The port number can be omitted if it is the default port (80 for http, 443 for https), but must be included otherwise.

Single file purge example with files:

```plaintext
{"files": ["http://www.example.com/css/styles.css", "http://www.example.com/js/index.js"]}
```

Single file purge example with url and header pairs:

```plaintext
{"files": [{"url": "http://www.example.com/cat_picture.jpg", "headers": {"CF-IPCountry": "US", "CF-Device-Type": "desktop", "Accept-Language": "zh-CN"}}, {"url": "http://www.example.com/dog_picture.jpg", "headers": {"CF-IPCountry": "EU", "CF-Device-Type": "mobile", "Accept-Language": "en-US"}}]}
```

### Purge Cached Content by Tag, Host or Prefix

Granularly removes one or more files from Cloudflare’s cache either by specifying the host, the associated Cache-Tag, or a Prefix.

Flex purge with tags:

```plaintext
{"tags": ["a-cache-tag", "another-cache-tag"]}
```

Flex purge with hosts:

```plaintext
{"hosts": ["www.example.com", "images.example.com"]}
```

Flex purge with prefixes:

```plaintext
{"prefixes": ["www.example.com/foo", "images.example.com/bar/baz"]}
```

### Availability and limits

Please refer to [purge cache availability and limits documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/#availability-and-limits).

##### Security

API Token

The preferred authorization scheme for interacting with the Cloudflare API. [Create a token](https://developers.cloudflare.com/fundamentals/api/get-started/create-token/).

**Example:**`Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY`

API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

**Example:**`X-Auth-Email: user@example.com`

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

**Example:**`X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194`

##### Accepted Permissions (at least one required)

`Cache Purge`

##### ParametersExpand Collapse 

CachePurgeParams \= CachePurgeFlexPurgeByTags | CachePurgeFlexPurgeByHostnames | CachePurgeFlexPurgeByPrefixes | 3 more

CachePurgeParamsBase { zone\_id, tags } 

zone\_id: string

Path param

maxLength32

tags?: Array<string\>

Body param: For more information on cache tags and purging by tags, please refer to [purge by cache-tags documentation page](https://developers.cloudflare.com/cache/how-to/purge-cache/purge-by-tags/).

CachePurgeFlexPurgeByTags extends CachePurgeParamsBase { zone\_id, tags } 

CachePurgeFlexPurgeByHostnames extends CachePurgeParamsBase { zone\_id, tags } 

CachePurgeFlexPurgeByPrefixes extends CachePurgeParamsBase { zone\_id, tags } 

CachePurgeEverything extends CachePurgeParamsBase { zone\_id, tags } 

CachePurgeSingleFile extends CachePurgeParamsBase { zone\_id, tags } 

CachePurgeSingleFileWithURLAndHeaders extends CachePurgeParamsBase { zone\_id, tags } 

##### ReturnsExpand Collapse 

CachePurgeResponse { id } 

id: string

maxLength32

### Purge Cached Content

TypeScript

HTTPHTTP

TypeScriptTypeScript

PythonPython

GoGo

TerraformTerraform

```
import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const response = await client.cache.purge({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353' });

console.log(response.id);
```

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "023e105f4ecef8ad9ca31a8372d0c353"
  }
}
```

##### Returns Examples

200 example

```
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "id": "023e105f4ecef8ad9ca31a8372d0c353"
  }
}
```