Server definition
- Hash
- sha256:16cd13015f3a692ed3ff876b1b33ecdcb45671c45f2ca65859f4eff7e3536e8c
- What it is
- What a remote MCP server returned when asked what it offers: 15 tools
The blob, as servednamed by its sha256
{
"instructions": "Pricewatcha turns public product URLs into structured price intelligence.\n\nWorkflow:\n1. Use get_api_status to verify the API is reachable.\n2. track_product submits a URL and waits briefly (~25s). Fast shops return status \"completed\" with product.\n3. If track_product returns status \"running\", poll get_job_status with the job_id until completed or failed.\n4. get_product / get_price_history / search_products read product-level catalog data.\n5. For continuous price updates (API key): watch_product / list_watchlist, or pass watch=true on track_product. Creating a price alert also watches the product.\n6. Price alerts: create_price_alert / list_price_alerts / get_price_alert / update_price_alert / delete_price_alert. These require a Pricewatcha API key (pwk_live_...). You can notify on any drop or rise without a numeric threshold (notify_on_drop / notify_on_rise), and optionally add min/max thresholds.\n\nRate limits (important):\n- Prefer one track at a time; avoid bursting many track_product calls. Limits are per client (~2 concurrent tracks, ~10/min, ~40/hour, ~80/day).\n- When polling get_job_status, use exponential backoff (start ~3–5s, then increase; do not poll every 1–2s). Job polls are limited (~40/min).\n- On error.code \"rate_limited\" or http_status 429: wait retry_after_seconds (or several seconds) before retrying; do not immediately retry in a tight loop.\n- Spread tracks over time rather than submitting many URLs back-to-back.\n\nProduct IDs: demo_* (samples), prod_* (all catalog products). Demo: demo_iphone_15_pro, demo_galaxy_s24.\nCatalog reads need no API key. Alert and watchlist tools require api_key. Prices are informational; merchant sites are authoritative.\n\nTool errors use structured objects: error.code, error.message, error.http_status, error.retry_recommended, error.retry_after_seconds.",
"tools": [
{
"description": "Create a price alert for a product. Use notify_on_drop / notify_on_rise for any price change without a numeric threshold, and/or min_threshold_price / max_threshold_price for target prices. At least one of those four settings is required. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Pricewatcha API key (pwk_live_...)",
"minLength": 1,
"type": "string"
},
"max_threshold_price": {
"description": "Notify when the price rises to or above this value.",
"exclusiveMinimum": 0,
"type": "number"
},
"min_threshold_price": {
"description": "Notify when the price drops to or below this value.",
"exclusiveMinimum": 0,
"type": "number"
},
"name": {
"description": "Optional alert name",
"maxLength": 128,
"type": "string"
},
"notify_email": {
"description": "Send email notifications (default true)",
"type": "boolean"
},
"notify_on_drop": {
"description": "Notify on any price drop. No threshold required.",
"type": "boolean"
},
"notify_on_rise": {
"description": "Notify on any price increase. No threshold required.",
"type": "boolean"
},
"product_id": {
"description": "Public product ID (prod_... or demo_...)",
"minLength": 1,
"type": "string"
},
"webhook_url": {
"description": "Optional HTTPS webhook URL",
"format": "uri",
"type": "string"
}
},
"required": [
"api_key",
"product_id"
],
"type": "object"
},
"name": "create_price_alert",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"alert_id": {
"type": "integer"
},
"created_at": {
"type": "string"
},
"currency": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"last_triggered_at": {
"type": [
"string",
"null"
]
},
"max_threshold_price": {
"type": [
"number",
"null"
]
},
"min_threshold_price": {
"type": [
"number",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"notify_email": {
"type": "boolean"
},
"notify_on_drop": {
"type": "boolean"
},
"notify_on_rise": {
"type": "boolean"
},
"product_id": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"webhook_url": {
"type": [
"string",
"null"
]
}
},
"required": [
"alert_id",
"product_id",
"notify_on_drop",
"notify_on_rise",
"currency",
"notify_email",
"is_active",
"created_at",
"updated_at"
],
"type": "object"
}
},
{
"description": "Delete a price alert. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"alert_id": {
"description": "Alert ID to delete",
"exclusiveMinimum": 0,
"type": "integer"
},
"api_key": {
"description": "Pricewatcha API key (pwk_live_...)",
"minLength": 1,
"type": "string"
}
},
"required": [
"api_key",
"alert_id"
],
"type": "object"
},
"name": "delete_price_alert",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"alert_id": {
"type": "integer"
},
"deleted": {
"const": true,
"type": "boolean"
}
},
"required": [
"deleted",
"alert_id"
],
"type": "object"
}
},
{
"description": "Check whether the Pricewatcha public API is available. Returns health and discovery metadata. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "get_api_status",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"api": {
"additionalProperties": true,
"properties": {
"agent_ready": {
"type": "boolean"
},
"description": {
"type": "string"
},
"name": {
"type": "string"
},
"status": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"name",
"version",
"status"
],
"type": "object"
},
"base_url": {
"type": "string"
},
"health": {
"additionalProperties": true,
"properties": {
"service": {
"type": "string"
},
"status": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"status",
"service",
"version"
],
"type": "object"
}
},
"required": [
"base_url",
"health",
"api"
],
"type": "object"
}
},
{
"description": "Poll an async tracking job by job_id. Returns status (queued, running, completed, or failed). On completion, product is populated; on scrape failure, error is populated (HTTP 200 job lookup — not a transport error). On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"job_id": {
"description": "Job ID from track_product",
"minLength": 1,
"type": "string"
}
},
"required": [
"job_id"
],
"type": "object"
},
"name": "get_job_status",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"error": {
"anyOf": [
{
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"http_status": {
"type": [
"number",
"null"
]
},
"message": {
"type": "string"
},
"retry_after_seconds": {
"type": [
"number",
"null"
]
},
"retry_recommended": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retry_recommended"
],
"type": "object"
},
{
"type": "null"
}
]
},
"hint": {
"type": "string"
},
"job_id": {
"type": "string"
},
"product": {
"anyOf": [
{
"additionalProperties": true,
"properties": {
"currency": {
"type": "string"
},
"current_price": {
"type": [
"number",
"null"
]
},
"last_checked_at": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"product_id": {
"type": "string"
},
"product_url": {
"type": "string"
},
"shop": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"product_id",
"name",
"shop",
"currency"
],
"type": "object"
},
{
"type": "null"
}
]
},
"status": {
"enum": [
"queued",
"running",
"completed",
"failed"
],
"type": "string"
}
},
"required": [
"job_id",
"status"
],
"type": "object"
}
},
{
"description": "Get one price alert by alert_id. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"alert_id": {
"description": "Alert ID from create_price_alert or list_price_alerts",
"exclusiveMinimum": 0,
"type": "integer"
},
"api_key": {
"description": "Pricewatcha API key (pwk_live_...)",
"minLength": 1,
"type": "string"
}
},
"required": [
"api_key",
"alert_id"
],
"type": "object"
},
"name": "get_price_alert",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"alert_id": {
"type": "integer"
},
"created_at": {
"type": "string"
},
"currency": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"last_triggered_at": {
"type": [
"string",
"null"
]
},
"max_threshold_price": {
"type": [
"number",
"null"
]
},
"min_threshold_price": {
"type": [
"number",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"notify_email": {
"type": "boolean"
},
"notify_on_drop": {
"type": "boolean"
},
"notify_on_rise": {
"type": "boolean"
},
"product_id": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"webhook_url": {
"type": [
"string",
"null"
]
}
},
"required": [
"alert_id",
"product_id",
"notify_on_drop",
"notify_on_rise",
"currency",
"notify_email",
"is_active",
"created_at",
"updated_at"
],
"type": "object"
}
},
{
"description": "Get historical prices, aggregates (low/high/average), trend, and data points for a product. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"product_id": {
"description": "Public product ID",
"minLength": 1,
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "get_price_history",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"average_price": {
"type": [
"number",
"null"
]
},
"currency": {
"type": "string"
},
"current_price": {
"type": [
"number",
"null"
]
},
"data_points": {
"items": {
"additionalProperties": false,
"properties": {
"date": {
"type": "string"
},
"price": {
"type": "number"
}
},
"required": [
"date",
"price"
],
"type": "object"
},
"type": "array"
},
"historical_high": {
"type": [
"number",
"null"
]
},
"historical_low": {
"type": [
"number",
"null"
]
},
"preview": {
"type": "boolean"
},
"product_id": {
"type": "string"
},
"trend": {
"enum": [
"upward",
"downward",
"stable",
"unknown"
],
"type": "string"
}
},
"required": [
"product_id",
"currency",
"data_points"
],
"type": "object"
}
},
{
"description": "Get structured product price intelligence by product_id (e.g. demo_iphone_15_pro or prod_xxx from a completed job). On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"product_id": {
"description": "Public product ID",
"minLength": 1,
"type": "string"
}
},
"required": [
"product_id"
],
"type": "object"
},
"name": "get_product",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"currency": {
"type": "string"
},
"current_price": {
"type": [
"number",
"null"
]
},
"last_checked_at": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"preview": {
"type": "boolean"
},
"product_id": {
"type": "string"
},
"product_url": {
"type": "string"
},
"shop": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"product_id",
"name",
"shop",
"currency"
],
"type": "object"
}
},
{
"description": "Check whether your account watches a product for continuous updates. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Pricewatcha API key (pwk_live_...)",
"minLength": 1,
"type": "string"
},
"product_id": {
"description": "Public product ID (prod_... or demo_...)",
"minLength": 1,
"type": "string"
}
},
"required": [
"api_key",
"product_id"
],
"type": "object"
},
"name": "get_watch_status",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"product_id": {
"type": "string"
},
"watched_at": {
"type": [
"string",
"null"
]
},
"watching": {
"type": "boolean"
}
},
"required": [
"product_id",
"watching"
],
"type": "object"
}
},
{
"description": "List your price alerts. Optionally filter by product_id. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Pricewatcha API key (pwk_live_...)",
"minLength": 1,
"type": "string"
},
"product_id": {
"description": "Optional public product ID filter",
"minLength": 1,
"type": "string"
}
},
"required": [
"api_key"
],
"type": "object"
},
"name": "list_price_alerts",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"alerts": {
"items": {
"additionalProperties": true,
"properties": {
"alert_id": {
"type": "integer"
},
"created_at": {
"type": "string"
},
"currency": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"last_triggered_at": {
"type": [
"string",
"null"
]
},
"max_threshold_price": {
"type": [
"number",
"null"
]
},
"min_threshold_price": {
"type": [
"number",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"notify_email": {
"type": "boolean"
},
"notify_on_drop": {
"type": "boolean"
},
"notify_on_rise": {
"type": "boolean"
},
"product_id": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"webhook_url": {
"type": [
"string",
"null"
]
}
},
"required": [
"alert_id",
"product_id",
"notify_on_drop",
"notify_on_rise",
"currency",
"notify_email",
"is_active",
"created_at",
"updated_at"
],
"type": "object"
},
"type": "array"
},
"count": {
"type": "integer"
}
},
"required": [
"count",
"alerts"
],
"type": "object"
}
},
{
"description": "List products your account watches for continuous price updates. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Pricewatcha API key (pwk_live_...)",
"minLength": 1,
"type": "string"
},
"limit": {
"description": "Max items (default 50)",
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"offset": {
"description": "Items to skip (default 0)",
"minimum": 0,
"type": "integer"
}
},
"required": [
"api_key"
],
"type": "object"
},
"name": "list_watchlist",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"items": {
"items": {
"additionalProperties": true,
"properties": {
"product": {
"additionalProperties": true,
"properties": {
"currency": {
"type": "string"
},
"current_price": {
"type": [
"number",
"null"
]
},
"last_checked_at": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"preview": {
"type": "boolean"
},
"product_id": {
"type": "string"
},
"product_url": {
"type": "string"
},
"shop": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"product_id",
"name",
"shop",
"currency"
],
"type": "object"
},
"product_id": {
"type": "string"
},
"watched_at": {
"type": "string"
}
},
"required": [
"product_id",
"watched_at",
"product"
],
"type": "object"
},
"type": "array"
},
"total": {
"type": "integer"
}
},
"required": [
"items",
"total"
],
"type": "object"
}
},
{
"description": "Searches the Pricewatcha product catalog by keyword (token AND; word order does not matter). Supports minus-prefixed exclude terms: e.g. \"iPhone 15 -cover -case\" returns devices only. Returns product-level data only — not user accounts or alert settings. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"query": {
"description": "Search keywords (token AND). Supports minus-prefixed exclude terms: e.g. \"iPhone 15 -cover -case\"",
"maxLength": 200,
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_products",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"count": {
"type": "integer"
},
"query": {
"type": "string"
},
"results": {
"items": {
"additionalProperties": true,
"properties": {
"currency": {
"type": "string"
},
"current_price": {
"type": [
"number",
"null"
]
},
"name": {
"type": "string"
},
"preview": {
"type": "boolean"
},
"product_id": {
"type": "string"
},
"product_url": {
"type": [
"string",
"null"
]
},
"shop": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"product_id",
"name",
"shop"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"query",
"count",
"results"
],
"type": "object"
}
},
{
"description": "Submit a public product URL for price tracking. Waits up to ~25s server-side; fast shops return status \"completed\" with product in one call. Slow jobs return status \"running\" with job_id — poll get_job_status. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Optional API key (pwk_live_...). Required for watch/refresh.",
"minLength": 1,
"type": "string"
},
"refresh": {
"description": "If true (API key required), force a re-scrape even if the URL is already in the catalog.",
"type": "boolean"
},
"url": {
"description": "Public product page URL from a supported shop",
"format": "uri",
"type": "string"
},
"watch": {
"description": "If true (API key required), enroll the product for continuous scheduler updates.",
"type": "boolean"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "track_product",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"error": {
"anyOf": [
{
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"http_status": {
"type": [
"number",
"null"
]
},
"message": {
"type": "string"
},
"retry_after_seconds": {
"type": [
"number",
"null"
]
},
"retry_recommended": {
"type": "boolean"
}
},
"required": [
"code",
"message",
"retry_recommended"
],
"type": "object"
},
{
"type": "null"
}
]
},
"hint": {
"type": "string"
},
"job_id": {
"type": "string"
},
"product": {
"anyOf": [
{
"additionalProperties": true,
"properties": {
"currency": {
"type": "string"
},
"current_price": {
"type": [
"number",
"null"
]
},
"last_checked_at": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"product_id": {
"type": "string"
},
"product_url": {
"type": "string"
},
"shop": {
"type": "string"
},
"status": {
"type": "string"
}
},
"required": [
"product_id",
"name",
"shop",
"currency"
],
"type": "object"
},
{
"type": "null"
}
]
},
"status": {
"enum": [
"queued",
"running",
"completed",
"failed"
],
"type": "string"
}
},
"required": [
"job_id",
"status"
],
"type": "object"
}
},
{
"description": "Remove a product from your account watchlist. Fails while an active price alert exists for the product. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Pricewatcha API key (pwk_live_...)",
"minLength": 1,
"type": "string"
},
"product_id": {
"description": "Public product ID (prod_... or demo_...)",
"minLength": 1,
"type": "string"
}
},
"required": [
"api_key",
"product_id"
],
"type": "object"
},
"name": "unwatch_product",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"product_id": {
"type": "string"
},
"watched_at": {
"type": [
"string",
"null"
]
},
"watching": {
"type": "boolean"
}
},
"required": [
"product_id",
"watching"
],
"type": "object"
}
},
{
"description": "Update a price alert. You can switch to threshold-free notify_on_drop / notify_on_rise, change thresholds, or toggle is_active. At least one setting must remain. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"alert_id": {
"description": "Alert ID to update",
"exclusiveMinimum": 0,
"type": "integer"
},
"api_key": {
"description": "Pricewatcha API key (pwk_live_...)",
"minLength": 1,
"type": "string"
},
"is_active": {
"type": "boolean"
},
"max_threshold_price": {
"anyOf": [
{
"exclusiveMinimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"description": "Max threshold, or null to clear."
},
"min_threshold_price": {
"anyOf": [
{
"exclusiveMinimum": 0,
"type": "number"
},
{
"type": "null"
}
],
"description": "Min threshold, or null to clear."
},
"name": {
"maxLength": 128,
"type": "string"
},
"notify_email": {
"type": "boolean"
},
"notify_on_drop": {
"description": "Notify on any price drop. No threshold required.",
"type": "boolean"
},
"notify_on_rise": {
"description": "Notify on any price increase. No threshold required.",
"type": "boolean"
},
"webhook_url": {
"anyOf": [
{
"format": "uri",
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"api_key",
"alert_id"
],
"type": "object"
},
"name": "update_price_alert",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"alert_id": {
"type": "integer"
},
"created_at": {
"type": "string"
},
"currency": {
"type": "string"
},
"is_active": {
"type": "boolean"
},
"last_triggered_at": {
"type": [
"string",
"null"
]
},
"max_threshold_price": {
"type": [
"number",
"null"
]
},
"min_threshold_price": {
"type": [
"number",
"null"
]
},
"name": {
"type": [
"string",
"null"
]
},
"notify_email": {
"type": "boolean"
},
"notify_on_drop": {
"type": "boolean"
},
"notify_on_rise": {
"type": "boolean"
},
"product_id": {
"type": "string"
},
"updated_at": {
"type": "string"
},
"webhook_url": {
"type": [
"string",
"null"
]
}
},
"required": [
"alert_id",
"product_id",
"notify_on_drop",
"notify_on_rise",
"currency",
"notify_email",
"is_active",
"created_at",
"updated_at"
],
"type": "object"
}
},
{
"description": "Add a catalog product to your account watchlist so the price scheduler keeps updating it. Requires a Pricewatcha API key (pwk_live_...) from https://pricewatcha.com/profile#api-keys. On failure, returns a structured error object with fields error.code, error.message, error.http_status, error.retry_recommended, and error.retry_after_seconds.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"api_key": {
"description": "Pricewatcha API key (pwk_live_...)",
"minLength": 1,
"type": "string"
},
"product_id": {
"description": "Public product ID (prod_... or demo_...)",
"minLength": 1,
"type": "string"
}
},
"required": [
"api_key",
"product_id"
],
"type": "object"
},
"name": "watch_product",
"outputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": true,
"properties": {
"product_id": {
"type": "string"
},
"watched_at": {
"type": [
"string",
"null"
]
},
"watching": {
"type": "boolean"
}
},
"required": [
"product_id",
"watching"
],
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:16cd13015f3a692ed3ff876b1b33ecdcb45671c45f2ca65859f4eff7e3536e8c | sha256sum