Skip to content
Start here

Upload asset

client.Pages.Assets.Upload(ctx, body) (*AssetUploadResponse, error)
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 AssetUploadParams
Body param.Field[[]AssetUploadParamsBody]
Base64 bool

Whether value is base64 encoded.

Key string

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

Metadata AssetUploadParamsBodyMetadata
ContentType string

MIME type for the uploaded file.

Value string

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

ReturnsExpand Collapse
type AssetUploadResponse struct{…}
Errors []AssetUploadResponseError
Code int64
minimum1000
Message string
DocumentationURL stringOptional
Source AssetUploadResponseErrorsSourceOptional
Pointer stringOptional
Messages []AssetUploadResponseMessage
Code int64
minimum1000
Message string
DocumentationURL stringOptional
Source AssetUploadResponseMessagesSourceOptional
Pointer stringOptional
Success AssetUploadResponseSuccess

Whether the API call was successful.

Upload asset

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/pages"
)

func main() {
  client := cloudflare.NewClient(

  )
  response, err := client.Pages.Assets.Upload(context.TODO(), pages.AssetUploadParams{
    Body: []pages.AssetUploadParamsBody{pages.AssetUploadParamsBody{
      Base64: cloudflare.F(true),
      Key: cloudflare.F("b026324c6904b2a9cb4b88d6d61c81d1"),
      Metadata: cloudflare.F(pages.AssetUploadParamsBodyMetadata{
        ContentType: cloudflare.F("text/plain"),
      }),
      Value: cloudflare.F("SGVsbG8sIFdvcmxkIQ=="),
    }},
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", 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
}