Continuous website testing by Validoria — monitor security, SEO, performance, and accessibility.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Acknowledge an open incident to signal that someone is looking at it. Changes status from OPEN to ACKNOWLEDGED.
The incident ID to acknowledge
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Acknowledge an open incident to signal that someone is looking at it. Changes status from OPEN to ACKNOWLEDGED.
| Argument | Type | Description |
|---|---|---|
| incidentId* | string | The incident ID to acknowledge |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"incidentId"
],
"properties": {
"incidentId": {
"type": "string",
"description": "The incident ID to acknowledge"
}
},
"additionalProperties": false
}Get currently running and queued tests across all targets. Useful for checking what tests are in progress right now.
| Argument | Type | Description |
|---|---|---|
| targetId | string | Filter by target ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"targetId": {
"type": "string",
"description": "Filter by target ID"
}
},
"additionalProperties": false
}Add an SEO keyword to track for a target, optionally for one page (pageUrl). Max 50 keywords per target.
| Argument | Type | Description |
|---|---|---|
| keyword* | string | The keyword to track |
| pageUrl | string | The page this keyword is written for (absolute URL on the site) |
| targetId* | string | The target ID |
| isPrimary | boolean | Mark as primary keyword |
| pageScope | string | URL pathname pattern to scope the keyword to (e.g. /kategori/*) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId",
"keyword"
],
"properties": {
"keyword": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "The keyword to track"
},
"pageUrl": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "The page this keyword is written for (absolute URL on the site)"
},
"targetId": {
"type": "string",
"description": "The target ID"
},
"isPrimary": {
"type": "boolean",
"default": false,
"description": "Mark as primary keyword"
},
"pageScope": {
"type": "string",
"maxLength": 500,
"description": "URL pathname pattern to scope the keyword to (e.g. /kategori/*)"
}
},
"additionalProperties": false
}Fingerprint a URL and get test recommendations before creating a target. Detects platform (Shopify, WordPress, etc.), CDN, server stack, frontend framework, analytics, and B2B/ecommerce signals. Returns recommended tests with explanations. Use this before create_target to know what type to assign and which tests will be enabled.
| Argument | Type | Description |
|---|---|---|
| url* | string | URL to analyze, e.g. "https://example.com" |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL to analyze, e.g. \"https://example.com\""
}
},
"additionalProperties": false
}Cancel a running load test.
| Argument | Type | Description |
|---|---|---|
| loadTestRunId* | string | The load test run ID to cancel |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"loadTestRunId"
],
"properties": {
"loadTestRunId": {
"type": "string",
"description": "The load test run ID to cancel"
}
},
"additionalProperties": false
}Create an automation rule that reacts to events. Triggers: TEST_FAILED, TEST_RECOVERED, INCIDENT_CREATED, INCIDENT_RESOLVED, TARGET_DOWN, TARGET_RECOVERED. Actions: escalate (change severity), suppress (mute), rerun (schedule retry), notify, webhook, add_note.
| Argument | Type | Description |
|---|---|---|
| name* | string | Rule name |
| actions* | array | Actions to execute when triggered |
| trigger* | string | Event that triggers the rule |
| targetId | string | Optional target ID to scope rule to a specific target |
| conditions | object | Optional conditions that must be met |
| priorityOrder | integer | Priority order (lower = evaluated first) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"trigger",
"actions"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Rule name"
},
"actions": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"note": {
"type": "string",
"maxLength": 1000,
"description": "Note text (for add_note action)"
},
"type": {
"enum": [
"escalate",
"suppress",
"rerun",
"notify",
"webhook",
"add_note"
],
"type": "string",
"description": "Action type"
},
"delayMs": {
"type": "integer",
"maximum": 600000,
"minimum": 0,
"description": "Delay in ms before executing (for rerun action)"
},
"severity": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string",
"description": "Target severity (for escalate action)"
},
"webhookUrl": {
"type": "string",
"format": "uri",
"description": "Webhook URL (for webhook action)"
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "Actions to execute when triggered"
},
"trigger": {
"enum": [
"TEST_FAILED",
"TEST_RECOVERED",
"INCIDENT_CREATED",
"INCIDENT_RESOLVED",
"TARGET_DOWN",
"TARGET_RECOVERED"
],
"type": "string",
"description": "Event that triggers the rule"
},
"targetId": {
"type": "string",
"description": "Optional target ID to scope rule to a specific target"
},
"conditions": {
"type": "object",
"properties": {
"targetIds": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only trigger for these target IDs"
},
"testSlugs": {
"type": "array",
"items": {
"type": "string"
},
"description": "Only trigger for these test slugs"
},
"severities": {
"type": "array",
"items": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"description": "Only trigger for these severity levels"
},
"minRecurrence": {
"type": "integer",
"minimum": 1,
"description": "Minimum finding recurrence count to trigger"
}
},
"description": "Optional conditions that must be met",
"additionalProperties": false
},
"priorityOrder": {
"type": "integer",
"default": 0,
"description": "Priority order (lower = evaluated first)"
}
},
"additionalProperties": false
}Create a custom browser test flow for a target. Steps are executed sequentially in a Playwright browser. Supports actions: navigate, click, type, fill, select, assert, wait, screenshot, scroll, hover, use_fragment. Variables like {{LOGIN_EMAIL}} are resolved from the target secrets vault.
| Argument | Type | Description |
|---|---|---|
| name* | string | Journey name |
| steps* | array | Ordered list of browser actions |
| platform | string | Platform tag (e.g. "shopify", "woocommerce") |
| targetId* | string | Target ID to create the journey for |
| description | string | Journey description |
| timeoutSeconds | number | Max execution time in seconds |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId",
"name",
"steps"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Journey name"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"action",
"label"
],
"properties": {
"label": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Human-readable step description"
},
"value": {
"type": "string",
"description": "Value to type/fill, URL to navigate to, or fragment ID for use_fragment"
},
"action": {
"enum": [
"navigate",
"click",
"type",
"fill",
"select",
"assert",
"wait",
"screenshot",
"scroll",
"hover",
"use_fragment"
],
"type": "string"
},
"target": {
"type": "string",
"description": "CSS selector or URL target"
},
"waitMs": {
"type": "number",
"maximum": 30000,
"minimum": 0,
"description": "Wait duration in ms (for wait action)"
},
"screenshot": {
"type": "boolean",
"default": false,
"description": "Capture screenshot after this step"
},
"assertionOperator": {
"enum": [
"element_visible",
"element_hidden",
"url_contains",
"text_contains",
"element_count"
],
"type": "string",
"description": "Assertion type (for assert action)"
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1,
"description": "Ordered list of browser actions"
},
"platform": {
"type": "string",
"maxLength": 50,
"description": "Platform tag (e.g. \"shopify\", \"woocommerce\")"
},
"targetId": {
"type": "string",
"description": "Target ID to create the journey for"
},
"description": {
"type": "string",
"maxLength": 2000,
"description": "Journey description"
},
"timeoutSeconds": {
"type": "number",
"default": 60,
"maximum": 300,
"minimum": 10,
"description": "Max execution time in seconds"
}
},
"additionalProperties": false
}Schedule a maintenance window for a target. During maintenance, alerts and notifications are suppressed. Supports one-time, daily, and weekly recurring windows.
| Argument | Type | Description |
|---|---|---|
| name* | string | Name for the window, e.g. "Weekly deploy" |
| endsAt* | string | End time as ISO 8601 string, e.g. "2026-04-05T04:00:00Z" |
| startsAt* | string | Start time as ISO 8601 string, e.g. "2026-04-05T02:00:00Z" |
| targetId* | string | The target ID |
| recurrence | string | Recurrence pattern (required if isRecurring is true) |
| description | string | Optional description |
| isRecurring | boolean | Whether this window repeats |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId",
"name",
"startsAt",
"endsAt"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Name for the window, e.g. \"Weekly deploy\""
},
"endsAt": {
"type": "string",
"description": "End time as ISO 8601 string, e.g. \"2026-04-05T04:00:00Z\""
},
"startsAt": {
"type": "string",
"description": "Start time as ISO 8601 string, e.g. \"2026-04-05T02:00:00Z\""
},
"targetId": {
"type": "string",
"description": "The target ID"
},
"recurrence": {
"enum": [
"DAILY",
"WEEKLY"
],
"type": "string",
"description": "Recurrence pattern (required if isRecurring is true)"
},
"description": {
"type": "string",
"description": "Optional description"
},
"isRecurring": {
"type": "boolean",
"default": false,
"description": "Whether this window repeats"
}
},
"additionalProperties": false
}Create a rule to auto-mute findings matching a pattern. Existing open findings matching the rule are muted immediately. Supports muting by fingerprint pattern, test definition, or test+target combination.
| Argument | Type | Description |
|---|---|---|
| scope* | string | FINGERPRINT: match by finding fingerprint substring. TEST_DEFINITION: mute all findings from a test. TEST_TARGET: mute findings from a specific test on a specific target. |
| reason | string | Reason for muting |
| targetId | string | Target ID to scope the rule to (required for TEST_TARGET, optional for others) |
| expiresAt | string | Optional expiry as ISO 8601 string. Rule auto-expires after this time. |
| testDefinitionId | string | Test definition ID (required for TEST_DEFINITION and TEST_TARGET scopes) |
| fingerprintPattern | string | Substring to match in finding fingerprints (required for FINGERPRINT scope) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"scope"
],
"properties": {
"scope": {
"enum": [
"FINGERPRINT",
"TEST_DEFINITION",
"TEST_TARGET"
],
"type": "string",
"description": "FINGERPRINT: match by finding fingerprint substring. TEST_DEFINITION: mute all findings from a test. TEST_TARGET: mute findings from a specific test on a specific target."
},
"reason": {
"type": "string",
"maxLength": 500,
"description": "Reason for muting"
},
"targetId": {
"type": "string",
"description": "Target ID to scope the rule to (required for TEST_TARGET, optional for others)"
},
"expiresAt": {
"type": "string",
"description": "Optional expiry as ISO 8601 string. Rule auto-expires after this time."
},
"testDefinitionId": {
"type": "string",
"description": "Test definition ID (required for TEST_DEFINITION and TEST_TARGET scopes)"
},
"fingerprintPattern": {
"type": "string",
"description": "Substring to match in finding fingerprints (required for FINGERPRINT scope)"
}
},
"additionalProperties": false
}Create a notification alert rule. Defines which events at which severity levels trigger notifications on which channels. Supports quiet hours and per-target scoping.
| Argument | Type | Description |
|---|---|---|
| name* | string | Rule name |
| enabled | boolean | Whether the rule is active |
| targetId | string | Scope to a specific target |
| eventTypes* | array | Events that trigger this rule |
| severities | array | Only trigger for these severities |
| channelTypes* | array | Channels to notify |
| quietHoursEnd | number | Quiet hours end (hour UTC) |
| quietHoursStart | number | Quiet hours start (hour UTC) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"eventTypes",
"channelTypes"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Rule name"
},
"enabled": {
"type": "boolean",
"default": true,
"description": "Whether the rule is active"
},
"targetId": {
"type": "string",
"description": "Scope to a specific target"
},
"eventTypes": {
"type": "array",
"items": {
"enum": [
"INCIDENT_OPENED",
"INCIDENT_RESOLVED",
"INCIDENT_ACKNOWLEDGED",
"FINDING_CREATED",
"FINDING_RESOLVED",
"FINDING_ESCALATED",
"TARGET_DOWN",
"TARGET_RECOVERED",
"TEST_FAILED",
"TEST_RECOVERED",
"SCAN_COMPLETED",
"BILLING_LIMIT_REACHED",
"ACTION_REQUIRED"
],
"type": "string"
},
"minItems": 1,
"description": "Events that trigger this rule"
},
"severities": {
"type": "array",
"items": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"description": "Only trigger for these severities"
},
"channelTypes": {
"type": "array",
"items": {
"enum": [
"IN_APP",
"EMAIL",
"SLACK",
"WEBHOOK",
"SMS",
"WEB_PUSH"
],
"type": "string"
},
"minItems": 1,
"description": "Channels to notify"
},
"quietHoursEnd": {
"type": "number",
"maximum": 23,
"minimum": 0,
"description": "Quiet hours end (hour UTC)"
},
"quietHoursStart": {
"type": "number",
"maximum": 23,
"minimum": 0,
"description": "Quiet hours start (hour UTC)"
}
},
"additionalProperties": false
}Create a reusable step sequence that can be shared across multiple Journeys. Fragment names must be unique per team.
| Argument | Type | Description |
|---|---|---|
| name* | string | Fragment name (unique per team) |
| steps* | array | Ordered list of browser actions |
| description | string | Fragment description |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"steps"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Fragment name (unique per team)"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"action",
"label"
],
"properties": {
"label": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Step description"
},
"value": {
"type": "string",
"description": "Value to type/fill or URL to navigate"
},
"action": {
"enum": [
"navigate",
"click",
"type",
"fill",
"select",
"assert",
"wait",
"screenshot",
"scroll",
"hover"
],
"type": "string"
},
"target": {
"type": "string",
"description": "CSS selector or URL"
},
"waitMs": {
"type": "number",
"maximum": 30000,
"minimum": 0
},
"screenshot": {
"type": "boolean",
"default": false
},
"assertionOperator": {
"enum": [
"element_visible",
"element_hidden",
"url_contains",
"text_contains",
"element_count"
],
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 30,
"minItems": 1,
"description": "Ordered list of browser actions"
},
"description": {
"type": "string",
"maxLength": 2000,
"description": "Fragment description"
}
},
"additionalProperties": false
}Create a new scheduled email report. Reports include run stats, open findings, composite scores, and per-target status.
| Argument | Type | Description |
|---|---|---|
| name | string | Report name |
| hourUtc | number | Hour in UTC to send the report |
| dayOfWeek | number | Day of week for WEEKLY reports (0=Sunday, 1=Monday, ..., 6=Saturday) |
| frequency | string | How often to send |
| recipients | string | Comma-separated email addresses. Empty = all team members. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"name": {
"type": "string",
"default": "Weekly Summary",
"maxLength": 100,
"minLength": 1,
"description": "Report name"
},
"hourUtc": {
"type": "number",
"default": 8,
"maximum": 23,
"minimum": 0,
"description": "Hour in UTC to send the report"
},
"dayOfWeek": {
"type": "number",
"default": 1,
"maximum": 6,
"minimum": 0,
"description": "Day of week for WEEKLY reports (0=Sunday, 1=Monday, ..., 6=Saturday)"
},
"frequency": {
"enum": [
"DAILY",
"WEEKLY"
],
"type": "string",
"default": "WEEKLY",
"description": "How often to send"
},
"recipients": {
"type": "string",
"default": "",
"description": "Comma-separated email addresses. Empty = all team members."
}
},
"additionalProperties": false
}Add a new website, API, or webshop target for monitoring with full onboarding. Automatically enables compatible tests, triggers an initial scan, and captures a page screenshot. Requires write scope (Free plan: 1 target). Use analyze_target first to detect platform and get test recommendations.
| Argument | Type | Description |
|---|---|---|
| url* | string | URL to monitor, e.g. "https://example.com" |
| name* | string | Display name for the target |
| tags | array | Optional tags for categorization |
| type* | string | Target type: WEBSITE, API, or WEBSHOP. Use analyze_target to auto-detect. |
| weight | string | Business weight, used to rank findings by consequence: REVENUE_PATH (checkout, payment, signup), PUBLIC (customer-visible but not transactional), INTERNAL (staging, admin tooling). |
| environment | string | Deployment environment |
| uptimeEnabled | boolean | Enable background uptime monitoring |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"name",
"url",
"type"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL to monitor, e.g. \"https://example.com\""
},
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "Display name for the target"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"default": [],
"description": "Optional tags for categorization"
},
"type": {
"enum": [
"WEBSITE",
"API",
"WEBSHOP"
],
"type": "string",
"description": "Target type: WEBSITE, API, or WEBSHOP. Use analyze_target to auto-detect."
},
"weight": {
"enum": [
"REVENUE_PATH",
"PUBLIC",
"INTERNAL"
],
"type": "string",
"default": "PUBLIC",
"description": "Business weight, used to rank findings by consequence: REVENUE_PATH (checkout, payment, signup), PUBLIC (customer-visible but not transactional), INTERNAL (staging, admin tooling)."
},
"environment": {
"enum": [
"PRODUCTION",
"STAGING",
"DEV"
],
"type": "string",
"default": "PRODUCTION",
"description": "Deployment environment"
},
"uptimeEnabled": {
"type": "boolean",
"default": true,
"description": "Enable background uptime monitoring"
}
},
"additionalProperties": false
}Get daily time-series data for runs, findings, and average duration. Useful for identifying trends over time. Returns up to 90 days of data.
| Argument | Type | Description |
|---|---|---|
| days | number | Number of days of history to return |
| targetId | string | Filter by target ID (omit for team-wide) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"days": {
"type": "number",
"default": 14,
"maximum": 90,
"minimum": 1,
"description": "Number of days of history to return"
},
"targetId": {
"type": "string",
"description": "Filter by target ID (omit for team-wide)"
}
},
"additionalProperties": false
}Permanently delete an automation rule.
| Argument | Type | Description |
|---|---|---|
| ruleId* | string | The automation rule ID to delete |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ruleId"
],
"properties": {
"ruleId": {
"type": "string",
"description": "The automation rule ID to delete"
}
},
"additionalProperties": false
}Permanently delete a journey and all its steps.
| Argument | Type | Description |
|---|---|---|
| journeyId* | string | The journey ID to delete |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"journeyId"
],
"properties": {
"journeyId": {
"type": "string",
"description": "The journey ID to delete"
}
},
"additionalProperties": false
}Remove a scheduled maintenance window.
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID (for access verification) |
| windowId* | string | The maintenance window ID to delete |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"windowId",
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID (for access verification)"
},
"windowId": {
"type": "string",
"description": "The maintenance window ID to delete"
}
},
"additionalProperties": false
}Permanently delete a notification rule.
| Argument | Type | Description |
|---|---|---|
| ruleId* | string | The notification rule ID to delete |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ruleId"
],
"properties": {
"ruleId": {
"type": "string",
"description": "The notification rule ID to delete"
}
},
"additionalProperties": false
}Permanently delete a page fragment.
| Argument | Type | Description |
|---|---|---|
| fragmentId* | string | The fragment ID to delete |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fragmentId"
],
"properties": {
"fragmentId": {
"type": "string",
"description": "The fragment ID to delete"
}
},
"additionalProperties": false
}Permanently delete a scheduled report.
| Argument | Type | Description |
|---|---|---|
| reportId* | string | The scheduled report ID to delete |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"reportId"
],
"properties": {
"reportId": {
"type": "string",
"description": "The scheduled report ID to delete"
}
},
"additionalProperties": false
}Permanently delete a secret from a target's vault.
| Argument | Type | Description |
|---|---|---|
| secretId* | string | The secret ID to delete |
| targetId* | string | The target ID (for access verification) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"secretId",
"targetId"
],
"properties": {
"secretId": {
"type": "string",
"description": "The secret ID to delete"
},
"targetId": {
"type": "string",
"description": "The target ID (for access verification)"
}
},
"additionalProperties": false
}Permanently delete a target and all its associated data (runs, findings, incidents, artifacts). This cannot be undone.
| Argument | Type | Description |
|---|---|---|
| confirm* | boolean | Must be true to confirm deletion |
| targetId* | string | The target ID to delete |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId",
"confirm"
],
"properties": {
"confirm": {
"type": "boolean",
"description": "Must be true to confirm deletion"
},
"targetId": {
"type": "string",
"description": "The target ID to delete"
}
},
"additionalProperties": false
}Disable all test definitions globally. Optionally filter by category to only disable tests in that category. Requires admin scope.
| Argument | Type | Description |
|---|---|---|
| category | string | Only disable tests in this category. Omit to disable all. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"enum": [
"SEO",
"SECURITY",
"PERFORMANCE",
"MOBILE",
"ACCESSIBILITY",
"ECOMMERCE",
"API_HEALTH"
],
"type": "string",
"description": "Only disable tests in this category. Omit to disable all."
}
},
"additionalProperties": false
}Enable all test definitions globally. Optionally filter by category to only enable tests in that category. Requires admin scope.
| Argument | Type | Description |
|---|---|---|
| category | string | Only enable tests in this category. Omit to enable all. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"enum": [
"SEO",
"SECURITY",
"PERFORMANCE",
"MOBILE",
"ACCESSIBILITY",
"ECOMMERCE",
"API_HEALTH"
],
"type": "string",
"description": "Only enable tests in this category. Omit to enable all."
}
},
"additionalProperties": false
}Get full details of a specific automation rule.
| Argument | Type | Description |
|---|---|---|
| ruleId* | string | The automation rule ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ruleId"
],
"properties": {
"ruleId": {
"type": "string",
"description": "The automation rule ID"
}
},
"additionalProperties": false
}Get full details of a specific finding, including evidence, AI analysis, and recommended fix.
| Argument | Type | Description |
|---|---|---|
| findingId* | string | The finding ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"findingId"
],
"properties": {
"findingId": {
"type": "string",
"description": "The finding ID"
}
},
"additionalProperties": false
}Get full details of a specific incident including linked findings, AI analysis, and deployment correlation.
| Argument | Type | Description |
|---|---|---|
| incidentId* | string | The incident ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"incidentId"
],
"properties": {
"incidentId": {
"type": "string",
"description": "The incident ID"
}
},
"additionalProperties": false
}Get full details of a specific journey including all steps.
| Argument | Type | Description |
|---|---|---|
| journeyId* | string | The journey ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"journeyId"
],
"properties": {
"journeyId": {
"type": "string",
"description": "The journey ID"
}
},
"additionalProperties": false
}Get details and results of a load test run.
| Argument | Type | Description |
|---|---|---|
| loadTestRunId* | string | The load test run ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"loadTestRunId"
],
"properties": {
"loadTestRunId": {
"type": "string",
"description": "The load test run ID"
}
},
"additionalProperties": false
}Get full details of a specific test run including metrics, score, summary, errors, and associated findings.
| Argument | Type | Description |
|---|---|---|
| runId* | string | The run ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"runId"
],
"properties": {
"runId": {
"type": "string",
"description": "The run ID"
}
},
"additionalProperties": false
}Get the latest crawl snapshot for a target. Returns page inventory stats, SEO issues, broken pages/assets, response times, and a diff against the previous crawl. Optionally include page-level details.
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID |
| pageLimit | number | Max pages to return when includePages is true |
| pageStatus | string | Filter pages by status |
| includePages | boolean | Include individual page data (can be large). Default: false. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID"
},
"pageLimit": {
"type": "number",
"default": 50,
"maximum": 200,
"minimum": 1,
"description": "Max pages to return when includePages is true"
},
"pageStatus": {
"enum": [
"HEALTHY",
"BROKEN",
"REDIRECT",
"SLOW"
],
"type": "string",
"description": "Filter pages by status"
},
"includePages": {
"type": "boolean",
"default": false,
"description": "Include individual page data (can be large). Default: false."
}
},
"additionalProperties": false
}Get detailed information about a specific target including status, uptime, fingerprint, and composite scores.
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID to look up |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID to look up"
}
},
"additionalProperties": false
}Get composite scores (Security, SEO, Performance, Accessibility, AI-search readiness) for a target. Each score is 0-100 with a status rating.
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID"
}
},
"additionalProperties": false
}Get the team's configuration including AI enrichment, uptime monitoring, severity escalation, run policies, notification coalescing, SEO, and Kloner Tasks integration settings.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Poll results for a guest_start_scan. Pass the scanId and guestSessionId from the start response. No API key required.
| Argument | Type | Description |
|---|---|---|
| scanId* | string | Scan workflow id from guest_start_scan |
| guestSessionId | string | Guest session id returned by guest_start_scan |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"scanId"
],
"properties": {
"scanId": {
"type": "string",
"minLength": 1,
"description": "Scan workflow id from guest_start_scan"
},
"guestSessionId": {
"type": "string",
"minLength": 1,
"description": "Guest session id returned by guest_start_scan"
}
},
"additionalProperties": false
}Run a free 6-test HTTP scan against a public URL without an API key. Rate-limited (5/IP/hour, 3/session/day). Returns scanId — poll with guest_get_scan. For continuous monitoring, sign up free and use create_target. See teste-no://docs/quickstart.
| Argument | Type | Description |
|---|---|---|
| url* | string | Public http(s) URL to scan, e.g. https://example.com |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "Public http(s) URL to scan, e.g. https://example.com"
}
},
"additionalProperties": false
}Bulk import up to 100 websites for monitoring. Each URL gets a target created with auto-enabled tests, initial scan, and screenshot capture. Partial success — failed URLs are reported individually without blocking others.
| Argument | Type | Description |
|---|---|---|
| items* | array | Array of targets to import |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"items"
],
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "URL to monitor"
},
"name": {
"type": "string",
"description": "Display name (defaults to hostname)"
},
"type": {
"enum": [
"WEBSITE",
"API",
"WEBSHOP"
],
"type": "string",
"default": "WEBSITE",
"description": "Target type"
}
},
"additionalProperties": false
},
"maxItems": 100,
"minItems": 1,
"description": "Array of targets to import"
}
},
"additionalProperties": false
}List all automation rules for the team. Rules automatically react to events (test failures, incidents, downtime) with configurable actions (escalate severity, suppress, rerun, webhook, notify).
| Argument | Type | Description |
|---|---|---|
| enabled | boolean | Filter by enabled/disabled status |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"enabled": {
"type": "boolean",
"description": "Filter by enabled/disabled status"
}
},
"additionalProperties": false
}List findings (discovered issues) across your targets. Filter by status, severity, or target. Returns title, severity, status, test name, and AI enrichment if available.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max number of findings to return |
| status | string | Filter by finding status (default: OPEN) |
| severity | string | Filter by severity |
| targetId | string | Filter by target ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "number",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Max number of findings to return"
},
"status": {
"enum": [
"OPEN",
"MUTED",
"RESOLVED"
],
"type": "string",
"description": "Filter by finding status (default: OPEN)"
},
"severity": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string",
"description": "Filter by severity"
},
"targetId": {
"type": "string",
"description": "Filter by target ID"
}
},
"additionalProperties": false
}List incidents (grouped operational issues) across your targets. Filter by status. Returns title, severity, status, findings count, and deployment correlation.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max number of incidents to return |
| status | string | Filter by incident status |
| targetId | string | Filter by target ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "number",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Max number of incidents to return"
},
"status": {
"enum": [
"OPEN",
"ACKNOWLEDGED",
"RESOLVED"
],
"type": "string",
"description": "Filter by incident status"
},
"targetId": {
"type": "string",
"description": "Filter by target ID"
}
},
"additionalProperties": false
}List custom browser test flows (journeys) for a target or all team targets. Journeys are multi-step Playwright tests that verify user flows like checkout, login, and search.
| Argument | Type | Description |
|---|---|---|
| targetId | string | Filter by target ID. If omitted, lists all team journeys. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"targetId": {
"type": "string",
"description": "Filter by target ID. If omitted, lists all team journeys."
}
},
"additionalProperties": false
}List all SEO keywords tracked for a target, including latest Google rank position and the page each is tracked for. Max 50 per target.
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID"
}
},
"additionalProperties": false
}List recent load test runs for a target.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max results |
| targetId* | string | The target ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"limit": {
"type": "number",
"default": 10,
"maximum": 50,
"minimum": 1,
"description": "Max results"
},
"targetId": {
"type": "string",
"description": "The target ID"
}
},
"additionalProperties": false
}List maintenance windows for a target. Shows scheduled and recurring maintenance periods that suppress alerts.
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID"
}
},
"additionalProperties": false
}List all notification channels (Email, Slack, Webhook, SMS, Web Push) configured for the team. Sensitive config values are redacted.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List all notification alert rules for the team. Rules map event types + severity levels to notification channels.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List all reusable page fragments for the team. Fragments are shared step sequences (e.g. "Login", "Dismiss Cookies") that can be inserted into multiple Journeys via the use_fragment action.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List recent test runs. Filter by target, status, or test slug. Returns run status, score, summary, duration, and finding count.
| Argument | Type | Description |
|---|---|---|
| limit | number | Max number of runs to return |
| status | string | Filter by run status |
| targetId | string | Filter by target ID |
| testSlug | string | Filter by test definition slug (e.g. "security-headers") |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "number",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Max number of runs to return"
},
"status": {
"enum": [
"QUEUED",
"RUNNING",
"PASSED",
"WARNING",
"FAILED",
"CANCELED"
],
"type": "string",
"description": "Filter by run status"
},
"targetId": {
"type": "string",
"description": "Filter by target ID"
},
"testSlug": {
"type": "string",
"description": "Filter by test definition slug (e.g. \"security-headers\")"
}
},
"additionalProperties": false
}List all scheduled reports for the team. Reports are automatically generated and emailed on a daily or weekly basis.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List secrets stored in a target's vault. Values are masked — only key names and labels are shown. Secrets are used by test plugins (e.g. LOGIN_EMAIL, LOGIN_PASSWORD for B2B shops, ga4_service_account for GA4).
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID"
}
},
"additionalProperties": false
}List all monitoring targets for your team. Returns name, URL, type, status, and uptime info for each target.
| Argument | Type | Description |
|---|---|---|
| type | string | Filter by target type |
| limit | number | Max number of targets to return |
| status | string | Filter by target status |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"type": {
"enum": [
"WEBSITE",
"API",
"WEBSHOP"
],
"type": "string",
"description": "Filter by target type"
},
"limit": {
"type": "number",
"default": 50,
"maximum": 100,
"minimum": 1,
"description": "Max number of targets to return"
},
"status": {
"enum": [
"HEALTHY",
"WARNING",
"CRITICAL",
"UNKNOWN"
],
"type": "string",
"description": "Filter by target status"
}
},
"additionalProperties": false
}List all available test definitions (plugins). Shows slug, name, category, runner type, weight class, schedule, and enablement status. Useful for knowing which tests can be triggered.
| Argument | Type | Description |
|---|---|---|
| category | string | Filter by test category |
| enabledOnly | boolean | Only show enabled tests. Default: true. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"category": {
"enum": [
"SEO",
"SECURITY",
"PERFORMANCE",
"MOBILE",
"ACCESSIBILITY",
"ECOMMERCE",
"API_HEALTH"
],
"type": "string",
"description": "Filter by test category"
},
"enabledOnly": {
"type": "boolean",
"default": true,
"description": "Only show enabled tests. Default: true."
}
},
"additionalProperties": false
}Mute an open finding to suppress it from dashboards and alerts. Status changes from OPEN to MUTED.
| Argument | Type | Description |
|---|---|---|
| findingId* | string | The finding ID to mute |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"findingId"
],
"properties": {
"findingId": {
"type": "string",
"description": "The finding ID to mute"
}
},
"additionalProperties": false
}Force recompute all composite scores (Security, SEO, Performance, Accessibility) for a target. Useful after manual changes or when scores seem stale.
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID to recompute scores for |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID to recompute scores for"
}
},
"additionalProperties": false
}Record a deployment event for a target. Deployments are auto-correlated with incidents created within 20 minutes. Useful for tracking releases and root-cause analysis.
| Argument | Type | Description |
|---|---|---|
| version | string | Version string, e.g. "v2.4.1" |
| targetId* | string | The target ID |
| commitSha | string | Git commit SHA |
| deployedBy | string | Who deployed (name, email, or system) |
| description | string | Deployment description or changelog |
| environment | string | Environment, e.g. "production", "staging" |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"version": {
"type": "string",
"description": "Version string, e.g. \"v2.4.1\""
},
"targetId": {
"type": "string",
"description": "The target ID"
},
"commitSha": {
"type": "string",
"description": "Git commit SHA"
},
"deployedBy": {
"type": "string",
"description": "Who deployed (name, email, or system)"
},
"description": {
"type": "string",
"description": "Deployment description or changelog"
},
"environment": {
"type": "string",
"description": "Environment, e.g. \"production\", \"staging\""
}
},
"additionalProperties": false
}Remove an SEO keyword from a target.
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID (for access verification) |
| keywordId* | string | The keyword ID to remove |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"keywordId",
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID (for access verification)"
},
"keywordId": {
"type": "string",
"description": "The keyword ID to remove"
}
},
"additionalProperties": false
}Resolve an incident to mark it as handled. Changes status to RESOLVED and sets the closed timestamp.
| Argument | Type | Description |
|---|---|---|
| incidentId* | string | The incident ID to resolve |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"incidentId"
],
"properties": {
"incidentId": {
"type": "string",
"description": "The incident ID to resolve"
}
},
"additionalProperties": false
}Update the value of an existing secret.
| Argument | Type | Description |
|---|---|---|
| newValue* | string | New secret value |
| secretId* | string | The secret ID to rotate |
| targetId* | string | The target ID (for access verification) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"secretId",
"targetId",
"newValue"
],
"properties": {
"newValue": {
"type": "string",
"minLength": 1,
"description": "New secret value"
},
"secretId": {
"type": "string",
"description": "The secret ID to rotate"
},
"targetId": {
"type": "string",
"description": "The target ID (for access verification)"
}
},
"additionalProperties": false
}Start a load test against a target. Max 100 concurrent connections, max 5 min duration, 1 test at a time per target, 60s cooldown between tests. Modes: HTTP_FLOOD (autocannon), BROWSER_USERS (Playwright), COMBINED (both). OWNER/ADMIN only.
| Argument | Type | Description |
|---|---|---|
| mode | string | Load test mode |
| rampUp | number | Ramp-up time in seconds |
| duration | number | Test duration in seconds |
| targetId* | string | The target ID to load test |
| targetUrl | string | Override URL (defaults to target URL) |
| httpMethod | string | HTTP method |
| concurrency | number | Number of concurrent connections |
| acknowledgeSharedOrigin | boolean | Acknowledge blast radius if target shares a server with other monitored sites |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"mode": {
"enum": [
"HTTP_FLOOD",
"BROWSER_USERS",
"COMBINED"
],
"type": "string",
"default": "HTTP_FLOOD",
"description": "Load test mode"
},
"rampUp": {
"type": "number",
"maximum": 60,
"minimum": 0,
"description": "Ramp-up time in seconds"
},
"duration": {
"type": "number",
"default": 30,
"maximum": 300,
"minimum": 10,
"description": "Test duration in seconds"
},
"targetId": {
"type": "string",
"description": "The target ID to load test"
},
"targetUrl": {
"type": "string",
"format": "uri",
"description": "Override URL (defaults to target URL)"
},
"httpMethod": {
"enum": [
"GET",
"POST",
"PUT",
"DELETE",
"PATCH"
],
"type": "string",
"description": "HTTP method"
},
"concurrency": {
"type": "number",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "Number of concurrent connections"
},
"acknowledgeSharedOrigin": {
"type": "boolean",
"description": "Acknowledge blast radius if target shares a server with other monitored sites"
}
},
"additionalProperties": false
}Store an encrypted secret in a target's vault. Common keys: LOGIN_EMAIL, LOGIN_PASSWORD (B2B shop auth), ga4_service_account (GA4 monitoring). Values are AES-256-GCM encrypted at rest.
| Argument | Type | Description |
|---|---|---|
| key* | string | Secret key (e.g. LOGIN_EMAIL) |
| label* | string | Human-readable label |
| value* | string | Secret value (will be encrypted) |
| targetId* | string | The target ID |
| description | string | Optional description |
| environment | string | Environment scope |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId",
"key",
"label",
"value"
],
"properties": {
"key": {
"type": "string",
"pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
"maxLength": 100,
"minLength": 1,
"description": "Secret key (e.g. LOGIN_EMAIL)"
},
"label": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Human-readable label"
},
"value": {
"type": "string",
"minLength": 1,
"description": "Secret value (will be encrypted)"
},
"targetId": {
"type": "string",
"description": "The target ID"
},
"description": {
"type": "string",
"maxLength": 500,
"description": "Optional description"
},
"environment": {
"enum": [
"PRODUCTION",
"STAGING",
"DEVELOPMENT"
],
"type": "string",
"default": "PRODUCTION",
"description": "Environment scope"
}
},
"additionalProperties": false
}Get a comprehensive system health report: BullMQ queue depths, active/stuck runs, user sessions, notification delivery stats, and recent error counts. Requires admin scope.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}Get statistics for a specific target: runs, pass rate, findings, duration. Supports lifetime, monthly, or weekly periods.
| Argument | Type | Description |
|---|---|---|
| period | string | Period filter: "lifetime", "2026-04" (monthly), or "2026-W14" (weekly). Defaults to lifetime. |
| targetId* | string | The target ID |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"period": {
"type": "string",
"description": "Period filter: \"lifetime\", \"2026-04\" (monthly), or \"2026-W14\" (weekly). Defaults to lifetime."
},
"targetId": {
"type": "string",
"description": "The target ID"
}
},
"additionalProperties": false
}Get team-wide overview statistics: total runs, pass rate, open findings, open incidents, average duration. Supports lifetime, monthly, or weekly periods.
| Argument | Type | Description |
|---|---|---|
| period | string | Period filter: "lifetime", "2026-04" (monthly), or "2026-W14" (weekly). Defaults to lifetime. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"period": {
"type": "string",
"description": "Period filter: \"lifetime\", \"2026-04\" (monthly), or \"2026-W14\" (weekly). Defaults to lifetime."
}
},
"additionalProperties": false
}Run all enabled tests against a target as a scan workflow. All tests in the target's test profile are queued. Returns the workflow ID and list of queued runs.
| Argument | Type | Description |
|---|---|---|
| targetId* | string | The target ID to scan |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"targetId": {
"type": "string",
"description": "The target ID to scan"
}
},
"additionalProperties": false
}Execute a journey (custom browser test flow) against its target. The journey runs asynchronously — use get_run to check progress.
| Argument | Type | Description |
|---|---|---|
| journeyId* | string | The journey ID to trigger |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"journeyId"
],
"properties": {
"journeyId": {
"type": "string",
"description": "The journey ID to trigger"
}
},
"additionalProperties": false
}Run a specific test against a target. Specify either the test definition ID or slug. The test is queued and executed asynchronously — use get_run to check status.
| Argument | Type | Description |
|---|---|---|
| testId | string | Test definition ID (use this or testSlug) |
| targetId* | string | The target ID to test |
| testSlug | string | Test slug e.g. "security-headers" (use this or testId) |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"testId": {
"type": "string",
"description": "Test definition ID (use this or testSlug)"
},
"targetId": {
"type": "string",
"description": "The target ID to test"
},
"testSlug": {
"type": "string",
"description": "Test slug e.g. \"security-headers\" (use this or testId)"
}
},
"additionalProperties": false
}Update an existing automation rule. Any field not provided will remain unchanged.
| Argument | Type | Description |
|---|---|---|
| name | string | Updated rule name |
| ruleId* | string | The automation rule ID to update |
| actions | array | Updated actions |
| trigger | string | Updated trigger event |
| targetId | string | null | Updated target scope (null to remove target scoping) |
| isEnabled | boolean | Enable or disable the rule |
| conditions | object | Updated conditions |
| priorityOrder | integer | Updated priority order |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ruleId"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Updated rule name"
},
"ruleId": {
"type": "string",
"description": "The automation rule ID to update"
},
"actions": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"note": {
"type": "string",
"maxLength": 1000
},
"type": {
"enum": [
"escalate",
"suppress",
"rerun",
"notify",
"webhook",
"add_note"
],
"type": "string"
},
"delayMs": {
"type": "integer",
"maximum": 600000,
"minimum": 0
},
"severity": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"webhookUrl": {
"type": "string",
"format": "uri"
}
},
"additionalProperties": false
},
"minItems": 1,
"description": "Updated actions"
},
"trigger": {
"enum": [
"TEST_FAILED",
"TEST_RECOVERED",
"INCIDENT_CREATED",
"INCIDENT_RESOLVED",
"TARGET_DOWN",
"TARGET_RECOVERED"
],
"type": "string",
"description": "Updated trigger event"
},
"targetId": {
"type": [
"string",
"null"
],
"description": "Updated target scope (null to remove target scoping)"
},
"isEnabled": {
"type": "boolean",
"description": "Enable or disable the rule"
},
"conditions": {
"type": "object",
"properties": {
"targetIds": {
"type": "array",
"items": {
"type": "string"
}
},
"testSlugs": {
"type": "array",
"items": {
"type": "string"
}
},
"severities": {
"type": "array",
"items": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
}
},
"minRecurrence": {
"type": "integer",
"minimum": 1
}
},
"description": "Updated conditions",
"additionalProperties": false
},
"priorityOrder": {
"type": "integer",
"description": "Updated priority order"
}
},
"additionalProperties": false
}Update a journey's name, settings, or steps. When steps are provided, all existing steps are replaced.
| Argument | Type | Description |
|---|---|---|
| name | string | Updated name |
| steps | array | Replacement steps (replaces all existing steps) |
| isEnabled | boolean | Enable or disable the journey |
| journeyId* | string | The journey ID to update |
| description | any | Updated description |
| timeoutSeconds | number | Updated timeout |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"journeyId"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Updated name"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"action",
"label"
],
"properties": {
"label": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Human-readable step description"
},
"value": {
"type": "string",
"description": "Value to type/fill, URL to navigate to, or fragment ID for use_fragment"
},
"action": {
"enum": [
"navigate",
"click",
"type",
"fill",
"select",
"assert",
"wait",
"screenshot",
"scroll",
"hover",
"use_fragment"
],
"type": "string"
},
"target": {
"type": "string",
"description": "CSS selector or URL target"
},
"waitMs": {
"type": "number",
"maximum": 30000,
"minimum": 0,
"description": "Wait duration in ms (for wait action)"
},
"screenshot": {
"type": "boolean",
"default": false,
"description": "Capture screenshot after this step"
},
"assertionOperator": {
"enum": [
"element_visible",
"element_hidden",
"url_contains",
"text_contains",
"element_count"
],
"type": "string",
"description": "Assertion type (for assert action)"
}
},
"additionalProperties": false
},
"maxItems": 50,
"minItems": 1,
"description": "Replacement steps (replaces all existing steps)"
},
"isEnabled": {
"type": "boolean",
"description": "Enable or disable the journey"
},
"journeyId": {
"type": "string",
"description": "The journey ID to update"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
],
"description": "Updated description"
},
"timeoutSeconds": {
"type": "number",
"maximum": 300,
"minimum": 10,
"description": "Updated timeout"
}
},
"additionalProperties": false
}Update a notification rule. Only provided fields are changed.
| Argument | Type | Description |
|---|---|---|
| name | string | |
| ruleId* | string | The notification rule ID |
| enabled | boolean | |
| eventTypes | array | |
| severities | array | |
| channelTypes | array | |
| quietHoursEnd | any | |
| quietHoursStart | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"ruleId"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"ruleId": {
"type": "string",
"description": "The notification rule ID"
},
"enabled": {
"type": "boolean"
},
"eventTypes": {
"type": "array",
"items": {
"enum": [
"INCIDENT_OPENED",
"INCIDENT_RESOLVED",
"INCIDENT_ACKNOWLEDGED",
"FINDING_CREATED",
"FINDING_RESOLVED",
"FINDING_ESCALATED",
"TARGET_DOWN",
"TARGET_RECOVERED",
"TEST_FAILED",
"TEST_RECOVERED",
"SCAN_COMPLETED",
"BILLING_LIMIT_REACHED",
"ACTION_REQUIRED"
],
"type": "string"
},
"minItems": 1
},
"severities": {
"type": "array",
"items": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
}
},
"channelTypes": {
"type": "array",
"items": {
"enum": [
"IN_APP",
"EMAIL",
"SLACK",
"WEBHOOK",
"SMS",
"WEB_PUSH"
],
"type": "string"
},
"minItems": 1
},
"quietHoursEnd": {
"anyOf": [
{
"type": "number",
"maximum": 23,
"minimum": 0
},
{
"type": "null"
}
]
},
"quietHoursStart": {
"anyOf": [
{
"type": "number",
"maximum": 23,
"minimum": 0
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}Update a page fragment. When steps are provided, all existing steps are replaced.
| Argument | Type | Description |
|---|---|---|
| name | string | Updated name |
| steps | array | Replacement steps |
| fragmentId* | string | The fragment ID |
| description | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"fragmentId"
],
"properties": {
"name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Updated name"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"required": [
"action",
"label"
],
"properties": {
"label": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Step description"
},
"value": {
"type": "string",
"description": "Value to type/fill or URL to navigate"
},
"action": {
"enum": [
"navigate",
"click",
"type",
"fill",
"select",
"assert",
"wait",
"screenshot",
"scroll",
"hover"
],
"type": "string"
},
"target": {
"type": "string",
"description": "CSS selector or URL"
},
"waitMs": {
"type": "number",
"maximum": 30000,
"minimum": 0
},
"screenshot": {
"type": "boolean",
"default": false
},
"assertionOperator": {
"enum": [
"element_visible",
"element_hidden",
"url_contains",
"text_contains",
"element_count"
],
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 30,
"minItems": 1,
"description": "Replacement steps"
},
"fragmentId": {
"type": "string",
"description": "The fragment ID"
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "null"
}
]
}
},
"additionalProperties": false
}Update an existing scheduled report. Any field not provided stays unchanged.
| Argument | Type | Description |
|---|---|---|
| name | string | Updated name |
| enabled | boolean | Enable or disable the report |
| hourUtc | number | Updated hour UTC |
| reportId* | string | The scheduled report ID to update |
| dayOfWeek | number | Updated day of week |
| frequency | string | Updated frequency |
| recipients | string | Updated comma-separated email list |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"reportId"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Updated name"
},
"enabled": {
"type": "boolean",
"description": "Enable or disable the report"
},
"hourUtc": {
"type": "number",
"maximum": 23,
"minimum": 0,
"description": "Updated hour UTC"
},
"reportId": {
"type": "string",
"description": "The scheduled report ID to update"
},
"dayOfWeek": {
"type": "number",
"maximum": 6,
"minimum": 0,
"description": "Updated day of week"
},
"frequency": {
"enum": [
"DAILY",
"WEEKLY"
],
"type": "string",
"description": "Updated frequency"
},
"recipients": {
"type": "string",
"description": "Updated comma-separated email list"
}
},
"additionalProperties": false
}Update a target's properties (name, URL, type, environment, business weight, tags, uptime toggle).
| Argument | Type | Description |
|---|---|---|
| url | string | New URL |
| name | string | New display name |
| tags | array | New tags (replaces existing) |
| type | string | New target type |
| weight | string | New business weight: REVENUE_PATH, PUBLIC or INTERNAL. Changing this rescores the target's open findings so the consequence ranking updates immediately. |
| targetId* | string | The target ID to update |
| environment | string | New environment |
| uptimeEnabled | boolean | Toggle uptime monitoring |
| uptimeKeyword | any | Keyword to verify in response body during uptime checks. When set, every uptime ping GETs the page and verifies this text appears (case-insensitive). If missing, the site is treated as DOWN even on HTTP 200. Set to null to disable keyword verification. |
Update team configuration. All fields are optional — only provided fields are changed. Covers: AI enrichment (model, temperature, auto-enrich, spending cap), uptime (timeout, thresholds), severity escalation (recurrence/age triggers), run policies (concurrency, timeouts), SEO (rank tracking, keyword strategy), notification coalescing (digest), and the kill switch (testsPaused).
| Argument | Type | Description |
|---|---|---|
| aiModel | string | Model id on the AI gateway for finding enrichment (e.g. mistral/mistral-small-2603, an EU route) |
| aiEnabled | boolean | Enable/disable AI finding enrichment |
| aiCapAction | string | Action when cap is reached |
| testsPaused | boolean | Kill switch — pauses ALL scheduled and manual test runs |
| aiAutoEnrich | boolean | Auto-enrich new findings with AI |
| digestEnabled | boolean | Enable notification alert coalescing |
| aiMonthlyCapUsd | any | Monthly AI spending cap in USD (null = unlimited) |
| aiSourceReviewModel | string | Model for AI source review plugin |
Enable or disable a test definition globally, or update its schedule/timeout. Requires admin scope.
| Argument | Type | Description |
|---|---|---|
| slug* | string | Test plugin slug (e.g. "http-protocol-check") |
| enabled | boolean | Enable or disable the test globally |
| timeout | number | Timeout in milliseconds |
| defaultSchedule | string | Cron schedule (e.g. "0 */6 * * *") |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"description": "Test plugin slug (e.g. \"http-protocol-check\")"
},
"enabled": {
"type": "boolean",
"description": "Enable or disable the test globally"
},
"timeout": {
"type": "number",
"description": "Timeout in milliseconds"
},
"defaultSchedule": {
"type": "string",
"description": "Cron schedule (e.g. \"0 */6 * * *\")"
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"targetId"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "New URL"
},
"name": {
"type": "string",
"maxLength": 255,
"minLength": 1,
"description": "New display name"
},
"tags": {
"type": "array",
"items": {
"type": "string"
},
"description": "New tags (replaces existing)"
},
"type": {
"enum": [
"WEBSITE",
"API",
"WEBSHOP"
],
"type": "string",
"description": "New target type"
},
"weight": {
"enum": [
"REVENUE_PATH",
"PUBLIC",
"INTERNAL"
],
"type": "string",
"description": "New business weight: REVENUE_PATH, PUBLIC or INTERNAL. Changing this rescores the target's open findings so the consequence ranking updates immediately."
},
"targetId": {
"type": "string",
"description": "The target ID to update"
},
"environment": {
"enum": [
"PRODUCTION",
"STAGING",
"DEV"
],
"type": "string",
"description": "New environment"
},
"uptimeEnabled": {
"type": "boolean",
"description": "Toggle uptime monitoring"
},
"uptimeKeyword": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"type": "string",
"maxLength": 500
}
]
},
{
"type": "null"
}
],
"description": "Keyword to verify in response body during uptime checks. When set, every uptime ping GETs the page and verifies this text appears (case-insensitive). If missing, the site is treated as DOWN even on HTTP 200. Set to null to disable keyword verification."
}
},
"additionalProperties": false
}| defaultRunTimeoutMs |
| number |
| Default run timeout in ms |
| digestWindowSeconds | number | Digest window duration in seconds |
| escalateInfoAgeDays | number | Finding age in days before INFO→WARNING |
| seoRankCheckEnabled | boolean | Enable Google rank tracking |
| uptimeFailThreshold | number | Consecutive failures before DOWN |
| uptimePingTimeoutMs | number | Uptime ping timeout in ms |
| maxDailyRunsPerTarget | number | Max test runs per target per day (0=unlimited). Prevents overwhelming hosted sites with limited request budgets. |
| escalateInfoRecurrence | number | Finding recurrences before INFO→WARNING |
| escalateWarningAgeDays | number | Finding age in days before WARNING→CRITICAL |
| defaultScheduleMultiplier | number | Schedule frequency multiplier (< 1 = more frequent) |
| escalateWarningRecurrence | number | Finding recurrences before WARNING→CRITICAL |
| uptimeDegradedThresholdMs | number | Response time threshold for DEGRADED status |
| maxConcurrentRunsPerTarget | number | Max concurrent test runs per target |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"aiModel": {
"type": "string",
"description": "Model id on the AI gateway for finding enrichment (e.g. mistral/mistral-small-2603, an EU route)"
},
"aiEnabled": {
"type": "boolean",
"description": "Enable/disable AI finding enrichment"
},
"aiCapAction": {
"enum": [
"disable",
"warn"
],
"type": "string",
"description": "Action when cap is reached"
},
"testsPaused": {
"type": "boolean",
"description": "Kill switch — pauses ALL scheduled and manual test runs"
},
"aiAutoEnrich": {
"type": "boolean",
"description": "Auto-enrich new findings with AI"
},
"digestEnabled": {
"type": "boolean",
"description": "Enable notification alert coalescing"
},
"aiMonthlyCapUsd": {
"anyOf": [
{
"type": "number",
"maximum": 10000,
"minimum": 0.01
},
{
"type": "null"
}
],
"description": "Monthly AI spending cap in USD (null = unlimited)"
},
"aiSourceReviewModel": {
"type": "string",
"description": "Model for AI source review plugin"
},
"defaultRunTimeoutMs": {
"type": "number",
"maximum": 3600000,
"minimum": 30000,
"description": "Default run timeout in ms"
},
"digestWindowSeconds": {
"type": "number",
"maximum": 86400,
"minimum": 30,
"description": "Digest window duration in seconds"
},
"escalateInfoAgeDays": {
"type": "number",
"maximum": 365,
"minimum": 1,
"description": "Finding age in days before INFO→WARNING"
},
"seoRankCheckEnabled": {
"type": "boolean",
"description": "Enable Google rank tracking"
},
"uptimeFailThreshold": {
"type": "number",
"maximum": 10,
"minimum": 1,
"description": "Consecutive failures before DOWN"
},
"uptimePingTimeoutMs": {
"type": "number",
"maximum": 30000,
"minimum": 1000,
"description": "Uptime ping timeout in ms"
},
"maxDailyRunsPerTarget": {
"type": "number",
"maximum": 1000,
"minimum": 0,
"description": "Max test runs per target per day (0=unlimited). Prevents overwhelming hosted sites with limited request budgets."
},
"escalateInfoRecurrence": {
"type": "number",
"maximum": 100,
"minimum": 1,
"description": "Finding recurrences before INFO→WARNING"
},
"escalateWarningAgeDays": {
"type": "number",
"maximum": 365,
"minimum": 1,
"description": "Finding age in days before WARNING→CRITICAL"
},
"defaultScheduleMultiplier": {
"type": "number",
"maximum": 10,
"minimum": 0.1,
"description": "Schedule frequency multiplier (< 1 = more frequent)"
},
"escalateWarningRecurrence": {
"type": "number",
"maximum": 100,
"minimum": 1,
"description": "Finding recurrences before WARNING→CRITICAL"
},
"uptimeDegradedThresholdMs": {
"type": "number",
"maximum": 15000,
"minimum": 500,
"description": "Response time threshold for DEGRADED status"
},
"maxConcurrentRunsPerTarget": {
"type": "number",
"maximum": 20,
"minimum": 1,
"description": "Max concurrent test runs per target"
}
},
"additionalProperties": false
}