{"product":"catalog-update-gate","free":true,"preview_url":"https://api.pay-forge.online/v2/catalog-update-gate/preview","example_input":{"contract":{"identity_field":"url","identity_mode":"url","price_field":"price","currency_field":"currency","allowed_currencies":["USD","EUR"],"unit_field":"unit","allowed_units":["each","kg"],"fields":{"url":{"type":"string","required":true},"title":{"type":"string","required":true},"price":{"type":"decimal","required":true,"decimal_places":2},"currency":{"type":"string","required":true},"unit":{"type":"string","required":true}}},"previous":[{"url":"https://store.example/p/coffee","title":"Coffee","price":"12.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/tea","title":"Tea","price":"8.00","currency":"USD","unit":"each"}],"current":[{"url":"https://store.example/p/coffee","title":"Coffee","price":"13.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/tea","title":"Tea","price":"8.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/cocoa","title":"Cocoa","price":"9.50","currency":"USD","unit":"each"},{"url":"https://store.example/p/bad-price","title":"Bad price","price":"€19,99","currency":"EUR","unit":"each"},{"url":"https://store.example/p/no-currency","title":"Unknown money","price":"20.00","unit":"each"},{"url":"https://store.example/p/duplicate#one","title":"Variant","price":"5.00","currency":"USD","unit":"each"},{"url":"https://STORE.example:443/p/duplicate#two","title":"Variant","price":"50.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/missing-title","price":"4.00","currency":"USD","unit":"each"},{"url":"https://store.example/p/drift","title":"New scraper schema","price":"4.00","currency":"USD","unit":"each","salePrice":"3.00"}]},"repeat_usage":"Run after each supplier export. Supply at most 50 previous and 50 current records per bounded request. Partition by stable identity without splitting duplicates across partitions. Retain original rows, review quarantines and apply accepted upserts atomically against the previous snapshot hash. No inferred deletions.","paid_url":"https://api.pay-forge.online/v2/catalog-update-gate","price_usdc":"0.050000","payment":"Inspect the unsigned 402 challenge; authorize separately in your own x402 client. No signer or payment is included in these examples.","retry_policy":"Use one stable Idempotency-Key per logical paid operation. Reuse the identical body, key and authorization on uncertain retries; never create replacement payments. Stop on 202/pending and reconcile. Do not blindly retry 4xx errors. Bound concurrency and back off on 429/503.","http_example":"curl --fail-with-body --max-time 20 -H 'Content-Type: application/json' --data-binary @input.json 'https://api.pay-forge.online/v2/catalog-update-gate/preview'","unsigned_quote_example":"curl -i --max-time 20 'https://api.pay-forge.online/v2/catalog-update-gate'","n8n_workflow_url":"https://api.pay-forge.online/workflows/catalog-update-gate.json","agent_usage":{"discovery":"https://api.pay-forge.online/v2/manifest","mcp":"https://api.pay-forge.online/v2/mcp","instructions":"Inspect tools/list and product schemas. Use the HTTP free preview before a paid tool. Paid tools require caller authorization; no automatic purchase."}}