Skip to Content
webagent docs
API reference

Schedules

Recurring runs.

Open as .md

List schedules

GET
/v1/schedules

Authorization

headerAuthorizationBearer <token>

An API key (wa_<region>_…) or a dashboard access token.

Response Body

OK

application/json
  1. response
schedules*array<>
Example Request
curl -X GET 'https://api.us.webagent.lookover.ai/v1/schedules'
Example Response
{  "schedules": [    {      "id": "string",      "name": "string",      "skill": "string",      "version": "string",      "inputs": {        "property1": null,        "property2": null      },      "session": {        "id": "string",        "engine": "chromium",        "device": "desktop",        "block": {          "images": true,          "media": true,          "fonts": true,          "stylesheets": true,          "hosts": [            "string"          ],          "urlPatterns": [            "string"          ]        },        "headers": [          {            "hosts": [              "string"            ],            "headers": {              "property1": "string",              "property2": "string"            }          }        ],        "record": true,        "chromePreferences": {          "property1": null,          "property2": null        },        "captureBodies": true,        "initScripts": [          "string"        ],        "geolocation": {          "latitude": -90,          "longitude": -180,          "accuracy": 1        },        "reduceMotion": true,        "instrument": [          "sinks"        ],        "cpuThrottle": 1,        "network": "online",        "cache": "default",        "viewport": {          "width": 200,          "height": 200,          "deviceScaleFactor": 0.5,          "mobile": true        },        "userAgent": "string",        "locale": "string",        "timezone": "string",        "blockAds": true,        "proxyUrl": "http://example.com",        "useProxy": true,        "dedicatedIp": true,        "isSelenium": true,        "idleTimeoutMs": 10000,        "maxDurationMs": 10000,        "allowHosts": [          "string"        ],        "followPopups": true,        "startUrl": "http://example.com",        "acceptDialogs": true,        "metadata": {          "property1": "string",          "property2": "string"        }      },      "grant": [        "network_capture"      ],      "engineId": "string",      "cron": "string",      "timezone": "string",      "enabled": true,      "notifyOn": "failed",      "nextRunAt": -9007199254740991,      "lastRunId": "string",      "lastFiredAt": -9007199254740991,      "history": [        {          "at": 0,          "status": "running",          "runId": "string",          "reason": "string",          "finishedAt": 0        }      ],      "createdAt": -9007199254740991,      "updatedAt": -9007199254740991    }  ]}

Create a schedule

POST
/v1/schedules

Authorization

headerAuthorizationBearer <token>

An API key (wa_<region>_…) or a dashboard access token.

Header Parameters

Idempotency-Key?string

Retry safely: the same key and body replay the first answer.

Length1 <= length <= 255

Request Body

application/json
  1. body
name?string
Length1 <= length <= 200
skill*string
Length1 <= length <= 100
version?string
Lengthlength <= 40
Default"latest"
inputs?
Default{}
engineId?string
Match^eng_(us|in)_[0-9a-z]{24}$
session?
grant?array<>
cron*string
Match^\S+(\s+\S+){4}$
timezone?string
Length1 <= length <= 64
Default"UTC"
enabled?boolean
Defaulttrue
notifyOn?string
Default"failed"
Value in"failed""always"

Response Body

OK

application/json
  1. response
id*string
Match^sch_(us|in)_[0-9a-z]{24}$
name?string
skill*string
version*string
inputs*
session?
grant?array<>
engineId?string
Match^eng_(us|in)_[0-9a-z]{24}$
cron*string
timezone*string
enabled*boolean
notifyOn*string
Value in"failed""always"
nextRunAt*|null
lastRunId*|null
lastFiredAt*|null
history*array<>
createdAt*integer
Range-9007199254740991 <= value <= 9007199254740991
updatedAt*integer
Range-9007199254740991 <= value <= 9007199254740991
Example Request
curl -X POST 'https://api.us.webagent.lookover.ai/v1/schedules' \  -H 'Content-Type: application/json' \  -d '{  "skill": "string",  "cron": "string"}'
Example Response
{  "id": "string",  "name": "string",  "skill": "string",  "version": "string",  "inputs": {    "property1": null,    "property2": null  },  "session": {    "id": "string",    "engine": "chromium",    "device": "desktop",    "block": {      "images": true,      "media": true,      "fonts": true,      "stylesheets": true,      "hosts": [        "string"      ],      "urlPatterns": [        "string"      ]    },    "headers": [      {        "hosts": [          "string"        ],        "headers": {          "property1": "string",          "property2": "string"        }      }    ],    "record": true,    "chromePreferences": {      "property1": null,      "property2": null    },    "captureBodies": true,    "initScripts": [      "string"    ],    "geolocation": {      "latitude": -90,      "longitude": -180,      "accuracy": 1    },    "reduceMotion": true,    "instrument": [      "sinks"    ],    "cpuThrottle": 1,    "network": "online",    "cache": "default",    "viewport": {      "width": 200,      "height": 200,      "deviceScaleFactor": 0.5,      "mobile": true    },    "userAgent": "string",    "locale": "string",    "timezone": "string",    "blockAds": true,    "proxyUrl": "http://example.com",    "useProxy": true,    "dedicatedIp": true,    "isSelenium": true,    "idleTimeoutMs": 10000,    "maxDurationMs": 10000,    "allowHosts": [      "string"    ],    "followPopups": true,    "startUrl": "http://example.com",    "acceptDialogs": true,    "metadata": {      "property1": "string",      "property2": "string"    }  },  "grant": [    "network_capture"  ],  "engineId": "string",  "cron": "string",  "timezone": "string",  "enabled": true,  "notifyOn": "failed",  "nextRunAt": -9007199254740991,  "lastRunId": "string",  "lastFiredAt": -9007199254740991,  "history": [    {      "at": 0,      "status": "running",      "runId": "string",      "reason": "string",      "finishedAt": 0    }  ],  "createdAt": -9007199254740991,  "updatedAt": -9007199254740991}

Get a schedule

GET
/v1/schedules/{id}

Authorization

headerAuthorizationBearer <token>

An API key (wa_<region>_…) or a dashboard access token.

Path Parameters

id*string
Match^sch_(us|in)_[0-9a-z]{24}$

Response Body

OK

application/json
  1. response
id*string
Match^sch_(us|in)_[0-9a-z]{24}$
name?string
skill*string
version*string
inputs*
session?
grant?array<>
engineId?string
Match^eng_(us|in)_[0-9a-z]{24}$
cron*string
timezone*string
enabled*boolean
notifyOn*string
Value in"failed""always"
nextRunAt*|null
lastRunId*|null
lastFiredAt*|null
history*array<>
createdAt*integer
Range-9007199254740991 <= value <= 9007199254740991
updatedAt*integer
Range-9007199254740991 <= value <= 9007199254740991
Example Request
curl -X GET 'https://api.us.webagent.lookover.ai/v1/schedules/string'
Example Response
{  "id": "string",  "name": "string",  "skill": "string",  "version": "string",  "inputs": {    "property1": null,    "property2": null  },  "session": {    "id": "string",    "engine": "chromium",    "device": "desktop",    "block": {      "images": true,      "media": true,      "fonts": true,      "stylesheets": true,      "hosts": [        "string"      ],      "urlPatterns": [        "string"      ]    },    "headers": [      {        "hosts": [          "string"        ],        "headers": {          "property1": "string",          "property2": "string"        }      }    ],    "record": true,    "chromePreferences": {      "property1": null,      "property2": null    },    "captureBodies": true,    "initScripts": [      "string"    ],    "geolocation": {      "latitude": -90,      "longitude": -180,      "accuracy": 1    },    "reduceMotion": true,    "instrument": [      "sinks"    ],    "cpuThrottle": 1,    "network": "online",    "cache": "default",    "viewport": {      "width": 200,      "height": 200,      "deviceScaleFactor": 0.5,      "mobile": true    },    "userAgent": "string",    "locale": "string",    "timezone": "string",    "blockAds": true,    "proxyUrl": "http://example.com",    "useProxy": true,    "dedicatedIp": true,    "isSelenium": true,    "idleTimeoutMs": 10000,    "maxDurationMs": 10000,    "allowHosts": [      "string"    ],    "followPopups": true,    "startUrl": "http://example.com",    "acceptDialogs": true,    "metadata": {      "property1": "string",      "property2": "string"    }  },  "grant": [    "network_capture"  ],  "engineId": "string",  "cron": "string",  "timezone": "string",  "enabled": true,  "notifyOn": "failed",  "nextRunAt": -9007199254740991,  "lastRunId": "string",  "lastFiredAt": -9007199254740991,  "history": [    {      "at": 0,      "status": "running",      "runId": "string",      "reason": "string",      "finishedAt": 0    }  ],  "createdAt": -9007199254740991,  "updatedAt": -9007199254740991}

Change a schedule

PATCH
/v1/schedules/{id}

Authorization

headerAuthorizationBearer <token>

An API key (wa_<region>_…) or a dashboard access token.

Path Parameters

id*string
Match^sch_(us|in)_[0-9a-z]{24}$

Request Body

application/json
  1. body
name?|null
skill?string
Length1 <= length <= 100
version?string
Lengthlength <= 40
inputs?
session?|null
grant?array<>|null
engineId?|null
cron?string
Match^\S+(\s+\S+){4}$
timezone?string
Length1 <= length <= 64
enabled?boolean
notifyOn?string
Value in"failed""always"

Response Body

OK

application/json
  1. response
id*string
Match^sch_(us|in)_[0-9a-z]{24}$
name?string
skill*string
version*string
inputs*
session?
grant?array<>
engineId?string
Match^eng_(us|in)_[0-9a-z]{24}$
cron*string
timezone*string
enabled*boolean
notifyOn*string
Value in"failed""always"
nextRunAt*|null
lastRunId*|null
lastFiredAt*|null
history*array<>
createdAt*integer
Range-9007199254740991 <= value <= 9007199254740991
updatedAt*integer
Range-9007199254740991 <= value <= 9007199254740991
Example Request
curl -X PATCH 'https://api.us.webagent.lookover.ai/v1/schedules/string' \  -H 'Content-Type: application/json' \  -d '{}'
Example Response
{  "id": "string",  "name": "string",  "skill": "string",  "version": "string",  "inputs": {    "property1": null,    "property2": null  },  "session": {    "id": "string",    "engine": "chromium",    "device": "desktop",    "block": {      "images": true,      "media": true,      "fonts": true,      "stylesheets": true,      "hosts": [        "string"      ],      "urlPatterns": [        "string"      ]    },    "headers": [      {        "hosts": [          "string"        ],        "headers": {          "property1": "string",          "property2": "string"        }      }    ],    "record": true,    "chromePreferences": {      "property1": null,      "property2": null    },    "captureBodies": true,    "initScripts": [      "string"    ],    "geolocation": {      "latitude": -90,      "longitude": -180,      "accuracy": 1    },    "reduceMotion": true,    "instrument": [      "sinks"    ],    "cpuThrottle": 1,    "network": "online",    "cache": "default",    "viewport": {      "width": 200,      "height": 200,      "deviceScaleFactor": 0.5,      "mobile": true    },    "userAgent": "string",    "locale": "string",    "timezone": "string",    "blockAds": true,    "proxyUrl": "http://example.com",    "useProxy": true,    "dedicatedIp": true,    "isSelenium": true,    "idleTimeoutMs": 10000,    "maxDurationMs": 10000,    "allowHosts": [      "string"    ],    "followPopups": true,    "startUrl": "http://example.com",    "acceptDialogs": true,    "metadata": {      "property1": "string",      "property2": "string"    }  },  "grant": [    "network_capture"  ],  "engineId": "string",  "cron": "string",  "timezone": "string",  "enabled": true,  "notifyOn": "failed",  "nextRunAt": -9007199254740991,  "lastRunId": "string",  "lastFiredAt": -9007199254740991,  "history": [    {      "at": 0,      "status": "running",      "runId": "string",      "reason": "string",      "finishedAt": 0    }  ],  "createdAt": -9007199254740991,  "updatedAt": -9007199254740991}

Delete a schedule

DELETE
/v1/schedules/{id}

Authorization

headerAuthorizationBearer <token>

An API key (wa_<region>_…) or a dashboard access token.

Path Parameters

id*string
Match^sch_(us|in)_[0-9a-z]{24}$

Response Body

OK

application/json
  1. response
deleted*boolean
Example Request
curl -X DELETE 'https://api.us.webagent.lookover.ai/v1/schedules/string'
Example Response
{  "deleted": true}

Fire a schedule now

POST
/v1/schedules/{id}/run

Authorization

headerAuthorizationBearer <token>

An API key (wa_<region>_…) or a dashboard access token.

Path Parameters

id*string
Match^sch_(us|in)_[0-9a-z]{24}$

Response Body

OK

application/json
  1. response
started*boolean
Example Request
curl -X POST 'https://api.us.webagent.lookover.ai/v1/schedules/string/run'
Example Response
{  "started": true}