{
  "x402Version": 2,
  "items": [
    {
      "resource": "https://datasourcepulse.com/api/x402/check",
      "type": "http",
      "x402Version": 2,
      "resourceInfo": {
        "url": "https://datasourcepulse.com/api/x402/check",
        "description": "Detect when an Apify Actor, API, scraper or data feed breaks, goes stale or silently changes shape. One paid call returns a verdict with the evidence behind it, so an agent can decide whether a data source is still trustworthy before acting on it. Works with any HTTP endpoint; 35+ pre-wired vendors (OpenAI, Anthropic, Stripe, GitHub) are a head start, not a limit. Schedule it on your own cadence for continuous monitoring of breakage, staleness and drift.",
        "mimeType": "application/json",
        "serviceName": "Actor, API & Scraper Monitor",
        "tags": [
          "x402",
          "monitoring",
          "reliability",
          "agents",
          "data-quality"
        ]
      },
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:8453",
          "amount": "20000",
          "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
          "payTo": "0x7cCb91a3ad4c45097bDA4C3C29d2Cc89fA93Ab36",
          "maxTimeoutSeconds": 90,
          "extra": {
            "name": "USD Coin",
            "version": "2"
          }
        }
      ],
      "extensions": {
        "bazaar": {
          "info": {
            "input": {
              "type": "http",
              "bodyType": "json",
              "body": {
                "type": "credential",
                "vendor": "generic_http",
                "url": "https://example.com"
              },
              "method": "POST"
            }
          },
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "input": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "http"
                  },
                  "method": {
                    "type": "string",
                    "enum": [
                      "POST"
                    ]
                  },
                  "bodyType": {
                    "type": "string",
                    "enum": [
                      "json",
                      "form-data",
                      "text"
                    ]
                  },
                  "body": {
                    "type": "object",
                    "properties": {
                      "type": {
                        "type": "string",
                        "enum": [
                          "credential",
                          "actor"
                        ],
                        "description": "Check mode. credential (default): validate an API key or HTTP endpoint. actor: health-check a public Apify actor by id. If omitted, inferred: actorId present means actor, otherwise credential."
                      },
                      "vendor": {
                        "type": "string",
                        "description": "credential mode (required): vendor template, e.g. openai, anthropic, gemini, stripe, github, serpapi, reddit, youtube, or generic_http for any HTTP endpoint. Unknown vendors return 400 with the full list location."
                      },
                      "apiKey": {
                        "type": "string",
                        "description": "credential mode: the API key to validate. Used for one live vendor call, never stored."
                      },
                      "bearerToken": {
                        "type": "string",
                        "description": "credential mode: bearer token, for vendors that use one."
                      },
                      "clientId": {
                        "type": "string",
                        "description": "credential mode: OAuth client id, for vendors that use one."
                      },
                      "clientSecret": {
                        "type": "string",
                        "description": "credential mode: OAuth client secret, for vendors that use one."
                      },
                      "refreshToken": {
                        "type": "string",
                        "description": "google_oauth vendor only: OAuth2 refresh token, validated via a token refresh."
                      },
                      "quotaSoftCap": {
                        "type": "number",
                        "description": "credential mode, optional: your own budget line in the vendor's native usage unit. Quota verdicts are evaluated against this cap instead of the vendor's billing wall."
                      },
                      "url": {
                        "type": "string",
                        "description": "generic_http vendor (required): the public endpoint to check. Private, loopback, and internal addresses are rejected."
                      },
                      "authHeader": {
                        "type": "string",
                        "description": "generic_http: full Authorization header value to send."
                      },
                      "successStatusCode": {
                        "type": "number",
                        "description": "generic_http: expected HTTP status (default 200)."
                      },
                      "successJsonPath": {
                        "type": "string",
                        "description": "generic_http: dot-separated JSON path to assert on the response body."
                      },
                      "successJsonValue": {
                        "type": "string",
                        "description": "generic_http: expected string value at successJsonPath."
                      },
                      "actorId": {
                        "type": "string",
                        "description": "actor mode (required): Apify actor id, e.g. apify~web-scraper."
                      },
                      "apifyToken": {
                        "type": "string",
                        "description": "actor mode (required): Apify API token with actor + run read access. Used for live reads, never stored."
                      },
                      "enableVolumeBaseline": {
                        "type": "boolean",
                        "description": "actor mode: alert if latest output volume drops vs the rolling average of recent runs (default true)."
                      },
                      "enableCostBaseline": {
                        "type": "boolean",
                        "description": "actor mode: alert if per-run cost spikes vs the rolling average (default false)."
                      },
                      "stalenessThresholdDays": {
                        "type": "number",
                        "description": "actor mode: failing verdict when the actor has not been updated in this many days (default 30)."
                      },
                      "volumeDropPct": {
                        "type": "number",
                        "description": "actor mode: volume drop threshold percent (default 30)."
                      },
                      "costSpikePct": {
                        "type": "number",
                        "description": "actor mode: cost spike threshold percent (default 50)."
                      },
                      "zeroYieldRunThreshold": {
                        "type": "number",
                        "description": "actor mode: failing verdict when this many consecutive most-recent SUCCEEDED runs each produced 0 dataset items (silent zero-yield). Non-negative integer; 0 disables; default 3."
                      }
                    }
                  }
                },
                "required": [
                  "type",
                  "method",
                  "bodyType",
                  "body"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "input"
            ]
          }
        }
      },
      "lastUpdated": "2026-07-31T07:52:12.582Z"
    }
  ]
}
