# Speed ## Domain Types ### Labeled Region - `type LabeledRegion struct{…}` A test region with a label. - `Label string` - `Value LabeledRegionValue` A test region. - `const LabeledRegionValueAsiaEast1 LabeledRegionValue = "asia-east1"` - `const LabeledRegionValueAsiaNortheast1 LabeledRegionValue = "asia-northeast1"` - `const LabeledRegionValueAsiaNortheast2 LabeledRegionValue = "asia-northeast2"` - `const LabeledRegionValueAsiaSouth1 LabeledRegionValue = "asia-south1"` - `const LabeledRegionValueAsiaSoutheast1 LabeledRegionValue = "asia-southeast1"` - `const LabeledRegionValueAustraliaSoutheast1 LabeledRegionValue = "australia-southeast1"` - `const LabeledRegionValueEuropeNorth1 LabeledRegionValue = "europe-north1"` - `const LabeledRegionValueEuropeSouthwest1 LabeledRegionValue = "europe-southwest1"` - `const LabeledRegionValueEuropeWest1 LabeledRegionValue = "europe-west1"` - `const LabeledRegionValueEuropeWest2 LabeledRegionValue = "europe-west2"` - `const LabeledRegionValueEuropeWest3 LabeledRegionValue = "europe-west3"` - `const LabeledRegionValueEuropeWest4 LabeledRegionValue = "europe-west4"` - `const LabeledRegionValueEuropeWest8 LabeledRegionValue = "europe-west8"` - `const LabeledRegionValueEuropeWest9 LabeledRegionValue = "europe-west9"` - `const LabeledRegionValueMeWest1 LabeledRegionValue = "me-west1"` - `const LabeledRegionValueSouthamericaEast1 LabeledRegionValue = "southamerica-east1"` - `const LabeledRegionValueUsCentral1 LabeledRegionValue = "us-central1"` - `const LabeledRegionValueUsEast1 LabeledRegionValue = "us-east1"` - `const LabeledRegionValueUsEast4 LabeledRegionValue = "us-east4"` - `const LabeledRegionValueUsSouth1 LabeledRegionValue = "us-south1"` - `const LabeledRegionValueUsWest1 LabeledRegionValue = "us-west1"` ### Lighthouse Report - `type LighthouseReport struct{…}` The Lighthouse report. - `CLS float64` Cumulative Layout Shift. - `DeviceType LighthouseReportDeviceType` The type of device. - `const LighthouseReportDeviceTypeDesktop LighthouseReportDeviceType = "DESKTOP"` - `const LighthouseReportDeviceTypeMobile LighthouseReportDeviceType = "MOBILE"` - `Error LighthouseReportError` - `Code LighthouseReportErrorCode` The error code of the Lighthouse result. - `const LighthouseReportErrorCodeNotReachable LighthouseReportErrorCode = "NOT_REACHABLE"` - `const LighthouseReportErrorCodeDNSFailure LighthouseReportErrorCode = "DNS_FAILURE"` - `const LighthouseReportErrorCodeNotHTML LighthouseReportErrorCode = "NOT_HTML"` - `const LighthouseReportErrorCodeLighthouseTimeout LighthouseReportErrorCode = "LIGHTHOUSE_TIMEOUT"` - `const LighthouseReportErrorCodeUnknown LighthouseReportErrorCode = "UNKNOWN"` - `Detail string` Detailed error message. - `FinalDisplayedURL string` The final URL displayed to the user. - `FCP float64` First Contentful Paint. - `JsonReportURL string` The URL to the full Lighthouse JSON report. - `LCP float64` Largest Contentful Paint. - `PerformanceScore float64` The Lighthouse performance score. - `Si float64` Speed Index. - `State LighthouseReportState` The state of the Lighthouse report. - `const LighthouseReportStateRunning LighthouseReportState = "RUNNING"` - `const LighthouseReportStateComplete LighthouseReportState = "COMPLETE"` - `const LighthouseReportStateFailed LighthouseReportState = "FAILED"` - `TBT float64` Total Blocking Time. - `TTFB float64` Time To First Byte. - `TTI float64` Time To Interactive. ### Trend - `type Trend struct{…}` - `CLS []float64` Cumulative Layout Shift trend. - `FCP []float64` First Contentful Paint trend. - `LCP []float64` Largest Contentful Paint trend. - `PerformanceScore []float64` The Lighthouse score trend. - `Si []float64` Speed Index trend. - `TBT []float64` Total Blocking Time trend. - `TTFB []float64` Time To First Byte trend. - `TTI []float64` Time To Interactive trend. # Schedule ## Get a page test schedule `client.Speed.Schedule.Get(ctx, url, params) (*Schedule, error)` **get** `/zones/{zone_id}/speed_api/schedule/{url}` Retrieves the test schedule for a page in a specific region. ### Parameters - `url string` A URL. - `params ScheduleGetParams` - `ZoneID param.Field[string]` Path param: Identifier. - `Region param.Field[ScheduleGetParamsRegion]` Query param: A test region. - `const ScheduleGetParamsRegionAsiaEast1 ScheduleGetParamsRegion = "asia-east1"` - `const ScheduleGetParamsRegionAsiaNortheast1 ScheduleGetParamsRegion = "asia-northeast1"` - `const ScheduleGetParamsRegionAsiaNortheast2 ScheduleGetParamsRegion = "asia-northeast2"` - `const ScheduleGetParamsRegionAsiaSouth1 ScheduleGetParamsRegion = "asia-south1"` - `const ScheduleGetParamsRegionAsiaSoutheast1 ScheduleGetParamsRegion = "asia-southeast1"` - `const ScheduleGetParamsRegionAustraliaSoutheast1 ScheduleGetParamsRegion = "australia-southeast1"` - `const ScheduleGetParamsRegionEuropeNorth1 ScheduleGetParamsRegion = "europe-north1"` - `const ScheduleGetParamsRegionEuropeSouthwest1 ScheduleGetParamsRegion = "europe-southwest1"` - `const ScheduleGetParamsRegionEuropeWest1 ScheduleGetParamsRegion = "europe-west1"` - `const ScheduleGetParamsRegionEuropeWest2 ScheduleGetParamsRegion = "europe-west2"` - `const ScheduleGetParamsRegionEuropeWest3 ScheduleGetParamsRegion = "europe-west3"` - `const ScheduleGetParamsRegionEuropeWest4 ScheduleGetParamsRegion = "europe-west4"` - `const ScheduleGetParamsRegionEuropeWest8 ScheduleGetParamsRegion = "europe-west8"` - `const ScheduleGetParamsRegionEuropeWest9 ScheduleGetParamsRegion = "europe-west9"` - `const ScheduleGetParamsRegionMeWest1 ScheduleGetParamsRegion = "me-west1"` - `const ScheduleGetParamsRegionSouthamericaEast1 ScheduleGetParamsRegion = "southamerica-east1"` - `const ScheduleGetParamsRegionUsCentral1 ScheduleGetParamsRegion = "us-central1"` - `const ScheduleGetParamsRegionUsEast1 ScheduleGetParamsRegion = "us-east1"` - `const ScheduleGetParamsRegionUsEast4 ScheduleGetParamsRegion = "us-east4"` - `const ScheduleGetParamsRegionUsSouth1 ScheduleGetParamsRegion = "us-south1"` - `const ScheduleGetParamsRegionUsWest1 ScheduleGetParamsRegion = "us-west1"` ### Returns - `type Schedule struct{…}` The test schedule. - `Frequency ScheduleFrequency` The frequency of the test. - `const ScheduleFrequencyDaily ScheduleFrequency = "DAILY"` - `const ScheduleFrequencyWeekly ScheduleFrequency = "WEEKLY"` - `Region ScheduleRegion` A test region. - `const ScheduleRegionAsiaEast1 ScheduleRegion = "asia-east1"` - `const ScheduleRegionAsiaNortheast1 ScheduleRegion = "asia-northeast1"` - `const ScheduleRegionAsiaNortheast2 ScheduleRegion = "asia-northeast2"` - `const ScheduleRegionAsiaSouth1 ScheduleRegion = "asia-south1"` - `const ScheduleRegionAsiaSoutheast1 ScheduleRegion = "asia-southeast1"` - `const ScheduleRegionAustraliaSoutheast1 ScheduleRegion = "australia-southeast1"` - `const ScheduleRegionEuropeNorth1 ScheduleRegion = "europe-north1"` - `const ScheduleRegionEuropeSouthwest1 ScheduleRegion = "europe-southwest1"` - `const ScheduleRegionEuropeWest1 ScheduleRegion = "europe-west1"` - `const ScheduleRegionEuropeWest2 ScheduleRegion = "europe-west2"` - `const ScheduleRegionEuropeWest3 ScheduleRegion = "europe-west3"` - `const ScheduleRegionEuropeWest4 ScheduleRegion = "europe-west4"` - `const ScheduleRegionEuropeWest8 ScheduleRegion = "europe-west8"` - `const ScheduleRegionEuropeWest9 ScheduleRegion = "europe-west9"` - `const ScheduleRegionMeWest1 ScheduleRegion = "me-west1"` - `const ScheduleRegionSouthamericaEast1 ScheduleRegion = "southamerica-east1"` - `const ScheduleRegionUsCentral1 ScheduleRegion = "us-central1"` - `const ScheduleRegionUsEast1 ScheduleRegion = "us-east1"` - `const ScheduleRegionUsEast4 ScheduleRegion = "us-east4"` - `const ScheduleRegionUsSouth1 ScheduleRegion = "us-south1"` - `const ScheduleRegionUsWest1 ScheduleRegion = "us-west1"` - `URL string` A URL. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) schedule, err := client.Speed.Schedule.Get( context.TODO(), "example.com", speed.ScheduleGetParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", schedule.Frequency) } ``` #### 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, "result": { "frequency": "DAILY", "region": "us-central1", "url": "example.com" } } ``` ## Create scheduled page test `client.Speed.Schedule.New(ctx, url, params) (*ScheduleNewResponse, error)` **post** `/zones/{zone_id}/speed_api/schedule/{url}` Creates a scheduled test for a page. ### Parameters - `url string` A URL. - `params ScheduleNewParams` - `ZoneID param.Field[string]` Path param: Identifier. - `Frequency param.Field[ScheduleNewParamsFrequency]` Query param: The frequency of the scheduled test. Defaults to WEEKLY for free plans, DAILY for paid plans. - `const ScheduleNewParamsFrequencyDaily ScheduleNewParamsFrequency = "DAILY"` - `const ScheduleNewParamsFrequencyWeekly ScheduleNewParamsFrequency = "WEEKLY"` - `Region param.Field[ScheduleNewParamsRegion]` Query param: A test region. - `const ScheduleNewParamsRegionAsiaEast1 ScheduleNewParamsRegion = "asia-east1"` - `const ScheduleNewParamsRegionAsiaNortheast1 ScheduleNewParamsRegion = "asia-northeast1"` - `const ScheduleNewParamsRegionAsiaNortheast2 ScheduleNewParamsRegion = "asia-northeast2"` - `const ScheduleNewParamsRegionAsiaSouth1 ScheduleNewParamsRegion = "asia-south1"` - `const ScheduleNewParamsRegionAsiaSoutheast1 ScheduleNewParamsRegion = "asia-southeast1"` - `const ScheduleNewParamsRegionAustraliaSoutheast1 ScheduleNewParamsRegion = "australia-southeast1"` - `const ScheduleNewParamsRegionEuropeNorth1 ScheduleNewParamsRegion = "europe-north1"` - `const ScheduleNewParamsRegionEuropeSouthwest1 ScheduleNewParamsRegion = "europe-southwest1"` - `const ScheduleNewParamsRegionEuropeWest1 ScheduleNewParamsRegion = "europe-west1"` - `const ScheduleNewParamsRegionEuropeWest2 ScheduleNewParamsRegion = "europe-west2"` - `const ScheduleNewParamsRegionEuropeWest3 ScheduleNewParamsRegion = "europe-west3"` - `const ScheduleNewParamsRegionEuropeWest4 ScheduleNewParamsRegion = "europe-west4"` - `const ScheduleNewParamsRegionEuropeWest8 ScheduleNewParamsRegion = "europe-west8"` - `const ScheduleNewParamsRegionEuropeWest9 ScheduleNewParamsRegion = "europe-west9"` - `const ScheduleNewParamsRegionMeWest1 ScheduleNewParamsRegion = "me-west1"` - `const ScheduleNewParamsRegionSouthamericaEast1 ScheduleNewParamsRegion = "southamerica-east1"` - `const ScheduleNewParamsRegionUsCentral1 ScheduleNewParamsRegion = "us-central1"` - `const ScheduleNewParamsRegionUsEast1 ScheduleNewParamsRegion = "us-east1"` - `const ScheduleNewParamsRegionUsEast4 ScheduleNewParamsRegion = "us-east4"` - `const ScheduleNewParamsRegionUsSouth1 ScheduleNewParamsRegion = "us-south1"` - `const ScheduleNewParamsRegionUsWest1 ScheduleNewParamsRegion = "us-west1"` ### Returns - `type ScheduleNewResponse struct{…}` - `Schedule Schedule` The test schedule. - `Frequency ScheduleFrequency` The frequency of the test. - `const ScheduleFrequencyDaily ScheduleFrequency = "DAILY"` - `const ScheduleFrequencyWeekly ScheduleFrequency = "WEEKLY"` - `Region ScheduleRegion` A test region. - `const ScheduleRegionAsiaEast1 ScheduleRegion = "asia-east1"` - `const ScheduleRegionAsiaNortheast1 ScheduleRegion = "asia-northeast1"` - `const ScheduleRegionAsiaNortheast2 ScheduleRegion = "asia-northeast2"` - `const ScheduleRegionAsiaSouth1 ScheduleRegion = "asia-south1"` - `const ScheduleRegionAsiaSoutheast1 ScheduleRegion = "asia-southeast1"` - `const ScheduleRegionAustraliaSoutheast1 ScheduleRegion = "australia-southeast1"` - `const ScheduleRegionEuropeNorth1 ScheduleRegion = "europe-north1"` - `const ScheduleRegionEuropeSouthwest1 ScheduleRegion = "europe-southwest1"` - `const ScheduleRegionEuropeWest1 ScheduleRegion = "europe-west1"` - `const ScheduleRegionEuropeWest2 ScheduleRegion = "europe-west2"` - `const ScheduleRegionEuropeWest3 ScheduleRegion = "europe-west3"` - `const ScheduleRegionEuropeWest4 ScheduleRegion = "europe-west4"` - `const ScheduleRegionEuropeWest8 ScheduleRegion = "europe-west8"` - `const ScheduleRegionEuropeWest9 ScheduleRegion = "europe-west9"` - `const ScheduleRegionMeWest1 ScheduleRegion = "me-west1"` - `const ScheduleRegionSouthamericaEast1 ScheduleRegion = "southamerica-east1"` - `const ScheduleRegionUsCentral1 ScheduleRegion = "us-central1"` - `const ScheduleRegionUsEast1 ScheduleRegion = "us-east1"` - `const ScheduleRegionUsEast4 ScheduleRegion = "us-east4"` - `const ScheduleRegionUsSouth1 ScheduleRegion = "us-south1"` - `const ScheduleRegionUsWest1 ScheduleRegion = "us-west1"` - `URL string` A URL. - `Test Test` - `ID string` UUID. - `Date Time` - `DesktopReport LighthouseReport` The Lighthouse report. - `CLS float64` Cumulative Layout Shift. - `DeviceType LighthouseReportDeviceType` The type of device. - `const LighthouseReportDeviceTypeDesktop LighthouseReportDeviceType = "DESKTOP"` - `const LighthouseReportDeviceTypeMobile LighthouseReportDeviceType = "MOBILE"` - `Error LighthouseReportError` - `Code LighthouseReportErrorCode` The error code of the Lighthouse result. - `const LighthouseReportErrorCodeNotReachable LighthouseReportErrorCode = "NOT_REACHABLE"` - `const LighthouseReportErrorCodeDNSFailure LighthouseReportErrorCode = "DNS_FAILURE"` - `const LighthouseReportErrorCodeNotHTML LighthouseReportErrorCode = "NOT_HTML"` - `const LighthouseReportErrorCodeLighthouseTimeout LighthouseReportErrorCode = "LIGHTHOUSE_TIMEOUT"` - `const LighthouseReportErrorCodeUnknown LighthouseReportErrorCode = "UNKNOWN"` - `Detail string` Detailed error message. - `FinalDisplayedURL string` The final URL displayed to the user. - `FCP float64` First Contentful Paint. - `JsonReportURL string` The URL to the full Lighthouse JSON report. - `LCP float64` Largest Contentful Paint. - `PerformanceScore float64` The Lighthouse performance score. - `Si float64` Speed Index. - `State LighthouseReportState` The state of the Lighthouse report. - `const LighthouseReportStateRunning LighthouseReportState = "RUNNING"` - `const LighthouseReportStateComplete LighthouseReportState = "COMPLETE"` - `const LighthouseReportStateFailed LighthouseReportState = "FAILED"` - `TBT float64` Total Blocking Time. - `TTFB float64` Time To First Byte. - `TTI float64` Time To Interactive. - `MobileReport LighthouseReport` The Lighthouse report. - `Region LabeledRegion` A test region with a label. - `Label string` - `Value LabeledRegionValue` A test region. - `const LabeledRegionValueAsiaEast1 LabeledRegionValue = "asia-east1"` - `const LabeledRegionValueAsiaNortheast1 LabeledRegionValue = "asia-northeast1"` - `const LabeledRegionValueAsiaNortheast2 LabeledRegionValue = "asia-northeast2"` - `const LabeledRegionValueAsiaSouth1 LabeledRegionValue = "asia-south1"` - `const LabeledRegionValueAsiaSoutheast1 LabeledRegionValue = "asia-southeast1"` - `const LabeledRegionValueAustraliaSoutheast1 LabeledRegionValue = "australia-southeast1"` - `const LabeledRegionValueEuropeNorth1 LabeledRegionValue = "europe-north1"` - `const LabeledRegionValueEuropeSouthwest1 LabeledRegionValue = "europe-southwest1"` - `const LabeledRegionValueEuropeWest1 LabeledRegionValue = "europe-west1"` - `const LabeledRegionValueEuropeWest2 LabeledRegionValue = "europe-west2"` - `const LabeledRegionValueEuropeWest3 LabeledRegionValue = "europe-west3"` - `const LabeledRegionValueEuropeWest4 LabeledRegionValue = "europe-west4"` - `const LabeledRegionValueEuropeWest8 LabeledRegionValue = "europe-west8"` - `const LabeledRegionValueEuropeWest9 LabeledRegionValue = "europe-west9"` - `const LabeledRegionValueMeWest1 LabeledRegionValue = "me-west1"` - `const LabeledRegionValueSouthamericaEast1 LabeledRegionValue = "southamerica-east1"` - `const LabeledRegionValueUsCentral1 LabeledRegionValue = "us-central1"` - `const LabeledRegionValueUsEast1 LabeledRegionValue = "us-east1"` - `const LabeledRegionValueUsEast4 LabeledRegionValue = "us-east4"` - `const LabeledRegionValueUsSouth1 LabeledRegionValue = "us-south1"` - `const LabeledRegionValueUsWest1 LabeledRegionValue = "us-west1"` - `ScheduleFrequency TestScheduleFrequency` The frequency of the test. - `const TestScheduleFrequencyDaily TestScheduleFrequency = "DAILY"` - `const TestScheduleFrequencyWeekly TestScheduleFrequency = "WEEKLY"` - `URL string` A URL. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) schedule, err := client.Speed.Schedule.New( context.TODO(), "example.com", speed.ScheduleNewParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", schedule.Schedule) } ``` #### 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, "result": { "schedule": { "frequency": "DAILY", "region": "us-central1", "url": "example.com" }, "test": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "date": "2014-01-01T05:20:00.12345Z", "desktopReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "mobileReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "region": { "label": "Iowa, USA", "value": "us-central1" }, "scheduleFrequency": "DAILY", "url": "example.com" } } } ``` ## Delete scheduled page test `client.Speed.Schedule.Delete(ctx, url, params) (*ScheduleDeleteResponse, error)` **delete** `/zones/{zone_id}/speed_api/schedule/{url}` Deletes a scheduled test for a page. ### Parameters - `url string` A URL. - `params ScheduleDeleteParams` - `ZoneID param.Field[string]` Path param: Identifier. - `Region param.Field[ScheduleDeleteParamsRegion]` Query param: A test region. - `const ScheduleDeleteParamsRegionAsiaEast1 ScheduleDeleteParamsRegion = "asia-east1"` - `const ScheduleDeleteParamsRegionAsiaNortheast1 ScheduleDeleteParamsRegion = "asia-northeast1"` - `const ScheduleDeleteParamsRegionAsiaNortheast2 ScheduleDeleteParamsRegion = "asia-northeast2"` - `const ScheduleDeleteParamsRegionAsiaSouth1 ScheduleDeleteParamsRegion = "asia-south1"` - `const ScheduleDeleteParamsRegionAsiaSoutheast1 ScheduleDeleteParamsRegion = "asia-southeast1"` - `const ScheduleDeleteParamsRegionAustraliaSoutheast1 ScheduleDeleteParamsRegion = "australia-southeast1"` - `const ScheduleDeleteParamsRegionEuropeNorth1 ScheduleDeleteParamsRegion = "europe-north1"` - `const ScheduleDeleteParamsRegionEuropeSouthwest1 ScheduleDeleteParamsRegion = "europe-southwest1"` - `const ScheduleDeleteParamsRegionEuropeWest1 ScheduleDeleteParamsRegion = "europe-west1"` - `const ScheduleDeleteParamsRegionEuropeWest2 ScheduleDeleteParamsRegion = "europe-west2"` - `const ScheduleDeleteParamsRegionEuropeWest3 ScheduleDeleteParamsRegion = "europe-west3"` - `const ScheduleDeleteParamsRegionEuropeWest4 ScheduleDeleteParamsRegion = "europe-west4"` - `const ScheduleDeleteParamsRegionEuropeWest8 ScheduleDeleteParamsRegion = "europe-west8"` - `const ScheduleDeleteParamsRegionEuropeWest9 ScheduleDeleteParamsRegion = "europe-west9"` - `const ScheduleDeleteParamsRegionMeWest1 ScheduleDeleteParamsRegion = "me-west1"` - `const ScheduleDeleteParamsRegionSouthamericaEast1 ScheduleDeleteParamsRegion = "southamerica-east1"` - `const ScheduleDeleteParamsRegionUsCentral1 ScheduleDeleteParamsRegion = "us-central1"` - `const ScheduleDeleteParamsRegionUsEast1 ScheduleDeleteParamsRegion = "us-east1"` - `const ScheduleDeleteParamsRegionUsEast4 ScheduleDeleteParamsRegion = "us-east4"` - `const ScheduleDeleteParamsRegionUsSouth1 ScheduleDeleteParamsRegion = "us-south1"` - `const ScheduleDeleteParamsRegionUsWest1 ScheduleDeleteParamsRegion = "us-west1"` ### Returns - `type ScheduleDeleteResponse struct{…}` - `Count float64` Number of items affected. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) schedule, err := client.Speed.Schedule.Delete( context.TODO(), "example.com", speed.ScheduleDeleteParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", schedule.Count) } ``` #### 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, "result": { "count": 1 } } ``` ## Domain Types ### Schedule - `type Schedule struct{…}` The test schedule. - `Frequency ScheduleFrequency` The frequency of the test. - `const ScheduleFrequencyDaily ScheduleFrequency = "DAILY"` - `const ScheduleFrequencyWeekly ScheduleFrequency = "WEEKLY"` - `Region ScheduleRegion` A test region. - `const ScheduleRegionAsiaEast1 ScheduleRegion = "asia-east1"` - `const ScheduleRegionAsiaNortheast1 ScheduleRegion = "asia-northeast1"` - `const ScheduleRegionAsiaNortheast2 ScheduleRegion = "asia-northeast2"` - `const ScheduleRegionAsiaSouth1 ScheduleRegion = "asia-south1"` - `const ScheduleRegionAsiaSoutheast1 ScheduleRegion = "asia-southeast1"` - `const ScheduleRegionAustraliaSoutheast1 ScheduleRegion = "australia-southeast1"` - `const ScheduleRegionEuropeNorth1 ScheduleRegion = "europe-north1"` - `const ScheduleRegionEuropeSouthwest1 ScheduleRegion = "europe-southwest1"` - `const ScheduleRegionEuropeWest1 ScheduleRegion = "europe-west1"` - `const ScheduleRegionEuropeWest2 ScheduleRegion = "europe-west2"` - `const ScheduleRegionEuropeWest3 ScheduleRegion = "europe-west3"` - `const ScheduleRegionEuropeWest4 ScheduleRegion = "europe-west4"` - `const ScheduleRegionEuropeWest8 ScheduleRegion = "europe-west8"` - `const ScheduleRegionEuropeWest9 ScheduleRegion = "europe-west9"` - `const ScheduleRegionMeWest1 ScheduleRegion = "me-west1"` - `const ScheduleRegionSouthamericaEast1 ScheduleRegion = "southamerica-east1"` - `const ScheduleRegionUsCentral1 ScheduleRegion = "us-central1"` - `const ScheduleRegionUsEast1 ScheduleRegion = "us-east1"` - `const ScheduleRegionUsEast4 ScheduleRegion = "us-east4"` - `const ScheduleRegionUsSouth1 ScheduleRegion = "us-south1"` - `const ScheduleRegionUsWest1 ScheduleRegion = "us-west1"` - `URL string` A URL. # Availabilities ## Get quota and availability `client.Speed.Availabilities.List(ctx, query) (*Availability, error)` **get** `/zones/{zone_id}/speed_api/availabilities` Retrieves quota for all plans, as well as the current zone quota. ### Parameters - `query AvailabilityListParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type Availability struct{…}` - `Quota AvailabilityQuota` - `Plan string` Cloudflare plan. - `QuotasPerPlan AvailabilityQuotaQuotasPerPlan` The number of tests available per plan. - `Value AvailabilityQuotaQuotasPerPlanValue` Counts per account plan. - `Business int64` - `Enterprise int64` - `Free int64` - `Pro int64` - `RemainingSchedules float64` The number of remaining schedules available. - `RemainingTests float64` The number of remaining tests available. - `ScheduleQuotasPerPlan AvailabilityQuotaScheduleQuotasPerPlan` The number of schedules available per plan. - `Value AvailabilityQuotaScheduleQuotasPerPlanValue` Counts per account plan. - `Business int64` - `Enterprise int64` - `Free int64` - `Pro int64` - `Regions []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. - `const LabeledRegionValueAsiaEast1 LabeledRegionValue = "asia-east1"` - `const LabeledRegionValueAsiaNortheast1 LabeledRegionValue = "asia-northeast1"` - `const LabeledRegionValueAsiaNortheast2 LabeledRegionValue = "asia-northeast2"` - `const LabeledRegionValueAsiaSouth1 LabeledRegionValue = "asia-south1"` - `const LabeledRegionValueAsiaSoutheast1 LabeledRegionValue = "asia-southeast1"` - `const LabeledRegionValueAustraliaSoutheast1 LabeledRegionValue = "australia-southeast1"` - `const LabeledRegionValueEuropeNorth1 LabeledRegionValue = "europe-north1"` - `const LabeledRegionValueEuropeSouthwest1 LabeledRegionValue = "europe-southwest1"` - `const LabeledRegionValueEuropeWest1 LabeledRegionValue = "europe-west1"` - `const LabeledRegionValueEuropeWest2 LabeledRegionValue = "europe-west2"` - `const LabeledRegionValueEuropeWest3 LabeledRegionValue = "europe-west3"` - `const LabeledRegionValueEuropeWest4 LabeledRegionValue = "europe-west4"` - `const LabeledRegionValueEuropeWest8 LabeledRegionValue = "europe-west8"` - `const LabeledRegionValueEuropeWest9 LabeledRegionValue = "europe-west9"` - `const LabeledRegionValueMeWest1 LabeledRegionValue = "me-west1"` - `const LabeledRegionValueSouthamericaEast1 LabeledRegionValue = "southamerica-east1"` - `const LabeledRegionValueUsCentral1 LabeledRegionValue = "us-central1"` - `const LabeledRegionValueUsEast1 LabeledRegionValue = "us-east1"` - `const LabeledRegionValueUsEast4 LabeledRegionValue = "us-east4"` - `const LabeledRegionValueUsSouth1 LabeledRegionValue = "us-south1"` - `const LabeledRegionValueUsWest1 LabeledRegionValue = "us-west1"` - `RegionsPerPlan AvailabilityRegionsPerPlan` Available regions. - `Business []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. - `Enterprise []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. - `Free []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. - `Pro []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) availability, err := client.Speed.Availabilities.List(context.TODO(), speed.AvailabilityListParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", availability.Quota) } ``` #### 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, "result": { "quota": { "plan": "free", "quotasPerPlan": { "value": { "business": 1, "enterprise": 1, "free": 1, "pro": 1 } }, "remainingSchedules": 1, "remainingTests": 30, "scheduleQuotasPerPlan": { "value": { "business": 1, "enterprise": 1, "free": 1, "pro": 1 } } }, "regions": [ { "label": "Iowa, USA", "value": "us-central1" } ], "regionsPerPlan": { "business": [ { "label": "Iowa, USA", "value": "us-central1" } ], "enterprise": [ { "label": "Iowa, USA", "value": "us-central1" } ], "free": [ { "label": "Iowa, USA", "value": "us-central1" } ], "pro": [ { "label": "Iowa, USA", "value": "us-central1" } ] } } } ``` ## Domain Types ### Availability - `type Availability struct{…}` - `Quota AvailabilityQuota` - `Plan string` Cloudflare plan. - `QuotasPerPlan AvailabilityQuotaQuotasPerPlan` The number of tests available per plan. - `Value AvailabilityQuotaQuotasPerPlanValue` Counts per account plan. - `Business int64` - `Enterprise int64` - `Free int64` - `Pro int64` - `RemainingSchedules float64` The number of remaining schedules available. - `RemainingTests float64` The number of remaining tests available. - `ScheduleQuotasPerPlan AvailabilityQuotaScheduleQuotasPerPlan` The number of schedules available per plan. - `Value AvailabilityQuotaScheduleQuotasPerPlanValue` Counts per account plan. - `Business int64` - `Enterprise int64` - `Free int64` - `Pro int64` - `Regions []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. - `const LabeledRegionValueAsiaEast1 LabeledRegionValue = "asia-east1"` - `const LabeledRegionValueAsiaNortheast1 LabeledRegionValue = "asia-northeast1"` - `const LabeledRegionValueAsiaNortheast2 LabeledRegionValue = "asia-northeast2"` - `const LabeledRegionValueAsiaSouth1 LabeledRegionValue = "asia-south1"` - `const LabeledRegionValueAsiaSoutheast1 LabeledRegionValue = "asia-southeast1"` - `const LabeledRegionValueAustraliaSoutheast1 LabeledRegionValue = "australia-southeast1"` - `const LabeledRegionValueEuropeNorth1 LabeledRegionValue = "europe-north1"` - `const LabeledRegionValueEuropeSouthwest1 LabeledRegionValue = "europe-southwest1"` - `const LabeledRegionValueEuropeWest1 LabeledRegionValue = "europe-west1"` - `const LabeledRegionValueEuropeWest2 LabeledRegionValue = "europe-west2"` - `const LabeledRegionValueEuropeWest3 LabeledRegionValue = "europe-west3"` - `const LabeledRegionValueEuropeWest4 LabeledRegionValue = "europe-west4"` - `const LabeledRegionValueEuropeWest8 LabeledRegionValue = "europe-west8"` - `const LabeledRegionValueEuropeWest9 LabeledRegionValue = "europe-west9"` - `const LabeledRegionValueMeWest1 LabeledRegionValue = "me-west1"` - `const LabeledRegionValueSouthamericaEast1 LabeledRegionValue = "southamerica-east1"` - `const LabeledRegionValueUsCentral1 LabeledRegionValue = "us-central1"` - `const LabeledRegionValueUsEast1 LabeledRegionValue = "us-east1"` - `const LabeledRegionValueUsEast4 LabeledRegionValue = "us-east4"` - `const LabeledRegionValueUsSouth1 LabeledRegionValue = "us-south1"` - `const LabeledRegionValueUsWest1 LabeledRegionValue = "us-west1"` - `RegionsPerPlan AvailabilityRegionsPerPlan` Available regions. - `Business []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. - `Enterprise []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. - `Free []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. - `Pro []LabeledRegion` - `Label string` - `Value LabeledRegionValue` A test region. # Pages ## List tested webpages `client.Speed.Pages.List(ctx, query) (*SinglePage[PageListResponse], error)` **get** `/zones/{zone_id}/speed_api/pages` Lists all webpages which have been tested. ### Parameters - `query PageListParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type PageListResponse struct{…}` - `Region LabeledRegion` A test region with a label. - `Label string` - `Value LabeledRegionValue` A test region. - `const LabeledRegionValueAsiaEast1 LabeledRegionValue = "asia-east1"` - `const LabeledRegionValueAsiaNortheast1 LabeledRegionValue = "asia-northeast1"` - `const LabeledRegionValueAsiaNortheast2 LabeledRegionValue = "asia-northeast2"` - `const LabeledRegionValueAsiaSouth1 LabeledRegionValue = "asia-south1"` - `const LabeledRegionValueAsiaSoutheast1 LabeledRegionValue = "asia-southeast1"` - `const LabeledRegionValueAustraliaSoutheast1 LabeledRegionValue = "australia-southeast1"` - `const LabeledRegionValueEuropeNorth1 LabeledRegionValue = "europe-north1"` - `const LabeledRegionValueEuropeSouthwest1 LabeledRegionValue = "europe-southwest1"` - `const LabeledRegionValueEuropeWest1 LabeledRegionValue = "europe-west1"` - `const LabeledRegionValueEuropeWest2 LabeledRegionValue = "europe-west2"` - `const LabeledRegionValueEuropeWest3 LabeledRegionValue = "europe-west3"` - `const LabeledRegionValueEuropeWest4 LabeledRegionValue = "europe-west4"` - `const LabeledRegionValueEuropeWest8 LabeledRegionValue = "europe-west8"` - `const LabeledRegionValueEuropeWest9 LabeledRegionValue = "europe-west9"` - `const LabeledRegionValueMeWest1 LabeledRegionValue = "me-west1"` - `const LabeledRegionValueSouthamericaEast1 LabeledRegionValue = "southamerica-east1"` - `const LabeledRegionValueUsCentral1 LabeledRegionValue = "us-central1"` - `const LabeledRegionValueUsEast1 LabeledRegionValue = "us-east1"` - `const LabeledRegionValueUsEast4 LabeledRegionValue = "us-east4"` - `const LabeledRegionValueUsSouth1 LabeledRegionValue = "us-south1"` - `const LabeledRegionValueUsWest1 LabeledRegionValue = "us-west1"` - `ScheduleFrequency PageListResponseScheduleFrequency` The frequency of the test. - `const PageListResponseScheduleFrequencyDaily PageListResponseScheduleFrequency = "DAILY"` - `const PageListResponseScheduleFrequencyWeekly PageListResponseScheduleFrequency = "WEEKLY"` - `Tests []Test` - `ID string` UUID. - `Date Time` - `DesktopReport LighthouseReport` The Lighthouse report. - `CLS float64` Cumulative Layout Shift. - `DeviceType LighthouseReportDeviceType` The type of device. - `const LighthouseReportDeviceTypeDesktop LighthouseReportDeviceType = "DESKTOP"` - `const LighthouseReportDeviceTypeMobile LighthouseReportDeviceType = "MOBILE"` - `Error LighthouseReportError` - `Code LighthouseReportErrorCode` The error code of the Lighthouse result. - `const LighthouseReportErrorCodeNotReachable LighthouseReportErrorCode = "NOT_REACHABLE"` - `const LighthouseReportErrorCodeDNSFailure LighthouseReportErrorCode = "DNS_FAILURE"` - `const LighthouseReportErrorCodeNotHTML LighthouseReportErrorCode = "NOT_HTML"` - `const LighthouseReportErrorCodeLighthouseTimeout LighthouseReportErrorCode = "LIGHTHOUSE_TIMEOUT"` - `const LighthouseReportErrorCodeUnknown LighthouseReportErrorCode = "UNKNOWN"` - `Detail string` Detailed error message. - `FinalDisplayedURL string` The final URL displayed to the user. - `FCP float64` First Contentful Paint. - `JsonReportURL string` The URL to the full Lighthouse JSON report. - `LCP float64` Largest Contentful Paint. - `PerformanceScore float64` The Lighthouse performance score. - `Si float64` Speed Index. - `State LighthouseReportState` The state of the Lighthouse report. - `const LighthouseReportStateRunning LighthouseReportState = "RUNNING"` - `const LighthouseReportStateComplete LighthouseReportState = "COMPLETE"` - `const LighthouseReportStateFailed LighthouseReportState = "FAILED"` - `TBT float64` Total Blocking Time. - `TTFB float64` Time To First Byte. - `TTI float64` Time To Interactive. - `MobileReport LighthouseReport` The Lighthouse report. - `Region LabeledRegion` A test region with a label. - `ScheduleFrequency TestScheduleFrequency` The frequency of the test. - `const TestScheduleFrequencyDaily TestScheduleFrequency = "DAILY"` - `const TestScheduleFrequencyWeekly TestScheduleFrequency = "WEEKLY"` - `URL string` A URL. - `URL string` A URL. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.Speed.Pages.List(context.TODO(), speed.PageListParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### 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, "result": [ { "region": { "label": "Iowa, USA", "value": "us-central1" }, "scheduleFrequency": "DAILY", "tests": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "date": "2014-01-01T05:20:00.12345Z", "desktopReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "mobileReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "region": { "label": "Iowa, USA", "value": "us-central1" }, "scheduleFrequency": "DAILY", "url": "example.com" } ], "url": "example.com" } ] } ``` ## List core web vital metrics trend `client.Speed.Pages.Trend(ctx, url, params) (*Trend, error)` **get** `/zones/{zone_id}/speed_api/pages/{url}/trend` Lists the core web vital metrics trend over time for a specific page. ### Parameters - `url string` A URL. - `params PageTrendParams` - `ZoneID param.Field[string]` Path param: Identifier. - `DeviceType param.Field[PageTrendParamsDeviceType]` Query param: The type of device. - `const PageTrendParamsDeviceTypeDesktop PageTrendParamsDeviceType = "DESKTOP"` - `const PageTrendParamsDeviceTypeMobile PageTrendParamsDeviceType = "MOBILE"` - `Metrics param.Field[string]` Query param: A comma-separated list of metrics to include in the results. - `Region param.Field[PageTrendParamsRegion]` Query param: A test region. - `const PageTrendParamsRegionAsiaEast1 PageTrendParamsRegion = "asia-east1"` - `const PageTrendParamsRegionAsiaNortheast1 PageTrendParamsRegion = "asia-northeast1"` - `const PageTrendParamsRegionAsiaNortheast2 PageTrendParamsRegion = "asia-northeast2"` - `const PageTrendParamsRegionAsiaSouth1 PageTrendParamsRegion = "asia-south1"` - `const PageTrendParamsRegionAsiaSoutheast1 PageTrendParamsRegion = "asia-southeast1"` - `const PageTrendParamsRegionAustraliaSoutheast1 PageTrendParamsRegion = "australia-southeast1"` - `const PageTrendParamsRegionEuropeNorth1 PageTrendParamsRegion = "europe-north1"` - `const PageTrendParamsRegionEuropeSouthwest1 PageTrendParamsRegion = "europe-southwest1"` - `const PageTrendParamsRegionEuropeWest1 PageTrendParamsRegion = "europe-west1"` - `const PageTrendParamsRegionEuropeWest2 PageTrendParamsRegion = "europe-west2"` - `const PageTrendParamsRegionEuropeWest3 PageTrendParamsRegion = "europe-west3"` - `const PageTrendParamsRegionEuropeWest4 PageTrendParamsRegion = "europe-west4"` - `const PageTrendParamsRegionEuropeWest8 PageTrendParamsRegion = "europe-west8"` - `const PageTrendParamsRegionEuropeWest9 PageTrendParamsRegion = "europe-west9"` - `const PageTrendParamsRegionMeWest1 PageTrendParamsRegion = "me-west1"` - `const PageTrendParamsRegionSouthamericaEast1 PageTrendParamsRegion = "southamerica-east1"` - `const PageTrendParamsRegionUsCentral1 PageTrendParamsRegion = "us-central1"` - `const PageTrendParamsRegionUsEast1 PageTrendParamsRegion = "us-east1"` - `const PageTrendParamsRegionUsEast4 PageTrendParamsRegion = "us-east4"` - `const PageTrendParamsRegionUsSouth1 PageTrendParamsRegion = "us-south1"` - `const PageTrendParamsRegionUsWest1 PageTrendParamsRegion = "us-west1"` - `Start param.Field[Time]` Query param - `Tz param.Field[string]` Query param: The timezone of the start and end timestamps. - `End param.Field[Time]` Query param ### Returns - `type Trend struct{…}` - `CLS []float64` Cumulative Layout Shift trend. - `FCP []float64` First Contentful Paint trend. - `LCP []float64` Largest Contentful Paint trend. - `PerformanceScore []float64` The Lighthouse score trend. - `Si []float64` Speed Index trend. - `TBT []float64` Total Blocking Time trend. - `TTFB []float64` Time To First Byte trend. - `TTI []float64` Time To Interactive trend. ### Example ```go package main import ( "context" "fmt" "time" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) trend, err := client.Speed.Pages.Trend( context.TODO(), "example.com", speed.PageTrendParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), DeviceType: cloudflare.F(speed.PageTrendParamsDeviceTypeDesktop), Metrics: cloudflare.F("performanceScore,ttfb,fcp,si,lcp,tti,tbt,cls"), Region: cloudflare.F(speed.PageTrendParamsRegionUsCentral1), Start: cloudflare.F(time.Now()), Tz: cloudflare.F("tz"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", trend.CLS) } ``` #### 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, "result": { "cls": [ 0 ], "fcp": [ 0 ], "lcp": [ 0 ], "performanceScore": [ 0 ], "si": [ 0 ], "tbt": [ 0 ], "ttfb": [ 0 ], "tti": [ 0 ] } } ``` # Tests ## List page test history `client.Speed.Pages.Tests.List(ctx, url, params) (*V4PagePaginationArray[Test], error)` **get** `/zones/{zone_id}/speed_api/pages/{url}/tests` Test history (list of tests) for a specific webpage. ### Parameters - `url string` A URL. - `params PageTestListParams` - `ZoneID param.Field[string]` Path param: Identifier. - `Page param.Field[int64]` Query param - `PerPage param.Field[int64]` Query param - `Region param.Field[PageTestListParamsRegion]` Query param: A test region. - `const PageTestListParamsRegionAsiaEast1 PageTestListParamsRegion = "asia-east1"` - `const PageTestListParamsRegionAsiaNortheast1 PageTestListParamsRegion = "asia-northeast1"` - `const PageTestListParamsRegionAsiaNortheast2 PageTestListParamsRegion = "asia-northeast2"` - `const PageTestListParamsRegionAsiaSouth1 PageTestListParamsRegion = "asia-south1"` - `const PageTestListParamsRegionAsiaSoutheast1 PageTestListParamsRegion = "asia-southeast1"` - `const PageTestListParamsRegionAustraliaSoutheast1 PageTestListParamsRegion = "australia-southeast1"` - `const PageTestListParamsRegionEuropeNorth1 PageTestListParamsRegion = "europe-north1"` - `const PageTestListParamsRegionEuropeSouthwest1 PageTestListParamsRegion = "europe-southwest1"` - `const PageTestListParamsRegionEuropeWest1 PageTestListParamsRegion = "europe-west1"` - `const PageTestListParamsRegionEuropeWest2 PageTestListParamsRegion = "europe-west2"` - `const PageTestListParamsRegionEuropeWest3 PageTestListParamsRegion = "europe-west3"` - `const PageTestListParamsRegionEuropeWest4 PageTestListParamsRegion = "europe-west4"` - `const PageTestListParamsRegionEuropeWest8 PageTestListParamsRegion = "europe-west8"` - `const PageTestListParamsRegionEuropeWest9 PageTestListParamsRegion = "europe-west9"` - `const PageTestListParamsRegionMeWest1 PageTestListParamsRegion = "me-west1"` - `const PageTestListParamsRegionSouthamericaEast1 PageTestListParamsRegion = "southamerica-east1"` - `const PageTestListParamsRegionUsCentral1 PageTestListParamsRegion = "us-central1"` - `const PageTestListParamsRegionUsEast1 PageTestListParamsRegion = "us-east1"` - `const PageTestListParamsRegionUsEast4 PageTestListParamsRegion = "us-east4"` - `const PageTestListParamsRegionUsSouth1 PageTestListParamsRegion = "us-south1"` - `const PageTestListParamsRegionUsWest1 PageTestListParamsRegion = "us-west1"` ### Returns - `type Test struct{…}` - `ID string` UUID. - `Date Time` - `DesktopReport LighthouseReport` The Lighthouse report. - `CLS float64` Cumulative Layout Shift. - `DeviceType LighthouseReportDeviceType` The type of device. - `const LighthouseReportDeviceTypeDesktop LighthouseReportDeviceType = "DESKTOP"` - `const LighthouseReportDeviceTypeMobile LighthouseReportDeviceType = "MOBILE"` - `Error LighthouseReportError` - `Code LighthouseReportErrorCode` The error code of the Lighthouse result. - `const LighthouseReportErrorCodeNotReachable LighthouseReportErrorCode = "NOT_REACHABLE"` - `const LighthouseReportErrorCodeDNSFailure LighthouseReportErrorCode = "DNS_FAILURE"` - `const LighthouseReportErrorCodeNotHTML LighthouseReportErrorCode = "NOT_HTML"` - `const LighthouseReportErrorCodeLighthouseTimeout LighthouseReportErrorCode = "LIGHTHOUSE_TIMEOUT"` - `const LighthouseReportErrorCodeUnknown LighthouseReportErrorCode = "UNKNOWN"` - `Detail string` Detailed error message. - `FinalDisplayedURL string` The final URL displayed to the user. - `FCP float64` First Contentful Paint. - `JsonReportURL string` The URL to the full Lighthouse JSON report. - `LCP float64` Largest Contentful Paint. - `PerformanceScore float64` The Lighthouse performance score. - `Si float64` Speed Index. - `State LighthouseReportState` The state of the Lighthouse report. - `const LighthouseReportStateRunning LighthouseReportState = "RUNNING"` - `const LighthouseReportStateComplete LighthouseReportState = "COMPLETE"` - `const LighthouseReportStateFailed LighthouseReportState = "FAILED"` - `TBT float64` Total Blocking Time. - `TTFB float64` Time To First Byte. - `TTI float64` Time To Interactive. - `MobileReport LighthouseReport` The Lighthouse report. - `Region LabeledRegion` A test region with a label. - `Label string` - `Value LabeledRegionValue` A test region. - `const LabeledRegionValueAsiaEast1 LabeledRegionValue = "asia-east1"` - `const LabeledRegionValueAsiaNortheast1 LabeledRegionValue = "asia-northeast1"` - `const LabeledRegionValueAsiaNortheast2 LabeledRegionValue = "asia-northeast2"` - `const LabeledRegionValueAsiaSouth1 LabeledRegionValue = "asia-south1"` - `const LabeledRegionValueAsiaSoutheast1 LabeledRegionValue = "asia-southeast1"` - `const LabeledRegionValueAustraliaSoutheast1 LabeledRegionValue = "australia-southeast1"` - `const LabeledRegionValueEuropeNorth1 LabeledRegionValue = "europe-north1"` - `const LabeledRegionValueEuropeSouthwest1 LabeledRegionValue = "europe-southwest1"` - `const LabeledRegionValueEuropeWest1 LabeledRegionValue = "europe-west1"` - `const LabeledRegionValueEuropeWest2 LabeledRegionValue = "europe-west2"` - `const LabeledRegionValueEuropeWest3 LabeledRegionValue = "europe-west3"` - `const LabeledRegionValueEuropeWest4 LabeledRegionValue = "europe-west4"` - `const LabeledRegionValueEuropeWest8 LabeledRegionValue = "europe-west8"` - `const LabeledRegionValueEuropeWest9 LabeledRegionValue = "europe-west9"` - `const LabeledRegionValueMeWest1 LabeledRegionValue = "me-west1"` - `const LabeledRegionValueSouthamericaEast1 LabeledRegionValue = "southamerica-east1"` - `const LabeledRegionValueUsCentral1 LabeledRegionValue = "us-central1"` - `const LabeledRegionValueUsEast1 LabeledRegionValue = "us-east1"` - `const LabeledRegionValueUsEast4 LabeledRegionValue = "us-east4"` - `const LabeledRegionValueUsSouth1 LabeledRegionValue = "us-south1"` - `const LabeledRegionValueUsWest1 LabeledRegionValue = "us-west1"` - `ScheduleFrequency TestScheduleFrequency` The frequency of the test. - `const TestScheduleFrequencyDaily TestScheduleFrequency = "DAILY"` - `const TestScheduleFrequencyWeekly TestScheduleFrequency = "WEEKLY"` - `URL string` A URL. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.Speed.Pages.Tests.List( context.TODO(), "example.com", speed.PageTestListParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### 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, "result": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "date": "2014-01-01T05:20:00.12345Z", "desktopReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "mobileReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "region": { "label": "Iowa, USA", "value": "us-central1" }, "scheduleFrequency": "DAILY", "url": "example.com" } ], "result_info": { "count": 5, "page": 1, "per_page": 5, "total_count": 3 } } ``` ## Get a page test result `client.Speed.Pages.Tests.Get(ctx, url, testID, query) (*Test, error)` **get** `/zones/{zone_id}/speed_api/pages/{url}/tests/{test_id}` Retrieves the result of a specific test. ### Parameters - `url string` A URL. - `testID string` - `query PageTestGetParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type Test struct{…}` - `ID string` UUID. - `Date Time` - `DesktopReport LighthouseReport` The Lighthouse report. - `CLS float64` Cumulative Layout Shift. - `DeviceType LighthouseReportDeviceType` The type of device. - `const LighthouseReportDeviceTypeDesktop LighthouseReportDeviceType = "DESKTOP"` - `const LighthouseReportDeviceTypeMobile LighthouseReportDeviceType = "MOBILE"` - `Error LighthouseReportError` - `Code LighthouseReportErrorCode` The error code of the Lighthouse result. - `const LighthouseReportErrorCodeNotReachable LighthouseReportErrorCode = "NOT_REACHABLE"` - `const LighthouseReportErrorCodeDNSFailure LighthouseReportErrorCode = "DNS_FAILURE"` - `const LighthouseReportErrorCodeNotHTML LighthouseReportErrorCode = "NOT_HTML"` - `const LighthouseReportErrorCodeLighthouseTimeout LighthouseReportErrorCode = "LIGHTHOUSE_TIMEOUT"` - `const LighthouseReportErrorCodeUnknown LighthouseReportErrorCode = "UNKNOWN"` - `Detail string` Detailed error message. - `FinalDisplayedURL string` The final URL displayed to the user. - `FCP float64` First Contentful Paint. - `JsonReportURL string` The URL to the full Lighthouse JSON report. - `LCP float64` Largest Contentful Paint. - `PerformanceScore float64` The Lighthouse performance score. - `Si float64` Speed Index. - `State LighthouseReportState` The state of the Lighthouse report. - `const LighthouseReportStateRunning LighthouseReportState = "RUNNING"` - `const LighthouseReportStateComplete LighthouseReportState = "COMPLETE"` - `const LighthouseReportStateFailed LighthouseReportState = "FAILED"` - `TBT float64` Total Blocking Time. - `TTFB float64` Time To First Byte. - `TTI float64` Time To Interactive. - `MobileReport LighthouseReport` The Lighthouse report. - `Region LabeledRegion` A test region with a label. - `Label string` - `Value LabeledRegionValue` A test region. - `const LabeledRegionValueAsiaEast1 LabeledRegionValue = "asia-east1"` - `const LabeledRegionValueAsiaNortheast1 LabeledRegionValue = "asia-northeast1"` - `const LabeledRegionValueAsiaNortheast2 LabeledRegionValue = "asia-northeast2"` - `const LabeledRegionValueAsiaSouth1 LabeledRegionValue = "asia-south1"` - `const LabeledRegionValueAsiaSoutheast1 LabeledRegionValue = "asia-southeast1"` - `const LabeledRegionValueAustraliaSoutheast1 LabeledRegionValue = "australia-southeast1"` - `const LabeledRegionValueEuropeNorth1 LabeledRegionValue = "europe-north1"` - `const LabeledRegionValueEuropeSouthwest1 LabeledRegionValue = "europe-southwest1"` - `const LabeledRegionValueEuropeWest1 LabeledRegionValue = "europe-west1"` - `const LabeledRegionValueEuropeWest2 LabeledRegionValue = "europe-west2"` - `const LabeledRegionValueEuropeWest3 LabeledRegionValue = "europe-west3"` - `const LabeledRegionValueEuropeWest4 LabeledRegionValue = "europe-west4"` - `const LabeledRegionValueEuropeWest8 LabeledRegionValue = "europe-west8"` - `const LabeledRegionValueEuropeWest9 LabeledRegionValue = "europe-west9"` - `const LabeledRegionValueMeWest1 LabeledRegionValue = "me-west1"` - `const LabeledRegionValueSouthamericaEast1 LabeledRegionValue = "southamerica-east1"` - `const LabeledRegionValueUsCentral1 LabeledRegionValue = "us-central1"` - `const LabeledRegionValueUsEast1 LabeledRegionValue = "us-east1"` - `const LabeledRegionValueUsEast4 LabeledRegionValue = "us-east4"` - `const LabeledRegionValueUsSouth1 LabeledRegionValue = "us-south1"` - `const LabeledRegionValueUsWest1 LabeledRegionValue = "us-west1"` - `ScheduleFrequency TestScheduleFrequency` The frequency of the test. - `const TestScheduleFrequencyDaily TestScheduleFrequency = "DAILY"` - `const TestScheduleFrequencyWeekly TestScheduleFrequency = "WEEKLY"` - `URL string` A URL. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) test, err := client.Speed.Pages.Tests.Get( context.TODO(), "example.com", "test_id", speed.PageTestGetParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", test.ID) } ``` #### 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, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "date": "2014-01-01T05:20:00.12345Z", "desktopReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "mobileReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "region": { "label": "Iowa, USA", "value": "us-central1" }, "scheduleFrequency": "DAILY", "url": "example.com" } } ``` ## Start page test `client.Speed.Pages.Tests.New(ctx, url, params) (*Test, error)` **post** `/zones/{zone_id}/speed_api/pages/{url}/tests` Starts a test for a specific webpage, in a specific region. ### Parameters - `url string` A URL. - `params PageTestNewParams` - `ZoneID param.Field[string]` Path param: Identifier. - `Region param.Field[PageTestNewParamsRegion]` Body param: A test region. - `const PageTestNewParamsRegionAsiaEast1 PageTestNewParamsRegion = "asia-east1"` - `const PageTestNewParamsRegionAsiaNortheast1 PageTestNewParamsRegion = "asia-northeast1"` - `const PageTestNewParamsRegionAsiaNortheast2 PageTestNewParamsRegion = "asia-northeast2"` - `const PageTestNewParamsRegionAsiaSouth1 PageTestNewParamsRegion = "asia-south1"` - `const PageTestNewParamsRegionAsiaSoutheast1 PageTestNewParamsRegion = "asia-southeast1"` - `const PageTestNewParamsRegionAustraliaSoutheast1 PageTestNewParamsRegion = "australia-southeast1"` - `const PageTestNewParamsRegionEuropeNorth1 PageTestNewParamsRegion = "europe-north1"` - `const PageTestNewParamsRegionEuropeSouthwest1 PageTestNewParamsRegion = "europe-southwest1"` - `const PageTestNewParamsRegionEuropeWest1 PageTestNewParamsRegion = "europe-west1"` - `const PageTestNewParamsRegionEuropeWest2 PageTestNewParamsRegion = "europe-west2"` - `const PageTestNewParamsRegionEuropeWest3 PageTestNewParamsRegion = "europe-west3"` - `const PageTestNewParamsRegionEuropeWest4 PageTestNewParamsRegion = "europe-west4"` - `const PageTestNewParamsRegionEuropeWest8 PageTestNewParamsRegion = "europe-west8"` - `const PageTestNewParamsRegionEuropeWest9 PageTestNewParamsRegion = "europe-west9"` - `const PageTestNewParamsRegionMeWest1 PageTestNewParamsRegion = "me-west1"` - `const PageTestNewParamsRegionSouthamericaEast1 PageTestNewParamsRegion = "southamerica-east1"` - `const PageTestNewParamsRegionUsCentral1 PageTestNewParamsRegion = "us-central1"` - `const PageTestNewParamsRegionUsEast1 PageTestNewParamsRegion = "us-east1"` - `const PageTestNewParamsRegionUsEast4 PageTestNewParamsRegion = "us-east4"` - `const PageTestNewParamsRegionUsSouth1 PageTestNewParamsRegion = "us-south1"` - `const PageTestNewParamsRegionUsWest1 PageTestNewParamsRegion = "us-west1"` ### Returns - `type Test struct{…}` - `ID string` UUID. - `Date Time` - `DesktopReport LighthouseReport` The Lighthouse report. - `CLS float64` Cumulative Layout Shift. - `DeviceType LighthouseReportDeviceType` The type of device. - `const LighthouseReportDeviceTypeDesktop LighthouseReportDeviceType = "DESKTOP"` - `const LighthouseReportDeviceTypeMobile LighthouseReportDeviceType = "MOBILE"` - `Error LighthouseReportError` - `Code LighthouseReportErrorCode` The error code of the Lighthouse result. - `const LighthouseReportErrorCodeNotReachable LighthouseReportErrorCode = "NOT_REACHABLE"` - `const LighthouseReportErrorCodeDNSFailure LighthouseReportErrorCode = "DNS_FAILURE"` - `const LighthouseReportErrorCodeNotHTML LighthouseReportErrorCode = "NOT_HTML"` - `const LighthouseReportErrorCodeLighthouseTimeout LighthouseReportErrorCode = "LIGHTHOUSE_TIMEOUT"` - `const LighthouseReportErrorCodeUnknown LighthouseReportErrorCode = "UNKNOWN"` - `Detail string` Detailed error message. - `FinalDisplayedURL string` The final URL displayed to the user. - `FCP float64` First Contentful Paint. - `JsonReportURL string` The URL to the full Lighthouse JSON report. - `LCP float64` Largest Contentful Paint. - `PerformanceScore float64` The Lighthouse performance score. - `Si float64` Speed Index. - `State LighthouseReportState` The state of the Lighthouse report. - `const LighthouseReportStateRunning LighthouseReportState = "RUNNING"` - `const LighthouseReportStateComplete LighthouseReportState = "COMPLETE"` - `const LighthouseReportStateFailed LighthouseReportState = "FAILED"` - `TBT float64` Total Blocking Time. - `TTFB float64` Time To First Byte. - `TTI float64` Time To Interactive. - `MobileReport LighthouseReport` The Lighthouse report. - `Region LabeledRegion` A test region with a label. - `Label string` - `Value LabeledRegionValue` A test region. - `const LabeledRegionValueAsiaEast1 LabeledRegionValue = "asia-east1"` - `const LabeledRegionValueAsiaNortheast1 LabeledRegionValue = "asia-northeast1"` - `const LabeledRegionValueAsiaNortheast2 LabeledRegionValue = "asia-northeast2"` - `const LabeledRegionValueAsiaSouth1 LabeledRegionValue = "asia-south1"` - `const LabeledRegionValueAsiaSoutheast1 LabeledRegionValue = "asia-southeast1"` - `const LabeledRegionValueAustraliaSoutheast1 LabeledRegionValue = "australia-southeast1"` - `const LabeledRegionValueEuropeNorth1 LabeledRegionValue = "europe-north1"` - `const LabeledRegionValueEuropeSouthwest1 LabeledRegionValue = "europe-southwest1"` - `const LabeledRegionValueEuropeWest1 LabeledRegionValue = "europe-west1"` - `const LabeledRegionValueEuropeWest2 LabeledRegionValue = "europe-west2"` - `const LabeledRegionValueEuropeWest3 LabeledRegionValue = "europe-west3"` - `const LabeledRegionValueEuropeWest4 LabeledRegionValue = "europe-west4"` - `const LabeledRegionValueEuropeWest8 LabeledRegionValue = "europe-west8"` - `const LabeledRegionValueEuropeWest9 LabeledRegionValue = "europe-west9"` - `const LabeledRegionValueMeWest1 LabeledRegionValue = "me-west1"` - `const LabeledRegionValueSouthamericaEast1 LabeledRegionValue = "southamerica-east1"` - `const LabeledRegionValueUsCentral1 LabeledRegionValue = "us-central1"` - `const LabeledRegionValueUsEast1 LabeledRegionValue = "us-east1"` - `const LabeledRegionValueUsEast4 LabeledRegionValue = "us-east4"` - `const LabeledRegionValueUsSouth1 LabeledRegionValue = "us-south1"` - `const LabeledRegionValueUsWest1 LabeledRegionValue = "us-west1"` - `ScheduleFrequency TestScheduleFrequency` The frequency of the test. - `const TestScheduleFrequencyDaily TestScheduleFrequency = "DAILY"` - `const TestScheduleFrequencyWeekly TestScheduleFrequency = "WEEKLY"` - `URL string` A URL. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) test, err := client.Speed.Pages.Tests.New( context.TODO(), "example.com", speed.PageTestNewParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", test.ID) } ``` #### 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, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "date": "2014-01-01T05:20:00.12345Z", "desktopReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "mobileReport": { "cls": 100, "deviceType": "DESKTOP", "error": { "code": "NOT_REACHABLE", "detail": "Details: net::ERR_CONNECTION_CLOSED", "finalDisplayedUrl": "example.com" }, "fcp": 100, "jsonReportUrl": "jsonReportUrl", "lcp": 100, "performanceScore": 90, "si": 100, "state": "COMPLETE", "tbt": 100, "ttfb": 100, "tti": 100 }, "region": { "label": "Iowa, USA", "value": "us-central1" }, "scheduleFrequency": "DAILY", "url": "example.com" } } ``` ## Delete all page tests `client.Speed.Pages.Tests.Delete(ctx, url, params) (*PageTestDeleteResponse, error)` **delete** `/zones/{zone_id}/speed_api/pages/{url}/tests` Deletes all tests for a specific webpage from a specific region. Deleted tests are still counted as part of the quota. ### Parameters - `url string` A URL. - `params PageTestDeleteParams` - `ZoneID param.Field[string]` Path param: Identifier. - `Region param.Field[PageTestDeleteParamsRegion]` Query param: A test region. - `const PageTestDeleteParamsRegionAsiaEast1 PageTestDeleteParamsRegion = "asia-east1"` - `const PageTestDeleteParamsRegionAsiaNortheast1 PageTestDeleteParamsRegion = "asia-northeast1"` - `const PageTestDeleteParamsRegionAsiaNortheast2 PageTestDeleteParamsRegion = "asia-northeast2"` - `const PageTestDeleteParamsRegionAsiaSouth1 PageTestDeleteParamsRegion = "asia-south1"` - `const PageTestDeleteParamsRegionAsiaSoutheast1 PageTestDeleteParamsRegion = "asia-southeast1"` - `const PageTestDeleteParamsRegionAustraliaSoutheast1 PageTestDeleteParamsRegion = "australia-southeast1"` - `const PageTestDeleteParamsRegionEuropeNorth1 PageTestDeleteParamsRegion = "europe-north1"` - `const PageTestDeleteParamsRegionEuropeSouthwest1 PageTestDeleteParamsRegion = "europe-southwest1"` - `const PageTestDeleteParamsRegionEuropeWest1 PageTestDeleteParamsRegion = "europe-west1"` - `const PageTestDeleteParamsRegionEuropeWest2 PageTestDeleteParamsRegion = "europe-west2"` - `const PageTestDeleteParamsRegionEuropeWest3 PageTestDeleteParamsRegion = "europe-west3"` - `const PageTestDeleteParamsRegionEuropeWest4 PageTestDeleteParamsRegion = "europe-west4"` - `const PageTestDeleteParamsRegionEuropeWest8 PageTestDeleteParamsRegion = "europe-west8"` - `const PageTestDeleteParamsRegionEuropeWest9 PageTestDeleteParamsRegion = "europe-west9"` - `const PageTestDeleteParamsRegionMeWest1 PageTestDeleteParamsRegion = "me-west1"` - `const PageTestDeleteParamsRegionSouthamericaEast1 PageTestDeleteParamsRegion = "southamerica-east1"` - `const PageTestDeleteParamsRegionUsCentral1 PageTestDeleteParamsRegion = "us-central1"` - `const PageTestDeleteParamsRegionUsEast1 PageTestDeleteParamsRegion = "us-east1"` - `const PageTestDeleteParamsRegionUsEast4 PageTestDeleteParamsRegion = "us-east4"` - `const PageTestDeleteParamsRegionUsSouth1 PageTestDeleteParamsRegion = "us-south1"` - `const PageTestDeleteParamsRegionUsWest1 PageTestDeleteParamsRegion = "us-west1"` ### Returns - `type PageTestDeleteResponse struct{…}` - `Count float64` Number of items affected. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/speed" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) test, err := client.Speed.Pages.Tests.Delete( context.TODO(), "example.com", speed.PageTestDeleteParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", test.Count) } ``` #### 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, "result": { "count": 1 } } ``` ## Domain Types ### Test - `type Test struct{…}` - `ID string` UUID. - `Date Time` - `DesktopReport LighthouseReport` The Lighthouse report. - `CLS float64` Cumulative Layout Shift. - `DeviceType LighthouseReportDeviceType` The type of device. - `const LighthouseReportDeviceTypeDesktop LighthouseReportDeviceType = "DESKTOP"` - `const LighthouseReportDeviceTypeMobile LighthouseReportDeviceType = "MOBILE"` - `Error LighthouseReportError` - `Code LighthouseReportErrorCode` The error code of the Lighthouse result. - `const LighthouseReportErrorCodeNotReachable LighthouseReportErrorCode = "NOT_REACHABLE"` - `const LighthouseReportErrorCodeDNSFailure LighthouseReportErrorCode = "DNS_FAILURE"` - `const LighthouseReportErrorCodeNotHTML LighthouseReportErrorCode = "NOT_HTML"` - `const LighthouseReportErrorCodeLighthouseTimeout LighthouseReportErrorCode = "LIGHTHOUSE_TIMEOUT"` - `const LighthouseReportErrorCodeUnknown LighthouseReportErrorCode = "UNKNOWN"` - `Detail string` Detailed error message. - `FinalDisplayedURL string` The final URL displayed to the user. - `FCP float64` First Contentful Paint. - `JsonReportURL string` The URL to the full Lighthouse JSON report. - `LCP float64` Largest Contentful Paint. - `PerformanceScore float64` The Lighthouse performance score. - `Si float64` Speed Index. - `State LighthouseReportState` The state of the Lighthouse report. - `const LighthouseReportStateRunning LighthouseReportState = "RUNNING"` - `const LighthouseReportStateComplete LighthouseReportState = "COMPLETE"` - `const LighthouseReportStateFailed LighthouseReportState = "FAILED"` - `TBT float64` Total Blocking Time. - `TTFB float64` Time To First Byte. - `TTI float64` Time To Interactive. - `MobileReport LighthouseReport` The Lighthouse report. - `Region LabeledRegion` A test region with a label. - `Label string` - `Value LabeledRegionValue` A test region. - `const LabeledRegionValueAsiaEast1 LabeledRegionValue = "asia-east1"` - `const LabeledRegionValueAsiaNortheast1 LabeledRegionValue = "asia-northeast1"` - `const LabeledRegionValueAsiaNortheast2 LabeledRegionValue = "asia-northeast2"` - `const LabeledRegionValueAsiaSouth1 LabeledRegionValue = "asia-south1"` - `const LabeledRegionValueAsiaSoutheast1 LabeledRegionValue = "asia-southeast1"` - `const LabeledRegionValueAustraliaSoutheast1 LabeledRegionValue = "australia-southeast1"` - `const LabeledRegionValueEuropeNorth1 LabeledRegionValue = "europe-north1"` - `const LabeledRegionValueEuropeSouthwest1 LabeledRegionValue = "europe-southwest1"` - `const LabeledRegionValueEuropeWest1 LabeledRegionValue = "europe-west1"` - `const LabeledRegionValueEuropeWest2 LabeledRegionValue = "europe-west2"` - `const LabeledRegionValueEuropeWest3 LabeledRegionValue = "europe-west3"` - `const LabeledRegionValueEuropeWest4 LabeledRegionValue = "europe-west4"` - `const LabeledRegionValueEuropeWest8 LabeledRegionValue = "europe-west8"` - `const LabeledRegionValueEuropeWest9 LabeledRegionValue = "europe-west9"` - `const LabeledRegionValueMeWest1 LabeledRegionValue = "me-west1"` - `const LabeledRegionValueSouthamericaEast1 LabeledRegionValue = "southamerica-east1"` - `const LabeledRegionValueUsCentral1 LabeledRegionValue = "us-central1"` - `const LabeledRegionValueUsEast1 LabeledRegionValue = "us-east1"` - `const LabeledRegionValueUsEast4 LabeledRegionValue = "us-east4"` - `const LabeledRegionValueUsSouth1 LabeledRegionValue = "us-south1"` - `const LabeledRegionValueUsWest1 LabeledRegionValue = "us-west1"` - `ScheduleFrequency TestScheduleFrequency` The frequency of the test. - `const TestScheduleFrequencyDaily TestScheduleFrequency = "DAILY"` - `const TestScheduleFrequencyWeekly TestScheduleFrequency = "WEEKLY"` - `URL string` A URL.