Skip to content
Start here

Upload asset

pages.assets.upload(AssetUploadParams**kwargs) -> AssetUploadResponse
POST/pages/assets/upload

Upload one or more files to the Pages asset store. Each file is identified by its content hash and is uploaded using the same JSON shape as the Cloudflare KV bulk write API. Used as part of the Pages Direct Upload workflow.

Authenticate with the JWT obtained from the upload-token endpoint: GET /accounts/{account_id}/pages/projects/{project_name}/upload-token

Security

ParametersExpand Collapse
body: Iterable[Body]
base64: bool

Whether value is base64 encoded.

key: str

File content hash used as the object key in the Pages asset store.

metadata: BodyMetadata
content_type: str

MIME type for the uploaded file.

value: str

File content. When base64 is true, this value is base64 encoded.

ReturnsExpand Collapse
class AssetUploadResponse:
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.

Upload asset

from cloudflare import Cloudflare

client = Cloudflare()
response = client.pages.assets.upload(
    body=[{
        "base64": True,
        "key": "b026324c6904b2a9cb4b88d6d61c81d1",
        "metadata": {
            "content_type": "text/plain"
        },
        "value": "SGVsbG8sIFdvcmxkIQ==",
    }],
)
print(response.errors)
{
  "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
{
  "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
}