{
  "x402Version": 2,
  "id": 79811,
  "slug": "79811",
  "resource": "https://agent-evidence-extractor.defcronyke.workers.dev/v1/csv-preflight",
  "description": "Validate CSV rows against a caller-defined import contract before database import or ETL: required headers and values, declared types, allowed values and numeric bounds, plus optional unique/composite keys and duplicate-row checks. Returns row-numbered issue codes without cell values. Deterministic, no model call; $0.005 USDC on Base, Arbitrum, or Polygon.",
  "type": "http",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xc4e484e62133dadac5be498ae3f311f5b8428cce",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "5000",
      "amountUsd": 0.005,
      "maxTimeoutSeconds": 300
    },
    {
      "scheme": "exact",
      "network": "eip155:42161",
      "payTo": "0xc4e484e62133dadac5be498ae3f311f5b8428cce",
      "asset": "0xaf88d065e77c8cC2239327C5EDb3A432268e5831",
      "amount": "5000",
      "amountUsd": 0.005,
      "maxTimeoutSeconds": 300
    },
    {
      "scheme": "exact",
      "network": "eip155:137",
      "payTo": "0xc4e484e62133dadac5be498ae3f311f5b8428cce",
      "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
      "amount": "5000",
      "amountUsd": 0.005,
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "type": "object",
    "required": [
      "ok",
      "summary",
      "issues"
    ],
    "additionalProperties": false,
    "properties": {
      "ok": {
        "type": "boolean"
      },
      "summary": {
        "type": "object",
        "required": [
          "records",
          "columns",
          "issue_count",
          "issue_counts",
          "issues_truncated"
        ],
        "additionalProperties": false,
        "properties": {
          "records": {
            "type": "integer"
          },
          "columns": {
            "type": "integer"
          },
          "issue_count": {
            "type": "integer"
          },
          "issue_counts": {
            "type": "object",
            "additionalProperties": {
              "type": "integer"
            }
          },
          "issues_truncated": {
            "type": "boolean"
          }
        }
      },
      "issues": {
        "type": "array",
        "items": {
          "type": "object",
          "required": [
            "record",
            "code"
          ],
          "additionalProperties": false,
          "properties": {
            "record": {
              "type": "integer",
              "description": "Logical CSV record number; 0 denotes a header-level issue."
            },
            "code": {
              "type": "string",
              "enum": [
                "declared_column_missing",
                "blank_record",
                "record_width_mismatch",
                "required_value_empty",
                "invalid_value_type",
                "duplicate_value",
                "duplicate_composite_key",
                "duplicate_row",
                "value_not_allowed",
                "value_out_of_range",
                "formula_like_value"
              ]
            },
            "column": {
              "type": "string"
            }
          }
        }
      }
    }
  },
  "tags": [
    "csv-preflight",
    "csv-validation",
    "import-validation",
    "schema-validation",
    "data-import",
    "etl",
    "data-quality"
  ],
  "sourceHost": "agent-evidence-extractor.defcronyke.workers.dev",
  "lastUpdated": "2026-11-15T07:34:52.656Z",
  "quality": {},
  "liveness": {
    "reliability": null
  },
  "verified": true,
  "featured": false,
  "provider": {
    "host": "agent-evidence-extractor.defcronyke.workers.dev",
    "manifest_name": "Agent Evidence Utility",
    "source": "submitted",
    "source_manifest_url": "https://agent-evidence-extractor.defcronyke.workers.dev/.well-known/x402",
    "submitted_at": "2026-11-15T07:34:52.656Z"
  },
  "exampleResponse": {
    "ok": true,
    "summary": {
      "records": 0,
      "columns": 0,
      "issue_count": 0,
      "issue_counts": {},
      "issues_truncated": true
    },
    "issues": [
      {
        "record": 0,
        "code": "declared_column_missing",
        "column": "string"
      }
    ]
  }
}