Server definition
- Hash
- sha256:fd6cf175d081a5fe3752017439ca81b98d484bdf39e6bbfc841ded03fcbbc2d3
- What it is
- What a remote MCP server returned when asked what it offers: 74 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Acknowledge an open incident to signal that someone is looking at it. Changes status from OPEN to ACKNOWLEDGED.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"incidentId": {
"description": "The incident ID to acknowledge",
"type": "string"
}
},
"required": [
"incidentId"
],
"type": "object"
},
"name": "acknowledge_incident",
"outputSchema": null
},
{
"description": "Get currently running and queued tests across all targets. Useful for checking what tests are in progress right now.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "Filter by target ID",
"type": "string"
}
},
"type": "object"
},
"name": "active_runs",
"outputSchema": null
},
{
"description": "Add an SEO keyword to track for a target. Max 50 keywords per target.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"isPrimary": {
"default": false,
"description": "Mark as primary keyword",
"type": "boolean"
},
"keyword": {
"description": "The keyword to track",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"pageScope": {
"description": "URL pathname pattern to scope the keyword to (e.g. /kategori/*)",
"maxLength": 500,
"type": "string"
},
"targetId": {
"description": "The target ID",
"type": "string"
}
},
"required": [
"targetId",
"keyword"
],
"type": "object"
},
"name": "add_keyword",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"url": {
"description": "URL to analyze, e.g. \"https://example.com\"",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "analyze_target",
"outputSchema": null
},
{
"description": "Cancel a running load test.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"loadTestRunId": {
"description": "The load test run ID to cancel",
"type": "string"
}
},
"required": [
"loadTestRunId"
],
"type": "object"
},
"name": "cancel_load_test",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"actions": {
"description": "Actions to execute when triggered",
"items": {
"additionalProperties": false,
"properties": {
"delayMs": {
"description": "Delay in ms before executing (for rerun action)",
"maximum": 600000,
"minimum": 0,
"type": "integer"
},
"note": {
"description": "Note text (for add_note action)",
"maxLength": 1000,
"type": "string"
},
"severity": {
"description": "Target severity (for escalate action)",
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"type": {
"description": "Action type",
"enum": [
"escalate",
"suppress",
"rerun",
"notify",
"webhook",
"add_note"
],
"type": "string"
},
"webhookUrl": {
"description": "Webhook URL (for webhook action)",
"format": "uri",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"conditions": {
"additionalProperties": false,
"description": "Optional conditions that must be met",
"properties": {
"minRecurrence": {
"description": "Minimum finding recurrence count to trigger",
"minimum": 1,
"type": "integer"
},
"severities": {
"description": "Only trigger for these severity levels",
"items": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"type": "array"
},
"targetIds": {
"description": "Only trigger for these target IDs",
"items": {
"type": "string"
},
"type": "array"
},
"testSlugs": {
"description": "Only trigger for these test slugs",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"name": {
"description": "Rule name",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"priorityOrder": {
"default": 0,
"description": "Priority order (lower = evaluated first)",
"type": "integer"
},
"targetId": {
"description": "Optional target ID to scope rule to a specific target",
"type": "string"
},
"trigger": {
"description": "Event that triggers the rule",
"enum": [
"TEST_FAILED",
"TEST_RECOVERED",
"INCIDENT_CREATED",
"INCIDENT_RESOLVED",
"TARGET_DOWN",
"TARGET_RECOVERED"
],
"type": "string"
}
},
"required": [
"name",
"trigger",
"actions"
],
"type": "object"
},
"name": "create_automation_rule",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"description": "Journey description",
"maxLength": 2000,
"type": "string"
},
"name": {
"description": "Journey name",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"platform": {
"description": "Platform tag (e.g. \"shopify\", \"woocommerce\")",
"maxLength": 50,
"type": "string"
},
"steps": {
"description": "Ordered list of browser actions",
"items": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"navigate",
"click",
"type",
"fill",
"select",
"assert",
"wait",
"screenshot",
"scroll",
"hover",
"use_fragment"
],
"type": "string"
},
"assertionOperator": {
"description": "Assertion type (for assert action)",
"enum": [
"element_visible",
"element_hidden",
"url_contains",
"text_contains",
"element_count"
],
"type": "string"
},
"label": {
"description": "Human-readable step description",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"screenshot": {
"default": false,
"description": "Capture screenshot after this step",
"type": "boolean"
},
"target": {
"description": "CSS selector or URL target",
"type": "string"
},
"value": {
"description": "Value to type/fill, URL to navigate to, or fragment ID for use_fragment",
"type": "string"
},
"waitMs": {
"description": "Wait duration in ms (for wait action)",
"maximum": 30000,
"minimum": 0,
"type": "number"
}
},
"required": [
"action",
"label"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"targetId": {
"description": "Target ID to create the journey for",
"type": "string"
},
"timeoutSeconds": {
"default": 60,
"description": "Max execution time in seconds",
"maximum": 300,
"minimum": 10,
"type": "number"
}
},
"required": [
"targetId",
"name",
"steps"
],
"type": "object"
},
"name": "create_journey",
"outputSchema": null
},
{
"description": "Schedule a maintenance window for a target. During maintenance, alerts and notifications are suppressed. Supports one-time, daily, and weekly recurring windows.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"description": "Optional description",
"type": "string"
},
"endsAt": {
"description": "End time as ISO 8601 string, e.g. \"2026-04-05T04:00:00Z\"",
"type": "string"
},
"isRecurring": {
"default": false,
"description": "Whether this window repeats",
"type": "boolean"
},
"name": {
"description": "Name for the window, e.g. \"Weekly deploy\"",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"recurrence": {
"description": "Recurrence pattern (required if isRecurring is true)",
"enum": [
"DAILY",
"WEEKLY"
],
"type": "string"
},
"startsAt": {
"description": "Start time as ISO 8601 string, e.g. \"2026-04-05T02:00:00Z\"",
"type": "string"
},
"targetId": {
"description": "The target ID",
"type": "string"
}
},
"required": [
"targetId",
"name",
"startsAt",
"endsAt"
],
"type": "object"
},
"name": "create_maintenance_window",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"expiresAt": {
"description": "Optional expiry as ISO 8601 string. Rule auto-expires after this time.",
"type": "string"
},
"fingerprintPattern": {
"description": "Substring to match in finding fingerprints (required for FINGERPRINT scope)",
"type": "string"
},
"reason": {
"description": "Reason for muting",
"maxLength": 500,
"type": "string"
},
"scope": {
"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.",
"enum": [
"FINGERPRINT",
"TEST_DEFINITION",
"TEST_TARGET"
],
"type": "string"
},
"targetId": {
"description": "Target ID to scope the rule to (required for TEST_TARGET, optional for others)",
"type": "string"
},
"testDefinitionId": {
"description": "Test definition ID (required for TEST_DEFINITION and TEST_TARGET scopes)",
"type": "string"
}
},
"required": [
"scope"
],
"type": "object"
},
"name": "create_muting_rule",
"outputSchema": null
},
{
"description": "Create a notification alert rule. Defines which events at which severity levels trigger notifications on which channels. Supports quiet hours and per-target scoping.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channelTypes": {
"description": "Channels to notify",
"items": {
"enum": [
"IN_APP",
"EMAIL",
"SLACK",
"WEBHOOK",
"SMS",
"WEB_PUSH"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"enabled": {
"default": true,
"description": "Whether the rule is active",
"type": "boolean"
},
"eventTypes": {
"description": "Events that trigger this rule",
"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,
"type": "array"
},
"name": {
"description": "Rule name",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"quietHoursEnd": {
"description": "Quiet hours end (hour UTC)",
"maximum": 23,
"minimum": 0,
"type": "number"
},
"quietHoursStart": {
"description": "Quiet hours start (hour UTC)",
"maximum": 23,
"minimum": 0,
"type": "number"
},
"severities": {
"description": "Only trigger for these severities",
"items": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"type": "array"
},
"targetId": {
"description": "Scope to a specific target",
"type": "string"
}
},
"required": [
"name",
"eventTypes",
"channelTypes"
],
"type": "object"
},
"name": "create_notification_rule",
"outputSchema": null
},
{
"description": "Create a reusable step sequence that can be shared across multiple Journeys. Fragment names must be unique per team.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"description": "Fragment description",
"maxLength": 2000,
"type": "string"
},
"name": {
"description": "Fragment name (unique per team)",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"steps": {
"description": "Ordered list of browser actions",
"items": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"navigate",
"click",
"type",
"fill",
"select",
"assert",
"wait",
"screenshot",
"scroll",
"hover"
],
"type": "string"
},
"assertionOperator": {
"enum": [
"element_visible",
"element_hidden",
"url_contains",
"text_contains",
"element_count"
],
"type": "string"
},
"label": {
"description": "Step description",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"screenshot": {
"default": false,
"type": "boolean"
},
"target": {
"description": "CSS selector or URL",
"type": "string"
},
"value": {
"description": "Value to type/fill or URL to navigate",
"type": "string"
},
"waitMs": {
"maximum": 30000,
"minimum": 0,
"type": "number"
}
},
"required": [
"action",
"label"
],
"type": "object"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
}
},
"required": [
"name",
"steps"
],
"type": "object"
},
"name": "create_page_fragment",
"outputSchema": null
},
{
"description": "Create a new scheduled email report. Reports include run stats, open findings, composite scores, and per-target status.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"dayOfWeek": {
"default": 1,
"description": "Day of week for WEEKLY reports (0=Sunday, 1=Monday, ..., 6=Saturday)",
"maximum": 6,
"minimum": 0,
"type": "number"
},
"frequency": {
"default": "WEEKLY",
"description": "How often to send",
"enum": [
"DAILY",
"WEEKLY"
],
"type": "string"
},
"hourUtc": {
"default": 8,
"description": "Hour in UTC to send the report",
"maximum": 23,
"minimum": 0,
"type": "number"
},
"name": {
"default": "Weekly Summary",
"description": "Report name",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"recipients": {
"default": "",
"description": "Comma-separated email addresses. Empty = all team members.",
"type": "string"
}
},
"type": "object"
},
"name": "create_scheduled_report",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"environment": {
"default": "PRODUCTION",
"description": "Deployment environment",
"enum": [
"PRODUCTION",
"STAGING",
"DEV"
],
"type": "string"
},
"name": {
"description": "Display name for the target",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"tags": {
"default": [],
"description": "Optional tags for categorization",
"items": {
"type": "string"
},
"type": "array"
},
"type": {
"description": "Target type: WEBSITE, API, or WEBSHOP. Use analyze_target to auto-detect.",
"enum": [
"WEBSITE",
"API",
"WEBSHOP"
],
"type": "string"
},
"uptimeEnabled": {
"default": true,
"description": "Enable background uptime monitoring",
"type": "boolean"
},
"url": {
"description": "URL to monitor, e.g. \"https://example.com\"",
"format": "uri",
"type": "string"
},
"weight": {
"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).",
"enum": [
"REVENUE_PATH",
"PUBLIC",
"INTERNAL"
],
"type": "string"
}
},
"required": [
"name",
"url",
"type"
],
"type": "object"
},
"name": "create_target",
"outputSchema": null
},
{
"description": "Get daily time-series data for runs, findings, and average duration. Useful for identifying trends over time. Returns up to 90 days of data.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"days": {
"default": 14,
"description": "Number of days of history to return",
"maximum": 90,
"minimum": 1,
"type": "number"
},
"targetId": {
"description": "Filter by target ID (omit for team-wide)",
"type": "string"
}
},
"type": "object"
},
"name": "daily_trends",
"outputSchema": null
},
{
"description": "Permanently delete an automation rule.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ruleId": {
"description": "The automation rule ID to delete",
"type": "string"
}
},
"required": [
"ruleId"
],
"type": "object"
},
"name": "delete_automation_rule",
"outputSchema": null
},
{
"description": "Permanently delete a journey and all its steps.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"journeyId": {
"description": "The journey ID to delete",
"type": "string"
}
},
"required": [
"journeyId"
],
"type": "object"
},
"name": "delete_journey",
"outputSchema": null
},
{
"description": "Remove a scheduled maintenance window.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "The target ID (for access verification)",
"type": "string"
},
"windowId": {
"description": "The maintenance window ID to delete",
"type": "string"
}
},
"required": [
"windowId",
"targetId"
],
"type": "object"
},
"name": "delete_maintenance_window",
"outputSchema": null
},
{
"description": "Permanently delete a notification rule.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ruleId": {
"description": "The notification rule ID to delete",
"type": "string"
}
},
"required": [
"ruleId"
],
"type": "object"
},
"name": "delete_notification_rule",
"outputSchema": null
},
{
"description": "Permanently delete a page fragment.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"fragmentId": {
"description": "The fragment ID to delete",
"type": "string"
}
},
"required": [
"fragmentId"
],
"type": "object"
},
"name": "delete_page_fragment",
"outputSchema": null
},
{
"description": "Permanently delete a scheduled report.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"reportId": {
"description": "The scheduled report ID to delete",
"type": "string"
}
},
"required": [
"reportId"
],
"type": "object"
},
"name": "delete_scheduled_report",
"outputSchema": null
},
{
"description": "Permanently delete a secret from a target's vault.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"secretId": {
"description": "The secret ID to delete",
"type": "string"
},
"targetId": {
"description": "The target ID (for access verification)",
"type": "string"
}
},
"required": [
"secretId",
"targetId"
],
"type": "object"
},
"name": "delete_secret",
"outputSchema": null
},
{
"description": "Permanently delete a target and all its associated data (runs, findings, incidents, artifacts). This cannot be undone.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"confirm": {
"description": "Must be true to confirm deletion",
"type": "boolean"
},
"targetId": {
"description": "The target ID to delete",
"type": "string"
}
},
"required": [
"targetId",
"confirm"
],
"type": "object"
},
"name": "delete_target",
"outputSchema": null
},
{
"description": "Disable all test definitions globally. Optionally filter by category to only disable tests in that category. Requires admin scope.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"description": "Only disable tests in this category. Omit to disable all.",
"enum": [
"SEO",
"SECURITY",
"PERFORMANCE",
"MOBILE",
"ACCESSIBILITY",
"ECOMMERCE",
"API_HEALTH"
],
"type": "string"
}
},
"type": "object"
},
"name": "disable_all_tests",
"outputSchema": null
},
{
"description": "Enable all test definitions globally. Optionally filter by category to only enable tests in that category. Requires admin scope.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"description": "Only enable tests in this category. Omit to enable all.",
"enum": [
"SEO",
"SECURITY",
"PERFORMANCE",
"MOBILE",
"ACCESSIBILITY",
"ECOMMERCE",
"API_HEALTH"
],
"type": "string"
}
},
"type": "object"
},
"name": "enable_all_tests",
"outputSchema": null
},
{
"description": "Get full details of a specific automation rule.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"ruleId": {
"description": "The automation rule ID",
"type": "string"
}
},
"required": [
"ruleId"
],
"type": "object"
},
"name": "get_automation_rule",
"outputSchema": null
},
{
"description": "Get full details of a specific finding, including evidence, AI analysis, and recommended fix.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"findingId": {
"description": "The finding ID",
"type": "string"
}
},
"required": [
"findingId"
],
"type": "object"
},
"name": "get_finding",
"outputSchema": null
},
{
"description": "Get full details of a specific incident including linked findings, AI analysis, and deployment correlation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"incidentId": {
"description": "The incident ID",
"type": "string"
}
},
"required": [
"incidentId"
],
"type": "object"
},
"name": "get_incident",
"outputSchema": null
},
{
"description": "Get full details of a specific journey including all steps.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"journeyId": {
"description": "The journey ID",
"type": "string"
}
},
"required": [
"journeyId"
],
"type": "object"
},
"name": "get_journey",
"outputSchema": null
},
{
"description": "Get details and results of a load test run.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"loadTestRunId": {
"description": "The load test run ID",
"type": "string"
}
},
"required": [
"loadTestRunId"
],
"type": "object"
},
"name": "get_load_test",
"outputSchema": null
},
{
"description": "Get full details of a specific test run including metrics, score, summary, errors, and associated findings.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"runId": {
"description": "The run ID",
"type": "string"
}
},
"required": [
"runId"
],
"type": "object"
},
"name": "get_run",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"includePages": {
"default": false,
"description": "Include individual page data (can be large). Default: false.",
"type": "boolean"
},
"pageLimit": {
"default": 50,
"description": "Max pages to return when includePages is true",
"maximum": 200,
"minimum": 1,
"type": "number"
},
"pageStatus": {
"description": "Filter pages by status",
"enum": [
"HEALTHY",
"BROKEN",
"REDIRECT",
"SLOW"
],
"type": "string"
},
"targetId": {
"description": "The target ID",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "get_site_map",
"outputSchema": null
},
{
"description": "Get detailed information about a specific target including status, uptime, fingerprint, and composite scores.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "The target ID to look up",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "get_target",
"outputSchema": null
},
{
"description": "Get composite scores (Security, SEO, Performance, Accessibility, AI-search readiness) for a target. Each score is 0-100 with a status rating.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "The target ID",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "get_target_scores",
"outputSchema": null
},
{
"description": "Get the team's configuration including AI enrichment, uptime monitoring, severity escalation, run policies, notification coalescing, SEO, and Kloner Tasks integration settings.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "get_team_settings",
"outputSchema": null
},
{
"description": "Poll results for a guest_start_scan. Pass the scanId and guestSessionId from the start response. No API key required.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"guestSessionId": {
"description": "Guest session id returned by guest_start_scan",
"minLength": 1,
"type": "string"
},
"scanId": {
"description": "Scan workflow id from guest_start_scan",
"minLength": 1,
"type": "string"
}
},
"required": [
"scanId"
],
"type": "object"
},
"name": "guest_get_scan",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"url": {
"description": "Public http(s) URL to scan, e.g. https://example.com",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "guest_start_scan",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"items": {
"description": "Array of targets to import",
"items": {
"additionalProperties": false,
"properties": {
"name": {
"description": "Display name (defaults to hostname)",
"type": "string"
},
"type": {
"default": "WEBSITE",
"description": "Target type",
"enum": [
"WEBSITE",
"API",
"WEBSHOP"
],
"type": "string"
},
"url": {
"description": "URL to monitor",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
},
"name": "import_targets",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"enabled": {
"description": "Filter by enabled/disabled status",
"type": "boolean"
}
},
"type": "object"
},
"name": "list_automation_rules",
"outputSchema": null
},
{
"description": "List findings (discovered issues) across your targets. Filter by status, severity, or target. Returns title, severity, status, test name, and AI enrichment if available.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"default": 50,
"description": "Max number of findings to return",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"severity": {
"description": "Filter by severity",
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"status": {
"description": "Filter by finding status (default: OPEN)",
"enum": [
"OPEN",
"MUTED",
"RESOLVED"
],
"type": "string"
},
"targetId": {
"description": "Filter by target ID",
"type": "string"
}
},
"type": "object"
},
"name": "list_findings",
"outputSchema": null
},
{
"description": "List incidents (grouped operational issues) across your targets. Filter by status. Returns title, severity, status, findings count, and deployment correlation.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"default": 50,
"description": "Max number of incidents to return",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"status": {
"description": "Filter by incident status",
"enum": [
"OPEN",
"ACKNOWLEDGED",
"RESOLVED"
],
"type": "string"
},
"targetId": {
"description": "Filter by target ID",
"type": "string"
}
},
"type": "object"
},
"name": "list_incidents",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "Filter by target ID. If omitted, lists all team journeys.",
"type": "string"
}
},
"type": "object"
},
"name": "list_journeys",
"outputSchema": null
},
{
"description": "List all SEO keywords tracked for a target, including latest Google rank position. Max 50 per target.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "The target ID",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "list_keywords",
"outputSchema": null
},
{
"description": "List recent load test runs for a target.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"default": 10,
"description": "Max results",
"maximum": 50,
"minimum": 1,
"type": "number"
},
"targetId": {
"description": "The target ID",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "list_load_tests",
"outputSchema": null
},
{
"description": "List maintenance windows for a target. Shows scheduled and recurring maintenance periods that suppress alerts.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "The target ID",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "list_maintenance_windows",
"outputSchema": null
},
{
"description": "List all notification channels (Email, Slack, Webhook, SMS, Web Push) configured for the team. Sensitive config values are redacted.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_notification_channels",
"outputSchema": null
},
{
"description": "List all notification alert rules for the team. Rules map event types + severity levels to notification channels.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_notification_rules",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_page_fragments",
"outputSchema": null
},
{
"description": "List recent test runs. Filter by target, status, or test slug. Returns run status, score, summary, duration, and finding count.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"default": 25,
"description": "Max number of runs to return",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"status": {
"description": "Filter by run status",
"enum": [
"QUEUED",
"RUNNING",
"PASSED",
"WARNING",
"FAILED",
"CANCELED"
],
"type": "string"
},
"targetId": {
"description": "Filter by target ID",
"type": "string"
},
"testSlug": {
"description": "Filter by test definition slug (e.g. \"security-headers\")",
"type": "string"
}
},
"type": "object"
},
"name": "list_runs",
"outputSchema": null
},
{
"description": "List all scheduled reports for the team. Reports are automatically generated and emailed on a daily or weekly basis.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "list_scheduled_reports",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "The target ID",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "list_secrets",
"outputSchema": null
},
{
"description": "List all monitoring targets for your team. Returns name, URL, type, status, and uptime info for each target.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"limit": {
"default": 50,
"description": "Max number of targets to return",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"status": {
"description": "Filter by target status",
"enum": [
"HEALTHY",
"WARNING",
"CRITICAL",
"UNKNOWN"
],
"type": "string"
},
"type": {
"description": "Filter by target type",
"enum": [
"WEBSITE",
"API",
"WEBSHOP"
],
"type": "string"
}
},
"type": "object"
},
"name": "list_targets",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"category": {
"description": "Filter by test category",
"enum": [
"SEO",
"SECURITY",
"PERFORMANCE",
"MOBILE",
"ACCESSIBILITY",
"ECOMMERCE",
"API_HEALTH"
],
"type": "string"
},
"enabledOnly": {
"default": true,
"description": "Only show enabled tests. Default: true.",
"type": "boolean"
}
},
"type": "object"
},
"name": "list_tests",
"outputSchema": null
},
{
"description": "Mute an open finding to suppress it from dashboards and alerts. Status changes from OPEN to MUTED.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"findingId": {
"description": "The finding ID to mute",
"type": "string"
}
},
"required": [
"findingId"
],
"type": "object"
},
"name": "mute_finding",
"outputSchema": null
},
{
"description": "Force recompute all composite scores (Security, SEO, Performance, Accessibility) for a target. Useful after manual changes or when scores seem stale.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "The target ID to recompute scores for",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "recompute_scores",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"commitSha": {
"description": "Git commit SHA",
"type": "string"
},
"deployedBy": {
"description": "Who deployed (name, email, or system)",
"type": "string"
},
"description": {
"description": "Deployment description or changelog",
"type": "string"
},
"environment": {
"description": "Environment, e.g. \"production\", \"staging\"",
"type": "string"
},
"targetId": {
"description": "The target ID",
"type": "string"
},
"version": {
"description": "Version string, e.g. \"v2.4.1\"",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "record_deployment",
"outputSchema": null
},
{
"description": "Remove an SEO keyword from a target.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"keywordId": {
"description": "The keyword ID to remove",
"type": "string"
},
"targetId": {
"description": "The target ID (for access verification)",
"type": "string"
}
},
"required": [
"keywordId",
"targetId"
],
"type": "object"
},
"name": "remove_keyword",
"outputSchema": null
},
{
"description": "Resolve an incident to mark it as handled. Changes status to RESOLVED and sets the closed timestamp.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"incidentId": {
"description": "The incident ID to resolve",
"type": "string"
}
},
"required": [
"incidentId"
],
"type": "object"
},
"name": "resolve_incident",
"outputSchema": null
},
{
"description": "Update the value of an existing secret.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"newValue": {
"description": "New secret value",
"minLength": 1,
"type": "string"
},
"secretId": {
"description": "The secret ID to rotate",
"type": "string"
},
"targetId": {
"description": "The target ID (for access verification)",
"type": "string"
}
},
"required": [
"secretId",
"targetId",
"newValue"
],
"type": "object"
},
"name": "rotate_secret",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"acknowledgeSharedOrigin": {
"description": "Acknowledge blast radius if target shares a server with other monitored sites",
"type": "boolean"
},
"concurrency": {
"default": 10,
"description": "Number of concurrent connections",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"duration": {
"default": 30,
"description": "Test duration in seconds",
"maximum": 300,
"minimum": 10,
"type": "number"
},
"httpMethod": {
"description": "HTTP method",
"enum": [
"GET",
"POST",
"PUT",
"DELETE",
"PATCH"
],
"type": "string"
},
"mode": {
"default": "HTTP_FLOOD",
"description": "Load test mode",
"enum": [
"HTTP_FLOOD",
"BROWSER_USERS",
"COMBINED"
],
"type": "string"
},
"rampUp": {
"description": "Ramp-up time in seconds",
"maximum": 60,
"minimum": 0,
"type": "number"
},
"targetId": {
"description": "The target ID to load test",
"type": "string"
},
"targetUrl": {
"description": "Override URL (defaults to target URL)",
"format": "uri",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "start_load_test",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"description": "Optional description",
"maxLength": 500,
"type": "string"
},
"environment": {
"default": "PRODUCTION",
"description": "Environment scope",
"enum": [
"PRODUCTION",
"STAGING",
"DEVELOPMENT"
],
"type": "string"
},
"key": {
"description": "Secret key (e.g. LOGIN_EMAIL)",
"maxLength": 100,
"minLength": 1,
"pattern": "^[a-zA-Z_][a-zA-Z0-9_]*$",
"type": "string"
},
"label": {
"description": "Human-readable label",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"targetId": {
"description": "The target ID",
"type": "string"
},
"value": {
"description": "Secret value (will be encrypted)",
"minLength": 1,
"type": "string"
}
},
"required": [
"targetId",
"key",
"label",
"value"
],
"type": "object"
},
"name": "store_secret",
"outputSchema": null
},
{
"description": "Get a comprehensive system health report: BullMQ queue depths, active/stuck runs, user sessions, notification delivery stats, and recent error counts. Requires admin scope.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "system_health",
"outputSchema": null
},
{
"description": "Get statistics for a specific target: runs, pass rate, findings, duration. Supports lifetime, monthly, or weekly periods.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"period": {
"description": "Period filter: \"lifetime\", \"2026-04\" (monthly), or \"2026-W14\" (weekly). Defaults to lifetime.",
"type": "string"
},
"targetId": {
"description": "The target ID",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "target_stats",
"outputSchema": null
},
{
"description": "Get team-wide overview statistics: total runs, pass rate, open findings, open incidents, average duration. Supports lifetime, monthly, or weekly periods.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"period": {
"description": "Period filter: \"lifetime\", \"2026-04\" (monthly), or \"2026-W14\" (weekly). Defaults to lifetime.",
"type": "string"
}
},
"type": "object"
},
"name": "team_stats",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "The target ID to scan",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "trigger_all_tests",
"outputSchema": null
},
{
"description": "Execute a journey (custom browser test flow) against its target. The journey runs asynchronously — use get_run to check progress.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"journeyId": {
"description": "The journey ID to trigger",
"type": "string"
}
},
"required": [
"journeyId"
],
"type": "object"
},
"name": "trigger_journey",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"targetId": {
"description": "The target ID to test",
"type": "string"
},
"testId": {
"description": "Test definition ID (use this or testSlug)",
"type": "string"
},
"testSlug": {
"description": "Test slug e.g. \"security-headers\" (use this or testId)",
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "trigger_test",
"outputSchema": null
},
{
"description": "Update an existing automation rule. Any field not provided will remain unchanged.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"actions": {
"description": "Updated actions",
"items": {
"additionalProperties": false,
"properties": {
"delayMs": {
"maximum": 600000,
"minimum": 0,
"type": "integer"
},
"note": {
"maxLength": 1000,
"type": "string"
},
"severity": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"type": {
"enum": [
"escalate",
"suppress",
"rerun",
"notify",
"webhook",
"add_note"
],
"type": "string"
},
"webhookUrl": {
"format": "uri",
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"conditions": {
"additionalProperties": false,
"description": "Updated conditions",
"properties": {
"minRecurrence": {
"minimum": 1,
"type": "integer"
},
"severities": {
"items": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"type": "array"
},
"targetIds": {
"items": {
"type": "string"
},
"type": "array"
},
"testSlugs": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"isEnabled": {
"description": "Enable or disable the rule",
"type": "boolean"
},
"name": {
"description": "Updated rule name",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"priorityOrder": {
"description": "Updated priority order",
"type": "integer"
},
"ruleId": {
"description": "The automation rule ID to update",
"type": "string"
},
"targetId": {
"description": "Updated target scope (null to remove target scoping)",
"type": [
"string",
"null"
]
},
"trigger": {
"description": "Updated trigger event",
"enum": [
"TEST_FAILED",
"TEST_RECOVERED",
"INCIDENT_CREATED",
"INCIDENT_RESOLVED",
"TARGET_DOWN",
"TARGET_RECOVERED"
],
"type": "string"
}
},
"required": [
"ruleId"
],
"type": "object"
},
"name": "update_automation_rule",
"outputSchema": null
},
{
"description": "Update a journey's name, settings, or steps. When steps are provided, all existing steps are replaced.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"anyOf": [
{
"maxLength": 2000,
"type": "string"
},
{
"type": "null"
}
],
"description": "Updated description"
},
"isEnabled": {
"description": "Enable or disable the journey",
"type": "boolean"
},
"journeyId": {
"description": "The journey ID to update",
"type": "string"
},
"name": {
"description": "Updated name",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"steps": {
"description": "Replacement steps (replaces all existing steps)",
"items": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"navigate",
"click",
"type",
"fill",
"select",
"assert",
"wait",
"screenshot",
"scroll",
"hover",
"use_fragment"
],
"type": "string"
},
"assertionOperator": {
"description": "Assertion type (for assert action)",
"enum": [
"element_visible",
"element_hidden",
"url_contains",
"text_contains",
"element_count"
],
"type": "string"
},
"label": {
"description": "Human-readable step description",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"screenshot": {
"default": false,
"description": "Capture screenshot after this step",
"type": "boolean"
},
"target": {
"description": "CSS selector or URL target",
"type": "string"
},
"value": {
"description": "Value to type/fill, URL to navigate to, or fragment ID for use_fragment",
"type": "string"
},
"waitMs": {
"description": "Wait duration in ms (for wait action)",
"maximum": 30000,
"minimum": 0,
"type": "number"
}
},
"required": [
"action",
"label"
],
"type": "object"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"timeoutSeconds": {
"description": "Updated timeout",
"maximum": 300,
"minimum": 10,
"type": "number"
}
},
"required": [
"journeyId"
],
"type": "object"
},
"name": "update_journey",
"outputSchema": null
},
{
"description": "Update a notification rule. Only provided fields are changed.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"channelTypes": {
"items": {
"enum": [
"IN_APP",
"EMAIL",
"SLACK",
"WEBHOOK",
"SMS",
"WEB_PUSH"
],
"type": "string"
},
"minItems": 1,
"type": "array"
},
"enabled": {
"type": "boolean"
},
"eventTypes": {
"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,
"type": "array"
},
"name": {
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"quietHoursEnd": {
"anyOf": [
{
"maximum": 23,
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
]
},
"quietHoursStart": {
"anyOf": [
{
"maximum": 23,
"minimum": 0,
"type": "number"
},
{
"type": "null"
}
]
},
"ruleId": {
"description": "The notification rule ID",
"type": "string"
},
"severities": {
"items": {
"enum": [
"CRITICAL",
"WARNING",
"INFO"
],
"type": "string"
},
"type": "array"
}
},
"required": [
"ruleId"
],
"type": "object"
},
"name": "update_notification_rule",
"outputSchema": null
},
{
"description": "Update a page fragment. When steps are provided, all existing steps are replaced.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"anyOf": [
{
"maxLength": 2000,
"type": "string"
},
{
"type": "null"
}
]
},
"fragmentId": {
"description": "The fragment ID",
"type": "string"
},
"name": {
"description": "Updated name",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"steps": {
"description": "Replacement steps",
"items": {
"additionalProperties": false,
"properties": {
"action": {
"enum": [
"navigate",
"click",
"type",
"fill",
"select",
"assert",
"wait",
"screenshot",
"scroll",
"hover"
],
"type": "string"
},
"assertionOperator": {
"enum": [
"element_visible",
"element_hidden",
"url_contains",
"text_contains",
"element_count"
],
"type": "string"
},
"label": {
"description": "Step description",
"maxLength": 200,
"minLength": 1,
"type": "string"
},
"screenshot": {
"default": false,
"type": "boolean"
},
"target": {
"description": "CSS selector or URL",
"type": "string"
},
"value": {
"description": "Value to type/fill or URL to navigate",
"type": "string"
},
"waitMs": {
"maximum": 30000,
"minimum": 0,
"type": "number"
}
},
"required": [
"action",
"label"
],
"type": "object"
},
"maxItems": 30,
"minItems": 1,
"type": "array"
}
},
"required": [
"fragmentId"
],
"type": "object"
},
"name": "update_page_fragment",
"outputSchema": null
},
{
"description": "Update an existing scheduled report. Any field not provided stays unchanged.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"dayOfWeek": {
"description": "Updated day of week",
"maximum": 6,
"minimum": 0,
"type": "number"
},
"enabled": {
"description": "Enable or disable the report",
"type": "boolean"
},
"frequency": {
"description": "Updated frequency",
"enum": [
"DAILY",
"WEEKLY"
],
"type": "string"
},
"hourUtc": {
"description": "Updated hour UTC",
"maximum": 23,
"minimum": 0,
"type": "number"
},
"name": {
"description": "Updated name",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"recipients": {
"description": "Updated comma-separated email list",
"type": "string"
},
"reportId": {
"description": "The scheduled report ID to update",
"type": "string"
}
},
"required": [
"reportId"
],
"type": "object"
},
"name": "update_scheduled_report",
"outputSchema": null
},
{
"description": "Update a target's properties (name, URL, type, environment, business weight, tags, uptime toggle).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"environment": {
"description": "New environment",
"enum": [
"PRODUCTION",
"STAGING",
"DEV"
],
"type": "string"
},
"name": {
"description": "New display name",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"tags": {
"description": "New tags (replaces existing)",
"items": {
"type": "string"
},
"type": "array"
},
"targetId": {
"description": "The target ID to update",
"type": "string"
},
"type": {
"description": "New target type",
"enum": [
"WEBSITE",
"API",
"WEBSHOP"
],
"type": "string"
},
"uptimeEnabled": {
"description": "Toggle uptime monitoring",
"type": "boolean"
},
"uptimeKeyword": {
"anyOf": [
{
"anyOf": [
{
"not": {}
},
{
"maxLength": 500,
"type": "string"
}
]
},
{
"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."
},
"url": {
"description": "New URL",
"format": "uri",
"type": "string"
},
"weight": {
"description": "New business weight: REVENUE_PATH, PUBLIC or INTERNAL. Changing this rescores the target's open findings so the consequence ranking updates immediately.",
"enum": [
"REVENUE_PATH",
"PUBLIC",
"INTERNAL"
],
"type": "string"
}
},
"required": [
"targetId"
],
"type": "object"
},
"name": "update_target",
"outputSchema": null
},
{
"description": "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).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"aiAutoEnrich": {
"description": "Auto-enrich new findings with AI",
"type": "boolean"
},
"aiCapAction": {
"description": "Action when cap is reached",
"enum": [
"disable",
"warn"
],
"type": "string"
},
"aiEnabled": {
"description": "Enable/disable AI finding enrichment",
"type": "boolean"
},
"aiModel": {
"description": "Model id on the AI gateway for finding enrichment (e.g. mistral/mistral-small-2603, an EU route)",
"type": "string"
},
"aiMonthlyCapUsd": {
"anyOf": [
{
"maximum": 10000,
"minimum": 0.01,
"type": "number"
},
{
"type": "null"
}
],
"description": "Monthly AI spending cap in USD (null = unlimited)"
},
"aiSourceReviewModel": {
"description": "Model for AI source review plugin",
"type": "string"
},
"defaultRunTimeoutMs": {
"description": "Default run timeout in ms",
"maximum": 3600000,
"minimum": 30000,
"type": "number"
},
"defaultScheduleMultiplier": {
"description": "Schedule frequency multiplier (< 1 = more frequent)",
"maximum": 10,
"minimum": 0.1,
"type": "number"
},
"digestEnabled": {
"description": "Enable notification alert coalescing",
"type": "boolean"
},
"digestWindowSeconds": {
"description": "Digest window duration in seconds",
"maximum": 86400,
"minimum": 30,
"type": "number"
},
"escalateInfoAgeDays": {
"description": "Finding age in days before INFO→WARNING",
"maximum": 365,
"minimum": 1,
"type": "number"
},
"escalateInfoRecurrence": {
"description": "Finding recurrences before INFO→WARNING",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"escalateWarningAgeDays": {
"description": "Finding age in days before WARNING→CRITICAL",
"maximum": 365,
"minimum": 1,
"type": "number"
},
"escalateWarningRecurrence": {
"description": "Finding recurrences before WARNING→CRITICAL",
"maximum": 100,
"minimum": 1,
"type": "number"
},
"maxConcurrentRunsPerTarget": {
"description": "Max concurrent test runs per target",
"maximum": 20,
"minimum": 1,
"type": "number"
},
"maxDailyRunsPerTarget": {
"description": "Max test runs per target per day (0=unlimited). Prevents overwhelming hosted sites with limited request budgets.",
"maximum": 1000,
"minimum": 0,
"type": "number"
},
"seoRankCheckEnabled": {
"description": "Enable Google rank tracking",
"type": "boolean"
},
"testsPaused": {
"description": "Kill switch — pauses ALL scheduled and manual test runs",
"type": "boolean"
},
"uptimeDegradedThresholdMs": {
"description": "Response time threshold for DEGRADED status",
"maximum": 15000,
"minimum": 500,
"type": "number"
},
"uptimeFailThreshold": {
"description": "Consecutive failures before DOWN",
"maximum": 10,
"minimum": 1,
"type": "number"
},
"uptimePingTimeoutMs": {
"description": "Uptime ping timeout in ms",
"maximum": 30000,
"minimum": 1000,
"type": "number"
}
},
"type": "object"
},
"name": "update_team_settings",
"outputSchema": null
},
{
"description": "Enable or disable a test definition globally, or update its schedule/timeout. Requires admin scope.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"defaultSchedule": {
"description": "Cron schedule (e.g. \"0 */6 * * *\")",
"type": "string"
},
"enabled": {
"description": "Enable or disable the test globally",
"type": "boolean"
},
"slug": {
"description": "Test plugin slug (e.g. \"http-protocol-check\")",
"type": "string"
},
"timeout": {
"description": "Timeout in milliseconds",
"type": "number"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "update_test",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:fd6cf175d081a5fe3752017439ca81b98d484bdf39e6bbfc841ded03fcbbc2d3 | sha256sum