# Schedule ## Get a page test schedule `client.speed.schedule.get(stringurl, ScheduleGetParamsparams, RequestOptionsoptions?): Schedule` **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` - `zone_id: string` Path param: Identifier. - `region?: "asia-east1" | "asia-northeast1" | "asia-northeast2" | 18 more` Query param: A test region. - `"asia-east1"` - `"asia-northeast1"` - `"asia-northeast2"` - `"asia-south1"` - `"asia-southeast1"` - `"australia-southeast1"` - `"europe-north1"` - `"europe-southwest1"` - `"europe-west1"` - `"europe-west2"` - `"europe-west3"` - `"europe-west4"` - `"europe-west8"` - `"europe-west9"` - `"me-west1"` - `"southamerica-east1"` - `"us-central1"` - `"us-east1"` - `"us-east4"` - `"us-south1"` - `"us-west1"` ### Returns - `Schedule` The test schedule. - `frequency?: "DAILY" | "WEEKLY"` The frequency of the test. - `"DAILY"` - `"WEEKLY"` - `region?: "asia-east1" | "asia-northeast1" | "asia-northeast2" | 18 more` A test region. - `"asia-east1"` - `"asia-northeast1"` - `"asia-northeast2"` - `"asia-south1"` - `"asia-southeast1"` - `"australia-southeast1"` - `"europe-north1"` - `"europe-southwest1"` - `"europe-west1"` - `"europe-west2"` - `"europe-west3"` - `"europe-west4"` - `"europe-west8"` - `"europe-west9"` - `"me-west1"` - `"southamerica-east1"` - `"us-central1"` - `"us-east1"` - `"us-east4"` - `"us-south1"` - `"us-west1"` - `url?: string` A URL. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const schedule = await client.speed.schedule.get('example.com', { zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(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.create(stringurl, ScheduleCreateParamsparams, RequestOptionsoptions?): ScheduleCreateResponse` **post** `/zones/{zone_id}/speed_api/schedule/{url}` Creates a scheduled test for a page. ### Parameters - `url: string` A URL. - `params: ScheduleCreateParams` - `zone_id: string` Path param: Identifier. - `frequency?: "DAILY" | "WEEKLY"` Query param: The frequency of the scheduled test. Defaults to WEEKLY for free plans, DAILY for paid plans. - `"DAILY"` - `"WEEKLY"` - `region?: "asia-east1" | "asia-northeast1" | "asia-northeast2" | 18 more` Query param: A test region. - `"asia-east1"` - `"asia-northeast1"` - `"asia-northeast2"` - `"asia-south1"` - `"asia-southeast1"` - `"australia-southeast1"` - `"europe-north1"` - `"europe-southwest1"` - `"europe-west1"` - `"europe-west2"` - `"europe-west3"` - `"europe-west4"` - `"europe-west8"` - `"europe-west9"` - `"me-west1"` - `"southamerica-east1"` - `"us-central1"` - `"us-east1"` - `"us-east4"` - `"us-south1"` - `"us-west1"` ### Returns - `ScheduleCreateResponse` - `schedule?: Schedule` The test schedule. - `frequency?: "DAILY" | "WEEKLY"` The frequency of the test. - `"DAILY"` - `"WEEKLY"` - `region?: "asia-east1" | "asia-northeast1" | "asia-northeast2" | 18 more` A test region. - `"asia-east1"` - `"asia-northeast1"` - `"asia-northeast2"` - `"asia-south1"` - `"asia-southeast1"` - `"australia-southeast1"` - `"europe-north1"` - `"europe-southwest1"` - `"europe-west1"` - `"europe-west2"` - `"europe-west3"` - `"europe-west4"` - `"europe-west8"` - `"europe-west9"` - `"me-west1"` - `"southamerica-east1"` - `"us-central1"` - `"us-east1"` - `"us-east4"` - `"us-south1"` - `"us-west1"` - `url?: string` A URL. - `test?: Test` - `id?: string` UUID. - `date?: string` - `desktopReport?: LighthouseReport` The Lighthouse report. - `cls?: number` Cumulative Layout Shift. - `deviceType?: "DESKTOP" | "MOBILE"` The type of device. - `"DESKTOP"` - `"MOBILE"` - `error?: Error` - `code?: "NOT_REACHABLE" | "DNS_FAILURE" | "NOT_HTML" | 2 more` The error code of the Lighthouse result. - `"NOT_REACHABLE"` - `"DNS_FAILURE"` - `"NOT_HTML"` - `"LIGHTHOUSE_TIMEOUT"` - `"UNKNOWN"` - `detail?: string` Detailed error message. - `finalDisplayedUrl?: string` The final URL displayed to the user. - `fcp?: number` First Contentful Paint. - `jsonReportUrl?: string` The URL to the full Lighthouse JSON report. - `lcp?: number` Largest Contentful Paint. - `performanceScore?: number` The Lighthouse performance score. - `si?: number` Speed Index. - `state?: "RUNNING" | "COMPLETE" | "FAILED"` The state of the Lighthouse report. - `"RUNNING"` - `"COMPLETE"` - `"FAILED"` - `tbt?: number` Total Blocking Time. - `ttfb?: number` Time To First Byte. - `tti?: number` Time To Interactive. - `mobileReport?: LighthouseReport` The Lighthouse report. - `region?: LabeledRegion` A test region with a label. - `label?: string` - `value?: "asia-east1" | "asia-northeast1" | "asia-northeast2" | 18 more` A test region. - `"asia-east1"` - `"asia-northeast1"` - `"asia-northeast2"` - `"asia-south1"` - `"asia-southeast1"` - `"australia-southeast1"` - `"europe-north1"` - `"europe-southwest1"` - `"europe-west1"` - `"europe-west2"` - `"europe-west3"` - `"europe-west4"` - `"europe-west8"` - `"europe-west9"` - `"me-west1"` - `"southamerica-east1"` - `"us-central1"` - `"us-east1"` - `"us-east4"` - `"us-south1"` - `"us-west1"` - `scheduleFrequency?: "DAILY" | "WEEKLY"` The frequency of the test. - `"DAILY"` - `"WEEKLY"` - `url?: string` A URL. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const schedule = await client.speed.schedule.create('example.com', { zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(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(stringurl, ScheduleDeleteParamsparams, RequestOptionsoptions?): ScheduleDeleteResponse` **delete** `/zones/{zone_id}/speed_api/schedule/{url}` Deletes a scheduled test for a page. ### Parameters - `url: string` A URL. - `params: ScheduleDeleteParams` - `zone_id: string` Path param: Identifier. - `region?: "asia-east1" | "asia-northeast1" | "asia-northeast2" | 18 more` Query param: A test region. - `"asia-east1"` - `"asia-northeast1"` - `"asia-northeast2"` - `"asia-south1"` - `"asia-southeast1"` - `"australia-southeast1"` - `"europe-north1"` - `"europe-southwest1"` - `"europe-west1"` - `"europe-west2"` - `"europe-west3"` - `"europe-west4"` - `"europe-west8"` - `"europe-west9"` - `"me-west1"` - `"southamerica-east1"` - `"us-central1"` - `"us-east1"` - `"us-east4"` - `"us-south1"` - `"us-west1"` ### Returns - `ScheduleDeleteResponse` - `count?: number` Number of items affected. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const schedule = await client.speed.schedule.delete('example.com', { zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(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 - `Schedule` The test schedule. - `frequency?: "DAILY" | "WEEKLY"` The frequency of the test. - `"DAILY"` - `"WEEKLY"` - `region?: "asia-east1" | "asia-northeast1" | "asia-northeast2" | 18 more` A test region. - `"asia-east1"` - `"asia-northeast1"` - `"asia-northeast2"` - `"asia-south1"` - `"asia-southeast1"` - `"australia-southeast1"` - `"europe-north1"` - `"europe-southwest1"` - `"europe-west1"` - `"europe-west2"` - `"europe-west3"` - `"europe-west4"` - `"europe-west8"` - `"europe-west9"` - `"me-west1"` - `"southamerica-east1"` - `"us-central1"` - `"us-east1"` - `"us-east4"` - `"us-south1"` - `"us-west1"` - `url?: string` A URL. ### Schedule Create Response - `ScheduleCreateResponse` - `schedule?: Schedule` The test schedule. - `frequency?: "DAILY" | "WEEKLY"` The frequency of the test. - `"DAILY"` - `"WEEKLY"` - `region?: "asia-east1" | "asia-northeast1" | "asia-northeast2" | 18 more` A test region. - `"asia-east1"` - `"asia-northeast1"` - `"asia-northeast2"` - `"asia-south1"` - `"asia-southeast1"` - `"australia-southeast1"` - `"europe-north1"` - `"europe-southwest1"` - `"europe-west1"` - `"europe-west2"` - `"europe-west3"` - `"europe-west4"` - `"europe-west8"` - `"europe-west9"` - `"me-west1"` - `"southamerica-east1"` - `"us-central1"` - `"us-east1"` - `"us-east4"` - `"us-south1"` - `"us-west1"` - `url?: string` A URL. - `test?: Test` - `id?: string` UUID. - `date?: string` - `desktopReport?: LighthouseReport` The Lighthouse report. - `cls?: number` Cumulative Layout Shift. - `deviceType?: "DESKTOP" | "MOBILE"` The type of device. - `"DESKTOP"` - `"MOBILE"` - `error?: Error` - `code?: "NOT_REACHABLE" | "DNS_FAILURE" | "NOT_HTML" | 2 more` The error code of the Lighthouse result. - `"NOT_REACHABLE"` - `"DNS_FAILURE"` - `"NOT_HTML"` - `"LIGHTHOUSE_TIMEOUT"` - `"UNKNOWN"` - `detail?: string` Detailed error message. - `finalDisplayedUrl?: string` The final URL displayed to the user. - `fcp?: number` First Contentful Paint. - `jsonReportUrl?: string` The URL to the full Lighthouse JSON report. - `lcp?: number` Largest Contentful Paint. - `performanceScore?: number` The Lighthouse performance score. - `si?: number` Speed Index. - `state?: "RUNNING" | "COMPLETE" | "FAILED"` The state of the Lighthouse report. - `"RUNNING"` - `"COMPLETE"` - `"FAILED"` - `tbt?: number` Total Blocking Time. - `ttfb?: number` Time To First Byte. - `tti?: number` Time To Interactive. - `mobileReport?: LighthouseReport` The Lighthouse report. - `region?: LabeledRegion` A test region with a label. - `label?: string` - `value?: "asia-east1" | "asia-northeast1" | "asia-northeast2" | 18 more` A test region. - `"asia-east1"` - `"asia-northeast1"` - `"asia-northeast2"` - `"asia-south1"` - `"asia-southeast1"` - `"australia-southeast1"` - `"europe-north1"` - `"europe-southwest1"` - `"europe-west1"` - `"europe-west2"` - `"europe-west3"` - `"europe-west4"` - `"europe-west8"` - `"europe-west9"` - `"me-west1"` - `"southamerica-east1"` - `"us-central1"` - `"us-east1"` - `"us-east4"` - `"us-south1"` - `"us-west1"` - `scheduleFrequency?: "DAILY" | "WEEKLY"` The frequency of the test. - `"DAILY"` - `"WEEKLY"` - `url?: string` A URL. ### Schedule Delete Response - `ScheduleDeleteResponse` - `count?: number` Number of items affected.