API reference
Schedules
Recurring runs.
GET
header
AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
OK
application/json- response
schedules*array<>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 } ]}POST
header
AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
Idempotency-Key?stringRetry safely: the same key and body replay the first answer.
Length
1 <= length <= 255application/json- body
name?stringLength
1 <= length <= 200skill*stringLength
1 <= length <= 100version?stringLength
length <= 40Default
"latest"inputs?Default
{}engineId?stringMatch
^eng_(us|in)_[0-9a-z]{24}$session?grant?array<>cron*stringMatch
^\S+(\s+\S+){4}$timezone?stringLength
1 <= length <= 64Default
"UTC"enabled?booleanDefault
truenotifyOn?stringDefault
"failed"Value in
"failed""always"OK
application/json- response
id*stringMatch
^sch_(us|in)_[0-9a-z]{24}$name?stringskill*stringversion*stringinputs*session?grant?array<>engineId?stringMatch
^eng_(us|in)_[0-9a-z]{24}$cron*stringtimezone*stringenabled*booleannotifyOn*stringValue in
"failed""always"nextRunAt*|nulllastRunId*|nulllastFiredAt*|nullhistory*array<>createdAt*integerRange
-9007199254740991 <= value <= 9007199254740991updatedAt*integerRange
-9007199254740991 <= value <= 9007199254740991curl -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
header
AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*stringMatch
^sch_(us|in)_[0-9a-z]{24}$OK
application/json- response
id*stringMatch
^sch_(us|in)_[0-9a-z]{24}$name?stringskill*stringversion*stringinputs*session?grant?array<>engineId?stringMatch
^eng_(us|in)_[0-9a-z]{24}$cron*stringtimezone*stringenabled*booleannotifyOn*stringValue in
"failed""always"nextRunAt*|nulllastRunId*|nulllastFiredAt*|nullhistory*array<>createdAt*integerRange
-9007199254740991 <= value <= 9007199254740991updatedAt*integerRange
-9007199254740991 <= value <= 9007199254740991curl -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}PATCH
header
AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*stringMatch
^sch_(us|in)_[0-9a-z]{24}$application/json- body
name?|nullskill?stringLength
1 <= length <= 100version?stringLength
length <= 40inputs?session?|nullgrant?array<>|nullengineId?|nullcron?stringMatch
^\S+(\s+\S+){4}$timezone?stringLength
1 <= length <= 64enabled?booleannotifyOn?stringValue in
"failed""always"OK
application/json- response
id*stringMatch
^sch_(us|in)_[0-9a-z]{24}$name?stringskill*stringversion*stringinputs*session?grant?array<>engineId?stringMatch
^eng_(us|in)_[0-9a-z]{24}$cron*stringtimezone*stringenabled*booleannotifyOn*stringValue in
"failed""always"nextRunAt*|nulllastRunId*|nulllastFiredAt*|nullhistory*array<>createdAt*integerRange
-9007199254740991 <= value <= 9007199254740991updatedAt*integerRange
-9007199254740991 <= value <= 9007199254740991curl -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
header
AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*stringMatch
^sch_(us|in)_[0-9a-z]{24}$OK
application/json- response
deleted*booleancurl -X DELETE 'https://api.us.webagent.lookover.ai/v1/schedules/string'Example Response
{ "deleted": true}POST
header
AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*stringMatch
^sch_(us|in)_[0-9a-z]{24}$OK
application/json- response
started*booleancurl -X POST 'https://api.us.webagent.lookover.ai/v1/schedules/string/run'Example Response
{ "started": true}