## 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 ### Parameters - `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. ### Returns - `type AssetUploadResponse struct{…}` - `Errors []AssetUploadResponseError` - `Code int64` - `Message string` - `DocumentationURL string` - `Source AssetUploadResponseErrorsSource` - `Pointer string` - `Messages []AssetUploadResponseMessage` - `Code int64` - `Message string` - `DocumentationURL string` - `Source AssetUploadResponseMessagesSource` - `Pointer string` - `Success AssetUploadResponseSuccess` Whether the API call was successful. - `const AssetUploadResponseSuccessTrue AssetUploadResponseSuccess = true` ### Example ```go 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) } ``` #### Response ```json { "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 } ```