Two existing audits
| Endpoint | Per-call price | Checks |
|---|---|---|
| POST /audit | USDC 0.005 | Missing values, absent required fields, exact duplicate rows, repeated values in named identifier fields and mixed scalar types. |
| POST /audit/rules | USDC 0.01 | Basic checks plus your supplied uniqueness, allowed-value, numeric-range, regex and date-order rules. |
Three rows. Four findings to review.
Synthetic example executed locally with the existing v0.2.1 audit engine. This is its actual JSON output, without a production request or payment. It is not evidence of a settled paid call.
- Row 2 exactly repeats row 1.
- The identifier A1 occurs in rows 1 and 2.
- Row 3 is missing a status value.
- The required amount field is absent from the dataset.
The duplicate row and repeated identifier overlap: four findings do not mean four bad rows. cleaned: null means no cleaned copy was requested.
Synthetic input
[
{
"id": "A1",
"status": "ready"
},
{
"id": "A1",
"status": "ready"
},
{
"id": "A2"
}
]Initial production request shape
POST https://lira-data-integrity-agent.cristiand182gomez.workers.dev/audit
Content-Type: application/json
{
"format": "json",
"data": [
{
"id": "A1",
"status": "ready"
},
{
"id": "A1",
"status": "ready"
},
{
"id": "A2"
}
],
"id_fields": [
"id"
],
"required_fields": [
"id",
"status",
"amount"
]
}A valid request without payment returns HTTP 402, not the audit result. An x402-compatible client must handle the challenge and authorize the quoted payment to obtain a production result.
Actual local audit response body
{
"version": "0.2.1",
"mode": "audit",
"input_sha256": "dd329d634e18821eb3795384b780f065947d436eb2b7b3e6feab71e0b77cb572",
"policy_sha256": "1537110c6d7723c6bb53d907ffb2a76ab3e54421f4942335cd7693775aec3dbf",
"receipt_sha256": "1d3a507d4a42c1e9ebe7d35349e8ffeeaaec72400ee9ce10d01511dd371b6e05",
"verification": {
"required_checks": [
"missing_values",
"required_fields",
"exact_duplicate_rows",
"duplicate_identifiers",
"mixed_field_types"
],
"completed_checks": [
"missing_values",
"required_fields",
"exact_duplicate_rows",
"duplicate_identifiers",
"mixed_field_types"
],
"pending_checks": [],
"coverage_complete": true,
"finding_free": false,
"status": "FINDINGS_REPORTED",
"checks": [
{
"check": "missing_values",
"status": "COMPLETED",
"rows_observed": 3
},
{
"check": "required_fields",
"status": "COMPLETED",
"rows_observed": 3
},
{
"check": "exact_duplicate_rows",
"status": "COMPLETED",
"rows_observed": 3
},
{
"check": "duplicate_identifiers",
"status": "COMPLETED",
"rows_observed": 3
},
{
"check": "mixed_field_types",
"status": "COMPLETED",
"rows_observed": 3
}
]
},
"rows": 3,
"fields": [
"id",
"status"
],
"summary": {
"missing_value": 1,
"missing_required_field": 1,
"exact_duplicate_row": 1,
"duplicate_identifier": 1
},
"finding_count": 4,
"findings": [
{
"type": "MISSING_VALUE",
"row": 3,
"field": "status"
},
{
"type": "MISSING_REQUIRED_FIELD",
"field": "amount"
},
{
"type": "EXACT_DUPLICATE_ROW",
"row": 2,
"duplicate_of": 1
},
{
"type": "DUPLICATE_IDENTIFIER",
"field": "id",
"value": "A1",
"rows": [
1,
2
]
}
],
"cleaned": null,
"notes": [
"No missing value is invented.",
"Only exact duplicate rows are auto-fixed, and only when explicitly requested.",
"Custom rule findings come only from buyer-supplied rules.",
"Maximum 1000 rows per call.",
"Coverage records checks performed; it does not certify domain correctness or authorize an action.",
"The receipt digest is not a digital signature."
]
}Here verification.coverage_complete is true and finding_free is false: all requested checks ran, and they found issues. The status is FINDINGS_REPORTED. Complete coverage does not mean the data is safe to use.
Access with x402
This origin accepts x402 v2 payments in USDC on Base. Follow the PAYMENT-REQUIRED challenge with an x402-compatible client, authorize its quoted payment and retry. Malformed requests are rejected before payment is requested. The request above shows the body shape; it is not a one-command paid client.
For PayPal purchases, use the API key and credit documentation on the Live storefront. That separate basic v0.1.0 API costs USD 5 for 20 credits or USD 12 for 100 credits (USD 0.25 or USD 0.12 per audit). It does not include custom rule checks or the v0.2.1 verification/receipt fields. Those API keys and credit balances do not apply to this x402 origin.
Coverage and limits
- At most 1,000 rows and a 2,000,000-byte JSON request body, including the wrapper. Use a CSV string or a JSON array of objects in
data. - JSON row numbers start at 1; CSV row numbers start at 2 after the header. A required field absent from the whole dataset is reported separately from a missing cell.
- Inspect both findings and pending checks. Missing fields referenced by identifier or rule checks remain explicit
INCOMPLETEobservations. - Only the supplied data and configured checks are examined. Rules are not inferred, missing values are not invented, and detection of every possible error is not guaranteed. This example does not request duplicate removal.
- Input, policy and receipt SHA-256 digests support reproducibility. They are not digital signatures, external verification, integrations or authorization to act.