{"openapi":"3.1.0","info":{"title":"Sken.io Api","version":"1.0.0","description":"## Getting started\n\n1. Sign in at [sken.io](https://sken.io) and open **Settings → API keys**.\n2. Create a key and pick the scopes it needs. The key is shown **once** - store it somewhere safe.\n3. Send it with every request:\n\n```\ncurl https://sken.io/api/v2/jobs \\\n  -H \"Authorization: Bearer skn_live_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n```\n\nAPI keys are meant for server-side use.\n\nThe machine-readable specification behind this page is available at\n[`/api/v2/api-specs`](/api/v2/api-specs) and can be fed straight into an OpenAPI client generator.\n\n## MCP server\n\nThe same surface is available over the [Model Context Protocol](https://modelcontextprotocol.io)\nat `POST /mcp`, so AI agents can use Sken.io without any glue code.\n\nMost clients only need the address - paste `https://sken.io/mcp` into their connector settings\nand approve the request that opens. For a client that takes a header instead, an API key works:\n\n```\nclaude mcp add --transport http sken https://sken.io/mcp \\\n  --header \"Authorization: Bearer skn_live_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n```\n\nOnly the tools covered by your key's scopes are exposed, and screenshots are served as MCP\nresources rather than inline.\n\n## Scopes\n\nA key only reaches the endpoints covered by the scopes it was granted. Calling an\nendpoint outside them returns `403` naming the missing scope, and endpoints that\nare not part of this documentation cannot be called with an API key at all.\n\n| Scope | Grants |\n| --- | --- |\n| `jobs:read` | Read monitoring jobs |\n| `jobs:write` | Create, update and delete monitoring jobs |\n| `checks:read` | Read results of individual job checks |\n| `groups:read` | Read job groups |\n| `groups:write` | Create, update and delete job groups |\n| `job-settings:read` | Read reusable check settings |\n| `job-settings:write` | Create, update and delete reusable check settings |\n| `integrations:read` | Read notification integrations |\n| `integrations:write` | Create, update, delete and test notification integrations |\n| `exports:read` | Read data exports |\n| `exports:write` | Create data exports |\n| `imports:read` | Read bulk imports and their reports |\n| `imports:write` | Create bulk imports of jobs |\n| `stats:read` | Read aggregated statistics over jobs and checks |\n| `proxies:read` | Read proxy endpoints, pricing and overview |\n| `proxies:write` | Create, update and delete own proxy endpoints |\n| `scan:write` | Run an ad-hoc website scan |\n| `user:read` | Read basic account info (plan, points, e-mail) |\n\n## Rate limits\n\nEvery response carries the current state of your key's budget:\n\n| Header | Meaning |\n| --- | --- |\n| `X-RateLimit-Limit` | Requests allowed per minute |\n| `X-RateLimit-Remaining` | Requests left in the current minute |\n| `X-RateLimit-Reset` | When the current minute window resets (ISO 8601) |\n| `X-RateLimit-Limit-Day` | Requests allowed per day (UTC) |\n| `X-RateLimit-Remaining-Day` | Requests left today |\n\nGoing over a limit returns `429` with a `Retry-After` header telling you how many\nseconds to wait. A few endpoints are additionally capped on their own; those are\nnoted in their description.\n\n## Errors\n\nErrors are JSON objects with a `message` field.\n\n| Status | Meaning |\n| --- | --- |\n| `401` | Missing, revoked or expired key |\n| `403` | The key lacks the scope required by this endpoint |\n| `404` | The resource does not exist, or belongs to another account |\n| `422` | The request body failed validation |\n| `429` | Rate limit exceeded |"},"servers":[{"url":"/api/{version}","variables":{"version":{"enum":["v1","v2"],"default":"v2"}}}],"paths":{"/integrations":{"get":{"x-exegesis-controller":"integrations_ctrl","operationId":"getIntegrations","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Filter by id","in":"query","name":"id","required":false,"schema":{"type":"array","items":{"type":"number"}}},{"description":"Filter by query","in":"query","name":"query","required":false,"schema":{"type":"string"}}],"tags":["Integrations"],"security":[{"BearerAuth":["integrations:read"]}],"responses":{"200":{"description":"Integrations","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}}}}}}}},"description":"**Required scope:** `integrations:read`"},"post":{"x-exegesis-controller":"integrations_ctrl","operationId":"createIntegration","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["integrationTypeId"],"properties":{"integrationTypeId":{"type":"number"},"property1":{"type":"string","nullable":true},"name":{"type":"string"}}}}},"required":true},"tags":["Integrations"],"security":[{"BearerAuth":["integrations:write"]}],"responses":{"200":{"description":"Integration","content":{"application/json":{"schema":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}}}}},"description":"**Required scope:** `integrations:write`"}},"/integrations/{id}":{"patch":{"x-exegesis-controller":"integrations_ctrl","operationId":"patchIntegration","parameters":[{"description":"Integration Id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"integrationTypeId":{"type":"number"},"property1":{"type":"string","nullable":true},"name":{"type":"string"}}}}},"required":true},"tags":["Integrations"],"security":[{"BearerAuth":["integrations:write"]}],"responses":{"200":{"description":"Integrations group","content":{"application/json":{"schema":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}}}}},"description":"**Required scope:** `integrations:write`"},"delete":{"x-exegesis-controller":"integrations_ctrl","operationId":"deleteIntegration","parameters":[{"description":"Integration Id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Integrations"],"security":[{"BearerAuth":["integrations:write"]}],"responses":{"200":{"description":"Integrations","content":{"application/json":{"schema":{"type":"object"}}}}},"description":"**Required scope:** `integrations:write`"}},"/integrations/{id}/test":{"post":{"x-exegesis-controller":"integrations_ctrl","operationId":"testIntegration","requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{}}}},"required":false},"parameters":[{"description":"Integration Id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Integrations"],"security":[{"BearerAuth":["integrations:write"]}],"responses":{"200":{"description":"Test notification sent successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"message":{"type":"string"}}}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}},"500":{"description":"Failed to send test notification","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"error":{"type":"string"},"message":{"type":"string"}}}}}}},"description":"**Required scope:** `integrations:write`"}},"/integrations/types":{"get":{"x-exegesis-controller":"integrations_ctrl","operationId":"getIntegrationTypes","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Filter by isVisibleInList","in":"query","name":"isVisibleInList","required":false,"schema":{"type":"boolean"}}],"tags":["Integrations"],"security":[{"BearerAuth":["integrations:read"]},{}],"responses":{"200":{"description":"Integrations types","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}}}}}},"description":"**Required scope:** `integrations:read` (this endpoint also works unauthenticated, with a reduced response)"}},"/job/settings":{"get":{"x-exegesis-controller":"job_settings_ctrl","operationId":"getJobSettings","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Filter by internal property","in":"query","name":"internal","required":false,"schema":{"type":"boolean"}},{"description":"Filter by id","in":"query","name":"id","required":false,"schema":{"type":"array","items":{"type":"number"}}}],"tags":["Job Settings"],"security":[{"BearerAuth":["job-settings:read"]}],"responses":{"200":{"description":"Job Settings","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["id","userId","name","internal","color","createdAt","updatedAt","jobActions"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"internal":{"type":"boolean"},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"notifications":{"type":"array","items":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string","nullable":true},"frequency":{"type":"number","nullable":true},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number","nullable":true},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}}}}}}}},"description":"**Required scope:** `job-settings:read`"},"post":{"x-exegesis-controller":"job_settings_ctrl","operationId":"createJobSetting","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"internal":{"type":"boolean"},"notificationIds":{"type":"array","items":{"type":"number"}},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"frequency":{"type":"number"},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number"},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["type","config"],"properties":{"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"}}}}}}}},"required":true},"tags":["Job Settings"],"security":[{"BearerAuth":["job-settings:write"]}],"responses":{"200":{"description":"Job Settings","content":{"application/json":{"schema":{"type":"object","required":["id","userId","name","internal","color","createdAt","updatedAt","jobActions"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"internal":{"type":"boolean"},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"notifications":{"type":"array","items":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string","nullable":true},"frequency":{"type":"number","nullable":true},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number","nullable":true},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}}}},"400":{"description":"An action describes several steps at once","content":{"application/json":{"schema":{"type":"object","required":["message","code","jobAction"],"properties":{"message":{"type":"string"},"code":{"type":"string"},"jobAction":{"type":"object","required":["index","instruction","steps"],"properties":{"index":{"type":"number"},"instruction":{"type":"string"},"steps":{"type":"array","items":{"type":"string"}}}}}}}}}},"description":"**Required scope:** `job-settings:write`"}},"/job/settings/{id}":{"patch":{"x-exegesis-controller":"job_settings_ctrl","operationId":"patchJobSetting","parameters":[{"description":"Group id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"internal":{"type":"boolean"},"notificationIds":{"type":"array","items":{"type":"number"}},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"frequency":{"type":"number"},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number"},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["type","config"],"properties":{"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"}}}}}}}},"required":true},"tags":["Job Settings"],"security":[{"BearerAuth":["job-settings:write"]}],"responses":{"200":{"description":"Job settings","content":{"application/json":{"schema":{"type":"object","required":["id","userId","name","internal","color","createdAt","updatedAt","jobActions"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"internal":{"type":"boolean"},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"notifications":{"type":"array","items":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string","nullable":true},"frequency":{"type":"number","nullable":true},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number","nullable":true},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}}}},"400":{"description":"An action describes several steps at once","content":{"application/json":{"schema":{"type":"object","required":["message","code","jobAction"],"properties":{"message":{"type":"string"},"code":{"type":"string"},"jobAction":{"type":"object","required":["index","instruction","steps"],"properties":{"index":{"type":"number"},"instruction":{"type":"string"},"steps":{"type":"array","items":{"type":"string"}}}}}}}}}},"description":"**Required scope:** `job-settings:write`"},"delete":{"x-exegesis-controller":"job_settings_ctrl","operationId":"deleteJobSetting","parameters":[{"description":"Job setting id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Job Settings"],"security":[{"BearerAuth":["job-settings:write"]}],"responses":{"200":{"description":"Job Settings","content":{"application/json":{"schema":{"type":"object"}}}}},"description":"**Required scope:** `job-settings:write`"}},"/groups":{"get":{"x-exegesis-controller":"groups_ctrl","operationId":"getGroups","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Sort by (asc, desc)","in":"query","name":"sortBy","required":false,"examples":{"createdAt.desc":{"value":"createdAt.desc"},"createdAt.asc":{"value":"createdAt.asc"}},"schema":{"type":"string"}}],"tags":["Groups"],"security":[{"BearerAuth":["groups:read"]}],"responses":{"200":{"description":"Groups","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["id","userId","name","color","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"color":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}}}}},"description":"**Required scope:** `groups:read`"},"post":{"x-exegesis-controller":"groups_ctrl","operationId":"createGroup","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","color"],"properties":{"name":{"type":"string"},"color":{"type":"string"}}}}},"required":true},"tags":["Groups"],"security":[{"BearerAuth":["groups:write"]}],"responses":{"200":{"description":"Group","content":{"application/json":{"schema":{"type":"object","required":["id","userId","name","color","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"color":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}},"description":"**Required scope:** `groups:write`"}},"/groups/{id}":{"patch":{"x-exegesis-controller":"groups_ctrl","operationId":"patchGroup","parameters":[{"description":"Group id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"color":{"type":"string"}}}}},"required":true},"tags":["Groups"],"security":[{"BearerAuth":["groups:write"]}],"responses":{"200":{"description":"Group","content":{"application/json":{"schema":{"type":"object","required":["id","userId","name","color","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"color":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}},"description":"**Required scope:** `groups:write`"},"delete":{"x-exegesis-controller":"groups_ctrl","operationId":"deleteGroup","parameters":[{"description":"Group id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Groups"],"security":[{"BearerAuth":["groups:write"]}],"responses":{"200":{"description":"Delete result","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}}}}}},"description":"**Required scope:** `groups:write`"}},"/jobs":{"get":{"x-exegesis-controller":"jobs_ctrl","operationId":"getJobs","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Filter by job ID(s).","in":"query","name":"id","required":false,"schema":{"type":"array","items":{"type":"number"}}},{"description":"Filter by job name","in":"query","name":"name","required":false,"schema":{"type":"string"}},{"description":"Filter by query(name or url like)","in":"query","name":"query","required":false,"schema":{"type":"string"}},{"description":"Filter by has new changes","in":"query","name":"hasNewChanges","required":false,"schema":{"type":"boolean"}},{"description":"Filter by active status","in":"query","name":"active","required":false,"schema":{"type":"boolean"}},{"description":"Filter by whether job has a proxy endpoint configured","in":"query","name":"hasProxy","required":false,"schema":{"type":"boolean"}},{"description":"Filter by group ID(s).","in":"query","name":"groupId","required":false,"schema":{"type":"array","items":{"type":"number"}}},{"description":"Sort by (asc, desc)","in":"query","name":"sortBy","required":false,"examples":{"createdAt.desc":{"value":"createdAt.desc"},"active.desc":{"value":"active.desc"},"nextCheck.desc":{"value":"nextCheck.desc"},"sendToEmail.desc":{"value":"sendToEmail.desc"}},"schema":{"type":"string"}}],"tags":["Jobs"],"security":[{"BearerAuth":["jobs:read"]}],"responses":{"200":{"description":"Jobs","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["id","name","url","createdAt","updatedAt","nextCheck","active","hasNewChanges","groups","lastCheckCreatedAt","lastCheckChangeCode","lastCheckScanError","sendNotifications"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"url":{"type":"string"},"createdAt":{"type":"string"},"localCreatedAt":{"type":"string"},"updatedAt":{"type":"string"},"localUpdatedAt":{"type":"string"},"nextCheck":{"type":"string","nullable":true},"localNextCheck":{"type":"string","nullable":true},"active":{"type":"boolean"},"hasNewChanges":{"type":"boolean"},"groups":{"type":"array","items":{"type":"object","required":["id","userId","name","color","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"color":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}},"lastCheckCreatedAt":{"type":"string","nullable":true},"localLastCheckCreatedAt":{"type":"string","nullable":true},"lastCheckChangeCode":{"type":"number","nullable":true},"lastCheckScanError":{"type":"number","nullable":true},"sendNotifications":{"type":"boolean"},"jobSettings":{"type":"array","items":{"type":"object","required":["id","userId","name","internal","color","createdAt","updatedAt","jobActions"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"internal":{"type":"boolean"},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"notifications":{"type":"array","items":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string","nullable":true},"frequency":{"type":"number","nullable":true},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number","nullable":true},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}}}}}}}}}}},"description":"**Required scope:** `jobs:read`"},"post":{"x-exegesis-controller":"jobs_ctrl","operationId":"createJob","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["url","name","areaType","active","areaTypes"],"properties":{"userUniqId":{"type":"string","nullable":true},"url":{"type":"string"},"firstCheck":{"type":"string","nullable":true},"name":{"type":"string"},"areaType":{"type":"string"},"active":{"type":"boolean"},"areaTypes":{"type":"object","properties":{"crop":{"type":"object","required":["positionX","positionY","width","height"],"properties":{"positionX":{"type":"number"},"positionY":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"}}},"element":{"type":"object","required":["xpaths"],"properties":{"xpaths":{"type":"array","items":{"type":"string"}},"checkType":{"type":"number"}}},"ai":{"type":"object","required":["prompt","modelType"],"properties":{"prompt":{"type":"string"},"modelType":{"type":"string"}}}}},"groupsIds":{"type":"array","items":{"type":"number"}},"jobSettingsIds":{"type":"array","items":{"type":"number"}},"jobSetting":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"internal":{"type":"boolean"},"notificationIds":{"type":"array","items":{"type":"number"}},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"frequency":{"type":"number"},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number"},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["type","config"],"properties":{"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"}}}}}},"pageFunction":{"type":"string","nullable":true},"proxy":{"type":"string","nullable":true},"cookies":{"type":"string","nullable":true},"removeXpaths":{"type":"array","items":{"type":"string"}}}}}},"required":true},"tags":["Jobs"],"security":[{"BearerAuth":["jobs:write"]}],"responses":{"200":{"description":"Job","content":{"application/json":{"schema":{"type":"object","required":["id","name","url","nextCheck","active","hasNewChanges","jobSettings","groups","areaType","areaTypes","jobActions"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"url":{"type":"string"},"nextCheck":{"type":"string","nullable":true},"active":{"type":"boolean"},"hasNewChanges":{"type":"boolean"},"jobSettings":{"type":"array","items":{"type":"object","required":["id","userId","name","internal","color","createdAt","updatedAt","jobActions"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"internal":{"type":"boolean"},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"notifications":{"type":"array","items":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string","nullable":true},"frequency":{"type":"number","nullable":true},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number","nullable":true},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}},"groups":{"type":"array","items":{"type":"object","required":["id","userId","name","color","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"color":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}},"areaType":{"type":"string"},"areaTypes":{"type":"object","properties":{"crop":{"type":"object","required":["positionX","positionY","width","height"],"properties":{"positionX":{"type":"number"},"positionY":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"}}},"element":{"type":"object","required":["xpaths"],"properties":{"xpaths":{"type":"array","items":{"type":"string"}},"checkType":{"type":"number"},"healed":{"type":"object","required":["at","strategy","score","originalXpath","count"],"properties":{"at":{"type":"string"},"strategy":{"type":"string"},"score":{"type":"number","nullable":true},"originalXpath":{"type":"string","nullable":true},"count":{"type":"number"}}}}},"ai":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string"}}}}},"pageFunction":{"type":"string","nullable":true},"proxy":{"type":"string","nullable":true},"cookies":{"type":"string","nullable":true},"removeXpaths":{"type":"array","items":{"type":"string"}},"sendNotifications":{"type":"boolean"},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}}}}},"description":"**Required scope:** `jobs:write`"}},"/jobs/{id}":{"get":{"x-exegesis-controller":"jobs_ctrl","operationId":"getJob","parameters":[{"description":"Job id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Jobs"],"security":[{"BearerAuth":["jobs:read"]}],"responses":{"200":{"description":"Job","content":{"application/json":{"schema":{"type":"object","required":["id","name","url","nextCheck","active","hasNewChanges","jobSettings","groups","areaType","areaTypes","jobActions"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"url":{"type":"string"},"nextCheck":{"type":"string","nullable":true},"active":{"type":"boolean"},"hasNewChanges":{"type":"boolean"},"jobSettings":{"type":"array","items":{"type":"object","required":["id","userId","name","internal","color","createdAt","updatedAt","jobActions"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"internal":{"type":"boolean"},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"notifications":{"type":"array","items":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string","nullable":true},"frequency":{"type":"number","nullable":true},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number","nullable":true},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}},"groups":{"type":"array","items":{"type":"object","required":["id","userId","name","color","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"color":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}},"areaType":{"type":"string"},"areaTypes":{"type":"object","properties":{"crop":{"type":"object","required":["positionX","positionY","width","height"],"properties":{"positionX":{"type":"number"},"positionY":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"}}},"element":{"type":"object","required":["xpaths"],"properties":{"xpaths":{"type":"array","items":{"type":"string"}},"checkType":{"type":"number"},"healed":{"type":"object","required":["at","strategy","score","originalXpath","count"],"properties":{"at":{"type":"string"},"strategy":{"type":"string"},"score":{"type":"number","nullable":true},"originalXpath":{"type":"string","nullable":true},"count":{"type":"number"}}}}},"ai":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string"}}}}},"pageFunction":{"type":"string","nullable":true},"proxy":{"type":"string","nullable":true},"cookies":{"type":"string","nullable":true},"removeXpaths":{"type":"array","items":{"type":"string"}},"sendNotifications":{"type":"boolean"},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}}}}},"description":"**Required scope:** `jobs:read`"},"patch":{"x-exegesis-controller":"jobs_ctrl","operationId":"patchJob","parameters":[{"description":"Job id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"userUniqId":{"type":"string","nullable":true},"url":{"type":"string"},"intervalType":{"type":"string"},"firstCheck":{"type":"string","nullable":true},"name":{"type":"string"},"areaType":{"type":"string"},"active":{"type":"boolean"},"areaTypes":{"type":"object","properties":{"crop":{"type":"object","required":["positionX","positionY","width","height"],"properties":{"positionX":{"type":"number"},"positionY":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"}}},"element":{"type":"object","required":["xpaths"],"properties":{"xpaths":{"type":"array","items":{"type":"string"}},"checkType":{"type":"number"}}},"ai":{"type":"object","required":["prompt","modelType"],"properties":{"prompt":{"type":"string"},"modelType":{"type":"string"}}}}},"groupsIds":{"type":"array","items":{"type":"number"}},"jobSettingsIds":{"type":"array","items":{"type":"number"}},"jobSetting":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"internal":{"type":"boolean"},"notificationIds":{"type":"array","items":{"type":"number"}},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"frequency":{"type":"number"},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number"},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["type","config"],"properties":{"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"}}}}}},"pageFunction":{"type":"string","nullable":true},"proxy":{"type":"string","nullable":true},"cookies":{"type":"string","nullable":true},"removeXpaths":{"type":"array","items":{"type":"string"}},"sendNotifications":{"type":"boolean"}}}}},"required":true},"tags":["Jobs"],"security":[{"BearerAuth":["jobs:write"]}],"responses":{"200":{"description":"Job","content":{"application/json":{"schema":{"type":"object","required":["id","name","url","nextCheck","active","hasNewChanges","jobSettings","groups","areaType","areaTypes","jobActions"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"url":{"type":"string"},"nextCheck":{"type":"string","nullable":true},"active":{"type":"boolean"},"hasNewChanges":{"type":"boolean"},"jobSettings":{"type":"array","items":{"type":"object","required":["id","userId","name","internal","color","createdAt","updatedAt","jobActions"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"internal":{"type":"boolean"},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"notifications":{"type":"array","items":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string","nullable":true},"frequency":{"type":"number","nullable":true},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number","nullable":true},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}},"groups":{"type":"array","items":{"type":"object","required":["id","userId","name","color","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"color":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}},"areaType":{"type":"string"},"areaTypes":{"type":"object","properties":{"crop":{"type":"object","required":["positionX","positionY","width","height"],"properties":{"positionX":{"type":"number"},"positionY":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"}}},"element":{"type":"object","required":["xpaths"],"properties":{"xpaths":{"type":"array","items":{"type":"string"}},"checkType":{"type":"number"},"healed":{"type":"object","required":["at","strategy","score","originalXpath","count"],"properties":{"at":{"type":"string"},"strategy":{"type":"string"},"score":{"type":"number","nullable":true},"originalXpath":{"type":"string","nullable":true},"count":{"type":"number"}}}}},"ai":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string"}}}}},"pageFunction":{"type":"string","nullable":true},"proxy":{"type":"string","nullable":true},"cookies":{"type":"string","nullable":true},"removeXpaths":{"type":"array","items":{"type":"string"}},"sendNotifications":{"type":"boolean"},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}}}}},"description":"**Required scope:** `jobs:write`"},"delete":{"x-exegesis-controller":"jobs_ctrl","operationId":"deleteJob","parameters":[{"description":"Job id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Jobs"],"security":[{"BearerAuth":["jobs:write"]}],"responses":{"200":{"description":"Job","content":{"application/json":{"schema":{"type":"object"}}}}},"description":"**Required scope:** `jobs:write`"}},"/jobs/{id}/revert-element-heal":{"post":{"x-exegesis-controller":"jobs_ctrl","operationId":"revertJobElementHeal","description":"Restore the element the user originally picked, discarding an automatic re-location the engine performed after the stored XPath stopped matching.\n\n\n**Required scope:** `jobs:write`","parameters":[{"description":"Job id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Jobs"],"security":[{"BearerAuth":["jobs:write"]}],"responses":{"200":{"description":"Job","content":{"application/json":{"schema":{"type":"object","required":["id","name","url","nextCheck","active","hasNewChanges","jobSettings","groups","areaType","areaTypes","jobActions"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"url":{"type":"string"},"nextCheck":{"type":"string","nullable":true},"active":{"type":"boolean"},"hasNewChanges":{"type":"boolean"},"jobSettings":{"type":"array","items":{"type":"object","required":["id","userId","name","internal","color","createdAt","updatedAt","jobActions"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"internal":{"type":"boolean"},"color":{"type":"string"},"proxyEndpointId":{"type":"number","nullable":true},"proxyUserEndpointId":{"type":"number","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"notifications":{"type":"array","items":{"type":"object","required":["id","userId","integrationTypeId","name","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"integrationTypeId":{"type":"number"},"name":{"type":"string"},"property1":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"integrationType":{"type":"object","required":["id","name","config","description","iconPath"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"config":{"type":"object"},"description":{"type":"string"},"iconPath":{"type":"string"}}}}}},"checkSchedule":{"type":"object","required":["type"],"properties":{"type":{"type":"string","nullable":true},"frequency":{"type":"number","nullable":true},"weekSchedule":{"type":"object","required":["frequency","checkTimes"],"properties":{"frequency":{"type":"number","nullable":true},"checkTimes":{"type":"array","items":{"type":"object","properties":{"day":{"type":"number"},"hour":{"type":"number"},"localDay":{"type":"number"},"localHour":{"type":"number"}}}}}}}},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}},"groups":{"type":"array","items":{"type":"object","required":["id","userId","name","color","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"color":{"type":"string"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}},"areaType":{"type":"string"},"areaTypes":{"type":"object","properties":{"crop":{"type":"object","required":["positionX","positionY","width","height"],"properties":{"positionX":{"type":"number"},"positionY":{"type":"number"},"width":{"type":"number"},"height":{"type":"number"}}},"element":{"type":"object","required":["xpaths"],"properties":{"xpaths":{"type":"array","items":{"type":"string"}},"checkType":{"type":"number"},"healed":{"type":"object","required":["at","strategy","score","originalXpath","count"],"properties":{"at":{"type":"string"},"strategy":{"type":"string"},"score":{"type":"number","nullable":true},"originalXpath":{"type":"string","nullable":true},"count":{"type":"number"}}}}},"ai":{"type":"object","required":["prompt"],"properties":{"prompt":{"type":"string"}}}}},"pageFunction":{"type":"string","nullable":true},"proxy":{"type":"string","nullable":true},"cookies":{"type":"string","nullable":true},"removeXpaths":{"type":"array","items":{"type":"string"}},"sendNotifications":{"type":"boolean"},"jobActions":{"type":"array","items":{"type":"object","required":["id","type","position","config","continueOnError","timeoutMs","active"],"properties":{"id":{"type":"number"},"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"},"active":{"type":"boolean"}}}}}}}}}}}},"/jobs/{id}/set-seen":{"post":{"x-exegesis-controller":"jobs_ctrl","operationId":"setSeenJob","parameters":[{"description":"Job id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Jobs"],"security":[{"BearerAuth":["jobs:write"]}],"responses":{"200":{"description":"Set seen result","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}}}}}},"description":"**Required scope:** `jobs:write`"}},"/job-action-types":{"get":{"x-exegesis-controller":"job_actions_ctrl","operationId":"getJobActionTypes","tags":["Job actions"],"security":[{"BearerAuth":["jobs:read"]},{}],"responses":{"200":{"description":"Available job action types","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["type","label","description","usesAi","defaultTimeoutMs","operations","operationsRequiringValue"],"properties":{"type":{"type":"string"},"label":{"type":"string"},"description":{"type":"string"},"usesAi":{"type":"boolean"},"defaultTimeoutMs":{"type":"number"},"operations":{"type":"array","items":{"type":"string"}},"operationsRequiringValue":{"type":"array","items":{"type":"string"}}}}}}}}}}},"description":"**Required scope:** `jobs:read` (this endpoint also works unauthenticated, with a reduced response)"}},"/exports":{"get":{"x-exegesis-controller":"exports_ctrl","operationId":"getExports","x-rate-limit":{"windowMs":60000,"maxRequests":5,"message":"Too many export requests. Maximum 5 requests per minute."},"parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Sort by (asc, desc)","in":"query","name":"sortBy","required":false,"examples":{"createdAt.desc":{"value":"createdAt.desc"}},"schema":{"type":"string"}}],"tags":["Exports"],"security":[{"BearerAuth":["exports:read"]}],"responses":{"200":{"description":"Exports","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["id","userId","type","triggerType","dateFrom","dateTo","status","fileName","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"type":{"type":"string"},"triggerType":{"type":"string"},"dateFrom":{"type":"string","nullable":true},"dateTo":{"type":"string","nullable":true},"status":{"type":"number"},"fileName":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}}}}},"description":"**Required scope:** `exports:read`"},"post":{"x-exegesis-controller":"exports_ctrl","operationId":"createExport","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["exportTypeId","format","dateFrom","dateTo"],"properties":{"exportTypeId":{"type":"number"},"format":{"type":"string"},"dateFrom":{"type":"string","format":"date-time"},"dateTo":{"type":"string","format":"date-time"}}}}},"required":true},"tags":["Exports"],"security":[{"BearerAuth":["exports:write"]}],"responses":{"200":{"description":"Export","content":{"application/json":{"schema":{"type":"object","required":["id","userId","type","triggerType","dateFrom","dateTo","status","fileName","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"type":{"type":"string"},"triggerType":{"type":"string"},"dateFrom":{"type":"string","nullable":true},"dateTo":{"type":"string","nullable":true},"status":{"type":"number"},"fileName":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}},"description":"**Required scope:** `exports:write`"}},"/exports/types":{"get":{"x-exegesis-controller":"exports_ctrl","operationId":"getExportTypes","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Sort by (asc, desc)","in":"query","name":"sortBy","required":false,"examples":{"createdAt.desc":{"value":"createdAt.desc"}},"schema":{"type":"string"}}],"tags":["Exports"],"security":[{"BearerAuth":["exports:read"]}],"responses":{"200":{"description":"Export types","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["id","uniqId","name","config","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"uniqId":{"type":"string"},"name":{"type":"string"},"config":{"type":"object"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}}}}},"description":"**Required scope:** `exports:read`"}},"/imports":{"get":{"x-exegesis-controller":"imports_ctrl","operationId":"getImports","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Sort by (asc, desc)","in":"query","name":"sortBy","required":false,"examples":{"createdAt.desc":{"value":"createdAt.desc"}},"schema":{"type":"string"}}],"tags":["Imports"],"security":[{"BearerAuth":["imports:read"]}],"responses":{"200":{"description":"Imports","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["id","userId","status","processedCount","validCount","errorCount","fileName","reportFileName","createdAt","updatedAt","processingEndedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"status":{"type":"number"},"processedCount":{"type":"number"},"validCount":{"type":"number"},"errorCount":{"type":"number"},"fileName":{"type":"string","nullable":true},"reportFileName":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"processingEndedAt":{"type":"string","nullable":true},"errorLogs":{"type":"array","items":{"type":"object","required":["id","importId","type","message","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"importId":{"type":"number"},"type":{"type":"number"},"message":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}}}}}}}},"description":"**Required scope:** `imports:read`"},"post":{"x-exegesis-controller":"imports_ctrl","operationId":"createImport","tags":["Imports"],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["file"],"properties":{"file":{"type":"string"},"deleteMissingJobs":{"type":"boolean"}}}}},"required":true},"security":[{"BearerAuth":["imports:write"]}],"responses":{"200":{"description":"Import","content":{"application/json":{"schema":{"type":"object","required":["id","userId","status","processedCount","validCount","errorCount","fileName","reportFileName","createdAt","updatedAt","processingEndedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"status":{"type":"number"},"processedCount":{"type":"number"},"validCount":{"type":"number"},"errorCount":{"type":"number"},"fileName":{"type":"string","nullable":true},"reportFileName":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"},"processingEndedAt":{"type":"string","nullable":true},"errorLogs":{"type":"array","items":{"type":"object","required":["id","importId","type","message","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"importId":{"type":"number"},"type":{"type":"number"},"message":{"type":"string","nullable":true},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}}}}},"description":"**Required scope:** `imports:write`"}},"/imports/{id}/report/file":{"get":{"x-exegesis-controller":"imports_ctrl","operationId":"reportFile","parameters":[{"description":"Import id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Imports"],"security":[{"BearerAuth":["imports:read"]}],"responses":{"200":{"description":"Report File download","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}},"description":"**Required scope:** `imports:read`"}},"/proxies/overview":{"get":{"x-exegesis-controller":"proxies_ctrl","operationId":"getProxiesOverview","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Sort by (asc, desc)","in":"query","name":"sortBy","required":false,"examples":{"createdAt.desc":{"value":"createdAt.desc"}},"schema":{"type":"string"}}],"tags":["Proxies"],"security":[{"BearerAuth":["proxies:read"]}],"responses":{"200":{"description":"Proxies overview","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["user","status","reserved_bytes","used_bytes","period_seconds","period_started_at"],"properties":{"user":{"type":"string"},"status":{"type":"number"},"reserved_bytes":{"type":"number"},"used_bytes":{"type":"number"},"period_seconds":{"type":"number"},"period_started_at":{"type":"string","nullable":true}}}}}}}}}},"description":"**Required scope:** `proxies:read`"}},"/proxies/pricing":{"get":{"x-exegesis-controller":"proxies_ctrl","operationId":"getProxyPricing","tags":["Proxies"],"security":[{"BearerAuth":["proxies:read"]}],"responses":{"200":{"description":"Proxy pricing information","content":{"application/json":{"schema":{"type":"object","properties":{"pricePerGb":{"type":"number"}}}}}}},"description":"**Required scope:** `proxies:read`"}},"/proxies/endpoints":{"get":{"x-exegesis-controller":"proxies_ctrl","operationId":"getProxyEndpoints","tags":["Proxies"],"security":[{"BearerAuth":["proxies:read"]}],"responses":{"200":{"description":"List of available proxy endpoints for the user","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","name","isActive","country","provider","createdAt"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"isActive":{"type":"boolean"},"country":{"type":"object","required":["id","name","iconFilename"],"properties":{"id":{"type":"number"},"name":{"type":"string"},"iconFilename":{"type":"string"}}},"provider":{"type":"object","required":["id","name"],"properties":{"id":{"type":"number"},"name":{"type":"string"}}},"createdAt":{"type":"string"}}}}}}}}}},"description":"**Required scope:** `proxies:read`"}},"/proxies/user-endpoints":{"get":{"x-exegesis-controller":"proxies_ctrl","operationId":"getProxyUserEndpoints","tags":["Proxies"],"security":[{"BearerAuth":["proxies:read"]}],"responses":{"200":{"description":"List of user-owned proxy endpoints","content":{"application/json":{"schema":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","userId","name","endpoint","jobSettingsCount","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"endpoint":{"type":"string"},"jobSettingsCount":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}}}}},"description":"**Required scope:** `proxies:read`"},"post":{"x-exegesis-controller":"proxies_ctrl","operationId":"createProxyUserEndpoint","requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["name","endpoint"],"properties":{"name":{"type":"string"},"endpoint":{"type":"string"}}}}},"required":true},"tags":["Proxies"],"security":[{"BearerAuth":["proxies:write"]}],"responses":{"200":{"description":"Created proxy user endpoint","content":{"application/json":{"schema":{"type":"object","required":["id","userId","name","endpoint","jobSettingsCount","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"endpoint":{"type":"string"},"jobSettingsCount":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}},"description":"**Required scope:** `proxies:write`"}},"/proxies/user-endpoints/{id}":{"patch":{"x-exegesis-controller":"proxies_ctrl","operationId":"patchProxyUserEndpoint","parameters":[{"description":"Proxy user endpoint id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"endpoint":{"type":"string"}}}}},"required":true},"tags":["Proxies"],"security":[{"BearerAuth":["proxies:write"]}],"responses":{"200":{"description":"Updated proxy user endpoint","content":{"application/json":{"schema":{"type":"object","required":["id","userId","name","endpoint","jobSettingsCount","createdAt","updatedAt"],"properties":{"id":{"type":"number"},"userId":{"type":"number"},"name":{"type":"string"},"endpoint":{"type":"string"},"jobSettingsCount":{"type":"number"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}}}}}}},"description":"**Required scope:** `proxies:write`"},"delete":{"x-exegesis-controller":"proxies_ctrl","operationId":"deleteProxyUserEndpoint","parameters":[{"description":"Proxy user endpoint id","in":"path","name":"id","required":true,"schema":{"type":"number"}}],"tags":["Proxies"],"security":[{"BearerAuth":["proxies:write"]}],"responses":{"200":{"description":"Delete result","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"}}}}}}},"description":"**Required scope:** `proxies:write`"}},"/user/info":{"get":{"x-exegesis-controller":"user_ctrl","operationId":"getUserInfo","tags":["User"],"security":[{"BearerAuth":["user:read"]}],"responses":{"200":{"description":"Return user info","content":{"application/json":{"schema":{"type":"object","required":["name","activeJobsCount","changesTodayCount","jobsCount","points","freeTrialEndsAt","currentPlan"],"properties":{"name":{"type":"string"},"activeJobsCount":{"type":"number"},"changesTodayCount":{"type":"number"},"jobsCount":{"type":"number"},"points":{"type":"number"},"freeTrialEndsAt":{"type":"string","nullable":true},"currentPlan":{"type":"object","required":["id","name","shortName","pointsPerMonth","fee","type","intervalType","endsAt","providerType"],"properties":{"id":{"type":"string","nullable":true},"name":{"type":"string"},"shortName":{"type":"string"},"pointsPerMonth":{"type":"number"},"fee":{"type":"number"},"type":{"type":"string"},"intervalType":{"type":"string"},"endsAt":{"type":"string","nullable":true},"providerType":{"type":"string"}}}}}}}}},"description":"**Required scope:** `user:read`"}},"/stats/overview":{"get":{"x-exegesis-controller":"stats_ctrl","operationId":"getStatsOverview","parameters":[{"description":"Filter data from this date (YYYY-MM-DD format)","in":"query","name":"dateFrom","required":false,"schema":{"type":"string","format":"date"}},{"description":"Filter data until this date (YYYY-MM-DD format)","in":"query","name":"dateTo","required":false,"schema":{"type":"string","format":"date"}}],"tags":["Stats"],"security":[{"BearerAuth":["stats:read"]}],"responses":{"200":{"description":"Overview statistics for the user","content":{"application/json":{"schema":{"type":"object","required":["summary","filtered"],"properties":{"summary":{"type":"object","required":["totalJobs","activeJobs","inactiveJobs","jobsWithNewChanges"],"properties":{"totalJobs":{"type":"number"},"activeJobs":{"type":"number"},"inactiveJobs":{"type":"number"},"jobsWithNewChanges":{"type":"number"}}},"filtered":{"type":"object","required":["dateFrom","dateTo","totalChecks","totalChanges","totalErrors"],"properties":{"dateFrom":{"type":"string","nullable":true},"dateTo":{"type":"string","nullable":true},"totalChecks":{"type":"number"},"totalChanges":{"type":"number"},"totalErrors":{"type":"number"}}}}}}}}},"description":"**Required scope:** `stats:read`"}},"/stats/jobs":{"get":{"x-exegesis-controller":"stats_ctrl","operationId":"getStatsJobs","parameters":[{"description":"Filter jobs created from this date (YYYY-MM-DD format)","in":"query","name":"dateFrom","required":false,"schema":{"type":"string","format":"date"}},{"description":"Filter jobs created until this date (YYYY-MM-DD format)","in":"query","name":"dateTo","required":false,"schema":{"type":"string","format":"date"}}],"tags":["Stats"],"security":[{"BearerAuth":["stats:read"]}],"responses":{"200":{"description":"Job statistics for the user","content":{"application/json":{"schema":{"type":"object","required":["summary","filtered"],"properties":{"summary":{"type":"object","required":["totalJobs","activeJobs","inactiveJobs","jobsWithNotifications","jobsWithoutNotifications","jobsByIntervalType"],"properties":{"totalJobs":{"type":"number"},"activeJobs":{"type":"number"},"inactiveJobs":{"type":"number"},"jobsWithNotifications":{"type":"number"},"jobsWithoutNotifications":{"type":"number"},"jobsByIntervalType":{"type":"object","required":["frequency","customWeekSchedule"],"properties":{"frequency":{"type":"number"},"customWeekSchedule":{"type":"number"}}}}},"filtered":{"type":"object","required":["dateFrom","dateTo","jobsCreated"],"properties":{"dateFrom":{"type":"string","nullable":true},"dateTo":{"type":"string","nullable":true},"jobsCreated":{"type":"number"}}}}}}}}},"description":"**Required scope:** `stats:read`"}},"/stats/checks":{"get":{"x-exegesis-controller":"stats_ctrl","operationId":"getStatsChecks","parameters":[{"description":"Filter checks from this date (YYYY-MM-DD format)","in":"query","name":"dateFrom","required":false,"schema":{"type":"string","format":"date"}},{"description":"Filter checks until this date (YYYY-MM-DD format)","in":"query","name":"dateTo","required":false,"schema":{"type":"string","format":"date"}},{"description":"Group trend data by period (day, week, month). Default is day.","in":"query","name":"groupBy","required":false,"schema":{"type":"string","enum":["day","week","month"],"default":"day"}}],"tags":["Stats"],"security":[{"BearerAuth":["stats:read"]}],"responses":{"200":{"description":"Check statistics for the user","content":{"application/json":{"schema":{"type":"object","required":["summary","filtered"],"properties":{"summary":{"type":"object","required":["totalChecks","totalChanges","totalErrors"],"properties":{"totalChecks":{"type":"number"},"totalChanges":{"type":"number"},"totalErrors":{"type":"number"}}},"filtered":{"type":"object","required":["dateFrom","dateTo","groupBy","totalChecks","totalChanges","totalErrors","checksWithNotificationsSent","changeRate","errorRate","trend"],"properties":{"dateFrom":{"type":"string","nullable":true},"dateTo":{"type":"string","nullable":true},"groupBy":{"type":"string"},"totalChecks":{"type":"number"},"totalChanges":{"type":"number"},"totalErrors":{"type":"number"},"checksWithNotificationsSent":{"type":"number"},"changeRate":{"type":"number"},"errorRate":{"type":"number"},"trend":{"type":"array","items":{"type":"object","required":["date","checks","changes","errors"],"properties":{"date":{"type":"string"},"checks":{"type":"number"},"changes":{"type":"number"},"errors":{"type":"number"}}}}}}}}}}}},"description":"**Required scope:** `stats:read`"}},"/stats/checks-by-jobs":{"get":{"x-exegesis-controller":"stats_ctrl","operationId":"getStatsChecksByJobs","parameters":[{"description":"Filter checks from this date (YYYY-MM-DD format)","in":"query","name":"dateFrom","required":false,"schema":{"type":"string","format":"date"}},{"description":"Filter checks until this date (YYYY-MM-DD format)","in":"query","name":"dateTo","required":false,"schema":{"type":"string","format":"date"}},{"description":"Sort by field (totalChecks, changes, noChanges, issues). Default is totalChecks.","in":"query","name":"sortBy","required":false,"schema":{"type":"string","enum":["totalChecks","changes","noChanges","issues"],"default":"totalChecks"}},{"description":"Sort order for jobs (asc or desc). Default is desc.","in":"query","name":"sortOrder","required":false,"schema":{"type":"string","enum":["asc","desc"],"default":"desc"}},{"description":"Maximum number of jobs to return. Default is 100.","in":"query","name":"limit","required":false,"schema":{"type":"integer","minimum":1,"maximum":1000,"default":100}}],"tags":["Stats"],"security":[{"BearerAuth":["stats:read"]}],"responses":{"200":{"description":"Check counts per job for the user","content":{"application/json":{"schema":{"type":"object","required":["dateFrom","dateTo","totalJobs","totalChecks","jobs"],"properties":{"dateFrom":{"type":"string","nullable":true},"dateTo":{"type":"string","nullable":true},"totalJobs":{"type":"number"},"totalChecks":{"type":"number"},"jobs":{"type":"array","items":{"type":"object","required":["jobId","jobName","jobUrl","active","totalChecks","checksWithChanges","checksWithoutChanges","checksWithElementNotFound","checksWithErrors","checksWithIssues","changeRate","noChangeRate","elementNotFoundRate","errorRate","issueRate"],"properties":{"jobId":{"type":"number"},"jobName":{"type":"string"},"jobUrl":{"type":"string"},"active":{"type":"boolean"},"totalChecks":{"type":"number"},"checksWithChanges":{"type":"number"},"checksWithoutChanges":{"type":"number"},"checksWithElementNotFound":{"type":"number"},"checksWithErrors":{"type":"number"},"checksWithIssues":{"type":"number"},"changeRate":{"type":"number"},"noChangeRate":{"type":"number"},"elementNotFoundRate":{"type":"number"},"errorRate":{"type":"number"},"issueRate":{"type":"number"}}}}}}}}}},"description":"**Required scope:** `stats:read`"}},"/checks":{"get":{"x-exegesis-controller":"checks_ctrl","operationId":"getChecks","parameters":[{"in":"query","name":"limit","required":false,"schema":{"default":10,"type":"number"}},{"in":"query","name":"offset","required":false,"schema":{"default":0,"type":"number"}},{"description":"Filter by job IDs","in":"query","name":"jobIds","required":false,"schema":{"type":"array","items":{"type":"number"}}},{"description":"Filter by change code (0 = no change, 1 = change)","in":"query","name":"changeCode","required":false,"schema":{"type":"number"}},{"description":"Include check data (images)","in":"query","name":"withData","required":false,"schema":{"type":"boolean"}},{"description":"Mark checks as seen","in":"query","name":"setSeen","required":false,"schema":{"type":"boolean"}},{"description":"Sort by (asc, desc)","in":"query","name":"sortBy","required":false,"examples":{"createdAt.desc":{"value":"createdAt.desc"}},"schema":{"type":"string"}}],"tags":["Checks"],"security":[{"BearerAuth":["checks:read"]}],"responses":{"200":{"description":"Checks","content":{"application/json":{"schema":{"type":"object","required":["meta","data"],"properties":{"meta":{"type":"object","required":["limit","offset","total"],"properties":{"limit":{"type":"number"},"offset":{"type":"number"},"total":{"type":"number"}}},"data":{"type":"array","items":{"type":"object","required":["id","jobId","createdAt","changeCode","scanError","scanErrorMessage","data"],"properties":{"id":{"type":"number"},"jobId":{"type":"number","nullable":true},"createdAt":{"type":"string"},"localCreatedAt":{"type":"string"},"changeCode":{"type":"number"},"scanError":{"type":"number"},"scanErrorMessage":{"type":"string","nullable":true},"data":{"type":"array","items":{"type":"object","required":["id","imgPath","previousImgPath"],"properties":{"id":{"type":"number"},"imgPath":{"type":"string","nullable":true},"previousImgPath":{"type":"string","nullable":true}}}}}}}}}}}}},"description":"**Required scope:** `checks:read`"}},"/scan/website":{"post":{"x-exegesis-controller":"scan_ctrl","operationId":"scanWebsite","tags":["Scan"],"security":[{"BearerAuth":["scan:write"]},{}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"jobActions":{"type":"array","items":{"type":"object","required":["type","config"],"properties":{"type":{"type":"string"},"position":{"type":"number"},"config":{"type":"object","properties":{"instruction":{"type":"string"},"operation":{"type":"string"},"value":{"type":"string"},"waitAfterMs":{"type":"number"},"ms":{"type":"number"}}},"continueOnError":{"type":"boolean"},"timeoutMs":{"type":"number"}}}},"removeXpaths":{"type":"array","items":{"type":"string"}},"forceXpaths":{"type":"array","items":{"type":"string"}},"pageFunction":{"type":"string"},"proxy":{"type":"string"},"proxyEndpointId":{"type":"number"},"proxyUserEndpointId":{"type":"number"}}}}}},"responses":{"200":{"description":"Scan initiated successfully","content":{"application/json":{"schema":{"type":"object","required":["status","img","site","wsRoom"],"properties":{"status":{"type":"string"},"img":{"type":"string"},"site":{"type":"string"},"wsRoom":{"type":"string"}}}}}},"500":{"description":"Failed to load page","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string"},"message":{"type":"string"}}}}}}},"description":"**Required scope:** `scan:write` (this endpoint also works unauthenticated, with a reduced response)"}}},"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"An API key (`skn_live_…`) for third-party access, or a session token issued by `POST /user/login` for our own first-party apps. Send it as `Authorization: Bearer <value>`."}}},"tags":[{"name":"User","description":"Authentication and account info"},{"name":"Jobs","description":"Monitoring jobs - create, update, list and delete"},{"name":"Job Settings","description":"Reusable check settings assigned to jobs"},{"name":"Groups","description":"Grouping of monitoring jobs"},{"name":"Checks","description":"Results of individual job checks"},{"name":"Stats","description":"Aggregated statistics over jobs and checks"},{"name":"Integrations","description":"Notification integrations (Slack, webhooks, e-mail, ...)"},{"name":"Exports","description":"Data exports"},{"name":"Imports","description":"Bulk import of jobs"},{"name":"Scan","description":"Ad-hoc website scan"},{"name":"Proxies","description":"Proxy endpoints, pricing and overview"},{"name":"Job actions"}]}