---
title: Upsert asset hashes
---

[Skip to content](#%5Ftop) 

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

[Pages](https://developers.cloudflare.com/api/python/resources/pages)

[Assets](https://developers.cloudflare.com/api/python/resources/pages/subresources/assets)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Upsert asset hashes

pages.assets.upsert\_hashes(AssetUpsertHashesParams\*\*kwargs)  \-> [AssetUpsertHashesResponse](https://developers.cloudflare.com/api/python/resources/pages#%28resource%29%20pages.assets%20%3E%20%28model%29%20asset%5Fupsert%5Fhashes%5Fresponse%20%3E%20%28schema%29)

POST/pages/assets/upsert-hashes

Register the provided file hashes as recently uploaded to the Pages asset store. Used as part of the Pages Direct Upload workflow so future deployments can avoid re-uploading files that are already present.

Authenticate with the JWT obtained from the upload-token endpoint: GET /accounts/{account\_id}/pages/projects/{project\_name}/upload-token

##### Security

##### ParametersExpand Collapse 

hashes: Sequence\[str\]

List of file content hashes to register in the asset store.

##### ReturnsExpand Collapse 

class AssetUpsertHashesResponse: …

errors: List\[Error\]

code: int

minimum1000

message: str

documentation\_url: Optional\[str\]

source: Optional\[ErrorSource\]

pointer: Optional\[str\]

messages: List\[Message\]

code: int

minimum1000

message: str

documentation\_url: Optional\[str\]

source: Optional\[MessageSource\]

pointer: Optional\[str\]

success: Literal\[true\]

Whether the API call was successful.

### Upsert asset hashes

Python

HTTPHTTP

TypeScriptTypeScript

PythonPython

GoGo

TerraformTerraform

```
from cloudflare import Cloudflare

client = Cloudflare()
response = client.pages.assets.upsert_hashes(
    hashes=["a948904f2f0f479b8f936b8a0c5d9882", "b026324c6904b2a9cb4b88d6d61c81d1"],
)
print(response.errors)
```

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
}
```

##### 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
}
```