{"uid":"cap_65mJgNdpg2mOV354dcvpq","slug":"openrefine-verified-table-recipe-replay-b4f77c92","name":"OpenRefine Verified Table Recipe Replay","description":"Executes a caller-directed sequence of table operations in native OpenRefine and returns the transformed table together with the exported recipe. What distinguishes it from simply transforming data is the evidence: the recipe is persisted, the project is reopened, and the whole thing is replayed from the original input, with hashes reported at each stage.","url":"https://agent.halowerk.com/v1/oss-openrefine-verified-table-recipe-replay?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"steps":{"type":"array","items":{"oneOf":[{"type":"object","required":["op","column","trim","case"],"properties":{"op":{"const":"normalize_text"},"case":{"enum":["preserve","lower","upper"]},"trim":{"type":"boolean"},"column":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"}},"additionalProperties":false},{"type":"object","required":["op","column","edits"],"properties":{"op":{"const":"replace_values"},"edits":{"type":"array","items":{"type":"object","required":["from","to"],"properties":{"to":{"type":"string","maxLength":4096},"from":{"type":"array","items":{"type":"string","maxLength":4096,"minLength":1},"maxItems":32,"minItems":1}},"additionalProperties":false},"maxItems":32,"minItems":1},"column":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"}},"additionalProperties":false},{"type":"object","required":["op","name","columns","separator","null_policy"],"properties":{"op":{"const":"add_text_column"},"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"},"columns":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"},"maxItems":8,"minItems":1},"separator":{"type":"string","maxLength":64},"null_policy":{"enum":["empty","propagate"]}},"additionalProperties":false},{"type":"object","required":["op","column","name"],"properties":{"op":{"const":"rename_column"},"name":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"},"column":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"}},"additionalProperties":false},{"type":"object","required":["op","column"],"properties":{"op":{"const":"remove_column"},"column":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"}},"additionalProperties":false},{"type":"object","required":["op","columns"],"properties":{"op":{"const":"reorder_columns"},"columns":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"},"maxItems":16,"minItems":1}},"additionalProperties":false}]},"maxItems":16,"minItems":1},"table":{"type":"object","required":["columns","rows"],"properties":{"rows":{"type":"array","items":{"type":"object","required":["id","values"],"properties":{"id":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"},"values":{"type":"array","items":{"anyOf":[{"type":"string","maxLength":4096},{"type":"null"}]},"maxItems":16,"minItems":1}},"additionalProperties":false},"maxItems":1000,"minItems":1},"columns":{"type":"array","items":{"type":"string","pattern":"^[A-Za-z][A-Za-z0-9_]{0,31}$"},"maxItems":16,"minItems":1}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.0045","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.0045/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0045","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0045","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_BjThGSRafUPutbroDXyPF","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0045","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Executes a sequence of OpenRefine table operations, persists the recipe, replays it from the original input, and returns the transformed table with hash-verified audit trail.","exampleAgentPrompt":"Take this CSV table, run these steps — normalize the 'company_name' column to lowercase with trimming, replace 'N/A' and 'n/a' with empty string in 'revenue', rename 'rev' to 'revenue_usd', and reorder columns to ['company_name','revenue_usd','country'] — then replay the whole recipe from the original data and give me back the cleaned table plus the stage hashes.","exampleUseCases":[{"title":"Auditable CRM data standardization","prompt":"I need to clean up our CRM export: normalize the 'contact_name' column to lowercase with trim, replace all variants of 'unknown' with empty string in 'email', rename 'ph' to 'phone_number', and then replay the whole thing from the raw file so I have hashes proving each step was applied correctly."},{"title":"Reproducible product catalog normalization","prompt":"Clean up this product catalog table — normalize 'product_title' to uppercase without trimming, replace 'n/a' and 'NA' with empty string in 'sku', add a 'full_label' column that joins 'brand' and 'product_title' with a space separator using empty null policy — and give me the persisted recipe so I can replay it on next month's export."},{"title":"Verified financial data column restructuring","prompt":"Apply these table ops to my transaction data: remove the 'internal_notes' column, reorder columns to ['date','amount','merchant','category'], normalize 'merchant' to lower case with trim — then replay the recipe from the original input and confirm each stage with a hash so I can prove the transformations weren't tampered with."}],"resultDescription":"Returns the transformed table data, the exported OpenRefine recipe (JSON), and cryptographic hashes reported at each transformation stage, confirming that the recipe was persisted, the project reopened, and the sequence replayed faithfully from the original input.","failureModes":["Column name not found in table — step references a non-existent column","Invalid column name pattern — must match ^[A-Za-z][A-Za-z0-9_]{0,31}$","Too many steps provided — maximum of 16 steps allowed","Hash mismatch at a replay stage — indicates non-deterministic transformation","Empty steps array — at least 1 step required","replace_values edits exceed 32-item limit","Payment failure via x402 protocol — call not executed"],"whenToPreferThis":"Choose this endpoint when you need not just transformed table data but cryptographic proof that the transformation was applied correctly and reproducibly — specifically when auditability, recipe persistence, and replay verification matter. Ideal for regulated data pipelines, compliance workflows, or any scenario where you must demonstrate that a specific sequence of OpenRefine operations was faithfully applied to the original input.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-29T00:31:46.141Z","isFirstParty":false,"canonicalSlug":"openrefine-verified-table-recipe-replay-b4f77c92"}