{
  "openapi": "3.0.1",
  "info": {
    "title": "Website Change Monitor (MCP)",
    "description": "Website change monitor and webhook scheduler for AI agents. Track job completion, price drops, restocks, uptime, JSON values, and page changes after the agent disconnects, then POST the result to Slack, Discord, n8n, Zapier, Make, or your own webhook.",
    "version": "0.1",
    "x-build-id": "ZchCf5qGDHHhTj3Yq"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/blyck~website-change-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-blyck-website-change-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/blyck~website-change-monitor/runs": {
      "post": {
        "operationId": "runs-sync-blyck-website-change-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/blyck~website-change-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-blyck-website-change-monitor",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "action": {
            "title": "What do you want to do?",
            "enum": [
              "check_now",
              "register_watch",
              "watch_status",
              "cancel_watch",
              "schedule_notification"
            ],
            "type": "string",
            "description": "Register a new watch, inspect or cancel an existing watch, schedule a one-off notification, or check your existing watches now.",
            "default": "check_now"
          },
          "url": {
            "title": "URL to monitor",
            "pattern": "^https://.+",
            "type": "string",
            "description": "Public HTTPS URL to check. Pages behind logins, paywalls, private networks, or bot protection are not supported."
          },
          "interval": {
            "title": "Check interval",
            "enum": [
              "5m",
              "15m",
              "30m",
              "1h",
              "6h",
              "12h",
              "24h"
            ],
            "type": "string",
            "description": "How often to check. Minimum 5 minutes, maximum 24 hours.",
            "default": "1h"
          },
          "when": {
            "title": "Notify me when",
            "enum": [
              "changed",
              "contains",
              "not_contains",
              "status",
              "json"
            ],
            "type": "string",
            "description": "Choose a precise condition to avoid noisy alerts from timestamps, ads, or rotating page content.",
            "default": "changed"
          },
          "path": {
            "title": "JSON path",
            "type": "string",
            "description": "For a JSON condition, enter the scalar value path, for example <code>$.status</code> or <code>data.items[0].price</code>."
          },
          "op": {
            "title": "Comparison",
            "enum": [
              "eq",
              "ne",
              "lt",
              "lte",
              "gt",
              "gte"
            ],
            "type": "string",
            "description": "Comparison used by HTTP status and JSON conditions.",
            "default": "eq"
          },
          "value": {
            "title": "Expected value",
            "type": "string",
            "description": "Text, status code, or JSON scalar value to compare. Example: <code>completed</code>, <code>200</code>, or <code>29.99</code>."
          },
          "stopWhenMet": {
            "title": "Stop after the first match",
            "type": "boolean",
            "description": "Recommended for job completion, restock, price threshold, and service recovery waits.",
            "default": true
          },
          "label": {
            "title": "Label",
            "type": "string",
            "description": "Optional note returned with the result so your automation can identify this watch."
          },
          "callbackUrl": {
            "title": "Callback URL",
            "type": "string",
            "description": "Optional public HTTPS endpoint that receives a POST when the condition is met. Slack, Discord, n8n, Zapier, Make, and your own webhook are supported. Stored encrypted by Apify."
          },
          "checkBlocks": {
            "title": "Prepaid check blocks",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "One block costs $0.25 and includes up to 1,000 checks. Identical retries reuse the existing watch for free.",
            "default": 1
          },
          "watchId": {
            "title": "Watch ID",
            "type": "string",
            "description": "Returned by <code>register_watch</code>. Required for <code>watch_status</code> and <code>cancel_watch</code>."
          },
          "runAt": {
            "title": "Run at",
            "type": "string",
            "description": "Future ISO 8601 time, for example <code>2030-01-01T09:00:00Z</code>."
          },
          "note": {
            "title": "Notification note",
            "type": "string",
            "description": "Optional text included in the scheduled notification."
          },
          "mode": {
            "title": "Legacy runtime mode",
            "type": "string",
            "description": "Internal compatibility field used by the owner schedule and local development.",
            "default": "tick"
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}