{"version":"1.0","name":"Convert structured data and enforce its contract","description":"Convert caller-supplied CSV, TSV, JSON, JSON Lines, or YAML into deterministic JSON, infer a Draft 2020-12 schema from the converted records, then validate a caller-supplied future JSON value against that contract.","network":"eip155:8453","asset":"USDC","paymentProtocol":"x402 v2 exact","buyerGuideUrl":"https://apiacre.com/buyers","catalogUrl":"https://apiacre.com/workflows.json","workflow":{"id":"portable-data-contract","title":"Convert structured data and enforce its contract","description":"Convert caller-supplied CSV, TSV, JSON, JSON Lines, or YAML into deterministic JSON, infer a Draft 2020-12 schema from the converted records, then validate a caller-supplied future JSON value against that contract.","documentationUrl":"https://apiacre.com/workflows/portable-data-contract","machineReadableUrl":"https://apiacre.com/workflows/portable-data-contract.json","totalPrice":"$0.04","totalAtomicUsdc":40000,"stepCount":3,"steps":[{"order":1,"service":"data.convert","title":"Data conversion","purpose":"Normalize the supplied structured data into deterministic JSON.","method":"POST","url":"https://apiacre.com/v1/data/convert","price":"$0.005","documentationUrl":"https://apiacre.com/services/data.convert","checkoutUrl":"https://apiacre.com/try/data.convert","workflowStartUrl":"https://apiacre.com/workflows/portable-data-contract/start/1","sampleUrl":"https://apiacre.com/samples/data.convert","inputTemplate":{"content":"$structuredData","format":"$sourceFormat","target_format":"json","root_mode":"records"},"useOutput":"Verify result.data.inputSha256 and outputSha256, then pass result.data.content to schema inference."},{"order":2,"service":"data.schema","title":"Schema inference","purpose":"Infer a reusable contract from the converted JSON records.","method":"POST","url":"https://apiacre.com/v1/data/schema","price":"$0.025","documentationUrl":"https://apiacre.com/services/data.schema","checkoutUrl":"https://apiacre.com/try/data.schema","workflowStartUrl":"https://apiacre.com/workflows/portable-data-contract/start/2","sampleUrl":"https://apiacre.com/samples/data.schema","inputTemplate":{"content":"$step1.result.data.content","format":"json","root_mode":"records"},"useOutput":"Pass result.data.schema to the validation step."},{"order":3,"service":"data.schema-validate","title":"JSON Schema validation","purpose":"Validate a future caller-supplied JSON value against the inferred contract.","method":"POST","url":"https://apiacre.com/v1/data/schema-validate","price":"$0.01","documentationUrl":"https://apiacre.com/services/data.schema-validate","checkoutUrl":"https://apiacre.com/try/data.schema-validate","workflowStartUrl":"https://apiacre.com/workflows/portable-data-contract/start/3","sampleUrl":"https://apiacre.com/samples/data.schema-validate","inputTemplate":{"schema":"$step2.result.data.schema","instance":"$futureJsonValue","max_errors":25,"check_formats":true},"useOutput":"Require result.data.valid and inspect bounded JSON Pointer errors before accepting the future value."}]}}