Skills
Skills installed for the project.
AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
OK
application/json- response
skills*array<>curl -X GET 'https://api.us.webagent.lookover.ai/v1/skills'{ "skills": [ { "name": "string", "version": "string", "description": "string", "icp": [ "tester" ], "permissions": [ "network_capture" ], "inputs": { "property1": { "type": "string", "description": "string", "required": true, "default": null }, "property2": { "type": "string", "description": "string", "required": true, "default": null } }, "steps": 0, "source": "builtin" } ]}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
name*string^[a-z][a-z0-9-]*$version?string^\d+\.\d+\.\d+$OK
application/json- response
name*stringversion*stringdescription*stringicp*array<>permissions*array<>inputs*steps*integer0 <= value <= 9007199254740991source*string"builtin""tenant""marketplace"body*stringspec*curl -X GET 'https://api.us.webagent.lookover.ai/v1/skills/string'{ "name": "string", "version": "string", "description": "string", "icp": [ "tester" ], "permissions": [ "network_capture" ], "inputs": { "property1": { "type": "string", "description": "string", "required": true, "default": null }, "property2": { "type": "string", "description": "string", "required": true, "default": null } }, "steps": 0, "source": "builtin", "body": "string", "spec": { "name": "string", "version": "string", "description": "string", "icp": [ "tester" ], "inputs": {}, "permissions": [], "scope": [ "string" ], "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" } }, "steps": [ { "id": "string", "name": "string", "onFail": "stop", "timeoutMs": 100, "screenshot": true, "if": "string", "action": { "property1": null, "property2": null } } ], "assertions": [], "report": { "screenshots": "on-failure", "video": "on-failure" }, "severity": { "property1": "info", "property2": "info" }, "tags": [ "string" ], "category": "string", "requires": { "engines": [ "chromium" ], "modes": [ "string" ], "runtime": "string" }, "deprecated": { "reason": "string", "replacedBy": "string" }, "license": "string", "homepage": "http://example.com", "repository": "http://example.com", "tests": [ { "name": "string", "inputs": {}, "grant": [ "network_capture" ], "expect": {} } ] }}Runs, pass rate, median duration and spend of one skill over the last days
AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
name*string^[a-z][a-z0-9-]*$days?integer1 <= value <= 36530OK
application/json- response
name*stringdays*integer-9007199254740991 <= value <= 9007199254740991runs*integer0 <= value <= 9007199254740991passed*integer0 <= value <= 9007199254740991failed*integer0 <= value <= 9007199254740991errored*integer0 <= value <= 9007199254740991passRate*number|nullp50Ms*number|nulllastRunAt*|nullspendMicros*integer0 <= value <= 9007199254740991byVersion*array<>installed*|nullschedules*array<>curl -X GET 'https://api.us.webagent.lookover.ai/v1/skills/string/usage'{ "name": "string", "days": -9007199254740991, "runs": 0, "passed": 0, "failed": 0, "errored": 0, "passRate": 0, "p50Ms": 0, "lastRunAt": 0, "spendMicros": 0, "byVersion": [ { "version": "string", "runs": 0, "passed": 0 } ], "installed": { "version": "string", "pinned": "string", "digest": "string", "thirdParty": true, "boundScope": [ "string" ], "deprecated": { "reason": "string", "replacedBy": "string", "at": 0 }, "yanked": true, "update": { "version": "string", "needsConsent": true, "flags": [ "string" ], "holdUntil": 0 } }, "schedules": [ { "id": "string", "name": "string", "cron": "string", "version": "string", "enabled": true, "resolvedVersion": "string", "deprecated": { "reason": "string", "replacedBy": "string", "at": 0 }, "yanked": true } ]}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
OK
application/json- response
drafts*array<>curl -X GET 'https://api.us.webagent.lookover.ai/v1/skills/drafts'{ "drafts": [ { "id": "string", "name": "string", "revision": 1, "createdBy": "string", "updatedBy": "string", "createdAt": 0, "updatedAt": 0 } ]}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.
1 <= length <= 255application/json- body
text*string1 <= length <= 200000OK
application/json- response
id*string^draft_(us|in)_[0-9a-z]{24}$name*stringrevision*integer1 <= value <= 9007199254740991createdBy*stringupdatedBy*stringcreatedAt*integer0 <= value <= 9007199254740991updatedAt*integer0 <= value <= 9007199254740991text?stringcurl -X POST 'https://api.us.webagent.lookover.ai/v1/skills/drafts' \ -H 'Content-Type: application/json' \ -d '{ "text": "string"}'{ "id": "string", "name": "string", "revision": 1, "createdBy": "string", "updatedBy": "string", "createdAt": 0, "updatedAt": 0, "text": "string"}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*string^draft_(us|in)_[0-9a-z]{24}$OK
application/json- response
id*string^draft_(us|in)_[0-9a-z]{24}$name*stringrevision*integer1 <= value <= 9007199254740991createdBy*stringupdatedBy*stringcreatedAt*integer0 <= value <= 9007199254740991updatedAt*integer0 <= value <= 9007199254740991text?stringcurl -X GET 'https://api.us.webagent.lookover.ai/v1/skills/drafts/string'{ "id": "string", "name": "string", "revision": 1, "createdBy": "string", "updatedBy": "string", "createdAt": 0, "updatedAt": 0, "text": "string"}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*string^draft_(us|in)_[0-9a-z]{24}$OK
application/json- response
deleted*booleancurl -X DELETE 'https://api.us.webagent.lookover.ai/v1/skills/drafts/string'{ "deleted": true}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*string^draft_(us|in)_[0-9a-z]{24}$application/json- body
text*string1 <= length <= 200000revision*integer1 <= value <= 9007199254740991OK
application/json- response
id*string^draft_(us|in)_[0-9a-z]{24}$name*stringrevision*integer1 <= value <= 9007199254740991createdBy*stringupdatedBy*stringcreatedAt*integer0 <= value <= 9007199254740991updatedAt*integer0 <= value <= 9007199254740991text?stringcurl -X PUT 'https://api.us.webagent.lookover.ai/v1/skills/drafts/string' \ -H 'Content-Type: application/json' \ -d '{ "text": "string", "revision": 1}'{ "id": "string", "name": "string", "revision": 1, "createdBy": "string", "updatedBy": "string", "createdAt": 0, "updatedAt": 0, "text": "string"}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*string^draft_(us|in)_[0-9a-z]{24}$Idempotency-Key?stringRetry safely: the same key and body replay the first answer.
1 <= length <= 255application/json- body
visibility?string"private""private""unlisted""public"OK
application/json- response
name*stringversion*stringstatus*string"pending""approved""rejected""withdrawn"visibility*string"private""unlisted""public"digest*string|nullreviewFlags*array<string>deprecated*|nullyankedAt*|nullsubmittedAt*integer0 <= value <= 9007199254740991lint?array<>curl -X POST 'https://api.us.webagent.lookover.ai/v1/skills/drafts/string/publish' \ -H 'Content-Type: application/json' \ -d '{}'{ "name": "string", "version": "string", "status": "pending", "visibility": "private", "digest": "string", "reviewFlags": [ "string" ], "deprecated": { "reason": "string", "replacedBy": "string", "at": 0 }, "yankedAt": 0, "submittedAt": 0, "lint": [ { "rule": "string", "severity": "error", "message": "string", "path": "string", "fix": "string" } ]}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*string^draft_(us|in)_[0-9a-z]{24}$OK
application/json- response
revisions*array<>curl -X GET 'https://api.us.webagent.lookover.ai/v1/skills/drafts/string/revisions'{ "revisions": [ { "rev": 1, "at": 0, "by": "string", "note": "string" } ]}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*string^draft_(us|in)_[0-9a-z]{24}$rev*integer1 <= value <= 9007199254740991OK
application/json- response
rev*integer1 <= value <= 9007199254740991text*stringcurl -X GET 'https://api.us.webagent.lookover.ai/v1/skills/drafts/string/revisions/1'{ "rev": 1, "text": "string"}Run unsaved SKILL.md text once as a job (202; not listed in skill runs)
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.
1 <= length <= 255application/json- body
text*string1 <= length <= 200000inputs?{}grant?array<>session?OK
application/json- response
id*string^run_(us|in)_[0-9a-z]{24}$skill*stringversion*stringstepCount*integer0 <= value <= 9007199254740991sessionId*string^sess_(us|in)_[0-9a-z]{24}$status*string"running""passed""failed""error""cancelled""denied"steps*array<>summary?stringstartedAt*integer0 <= value <= 9007199254740991finishedAt?integer0 <= value <= 9007199254740991curl -X POST 'https://api.us.webagent.lookover.ai/v1/skills/dry-run' \ -H 'Content-Type: application/json' \ -d '{ "text": "string"}'{ "id": "string", "skill": "string", "version": "string", "stepCount": 0, "sessionId": "string", "status": "running", "steps": [ { "index": -9007199254740991, "name": "string", "ok": true, "ms": 0 } ], "summary": "string", "startedAt": 0, "finishedAt": 0}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
id*string^run_(us|in)_[0-9a-z]{24}$OK
application/json- response
id*string^run_(us|in)_[0-9a-z]{24}$skill*stringversion*stringstepCount*integer0 <= value <= 9007199254740991sessionId*string^sess_(us|in)_[0-9a-z]{24}$status*string"running""passed""failed""error""cancelled""denied"steps*array<>summary?stringstartedAt*integer0 <= value <= 9007199254740991finishedAt?integer0 <= value <= 9007199254740991curl -X GET 'https://api.us.webagent.lookover.ai/v1/skills/dry-runs/string'{ "id": "string", "skill": "string", "version": "string", "stepCount": 0, "sessionId": "string", "status": "running", "steps": [ { "index": -9007199254740991, "name": "string", "ok": true, "ms": 0 } ], "summary": "string", "startedAt": 0, "finishedAt": 0}AuthorizationBearer <token>An API key (wa_<region>_…) or a dashboard access token.
application/json- body
text*string1 <= length <= 200000OK
application/json- response
ok*booleanissues*array<>lint*array<>summary?curl -X POST 'https://api.us.webagent.lookover.ai/v1/skills/validate' \ -H 'Content-Type: application/json' \ -d '{ "text": "string"}'{ "ok": true, "issues": [ { "path": "string", "message": "string", "line": -9007199254740991, "col": -9007199254740991 } ], "lint": [ { "rule": "string", "severity": "error", "message": "string", "path": "string", "fix": "string" } ], "summary": { "name": "string", "version": "string", "description": "string", "icp": [ "tester" ], "permissions": [ "network_capture" ], "inputs": { "property1": { "type": "string", "description": "string", "required": true, "default": null }, "property2": { "type": "string", "description": "string", "required": true, "default": null } }, "steps": 0 }}