{"uid":"cap_0iPD1EQdSHKP6hp7Iad-9","slug":"402utils-deduplicate-records-c86989a6","name":"402utils Deduplicate Records","description":"De-duplicate a list of records or strings. Exact: group by a `key` field (dot-path) or, by default, the whole item (key-order-insensitive). Fuzzy (`fuzzy`: a field name, or true for scalar strings): group by normalized Levenshtein similarity ≥ `threshold` (default 0.85) — e.g. 'Jean Dupont' ≈ 'jean  dupont' but 'Jean Martin' stays separate. Returns unique[] and duplicates[] (kept + dropped indices). Fuzzy ≤ 1000 items.","url":"https://402utils.com/v1/dedupe","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"key":{"type":"string","description":"Exact mode: dot-path to the field that identifies a duplicate. Omit to dedupe whole items."},"fuzzy":{"description":"Fuzzy mode: a field name (dot-path) to compare, or true to compare scalar strings whole."},"items":{"type":"array","description":"The values to deduplicate (objects or scalars)."},"threshold":{"type":"number","default":0.85,"maximum":1,"minimum":0,"description":"Fuzzy similarity threshold in (0,1]. Higher = stricter. Default 0.85."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_W-41EHFXOoXeq7Rh-KVCN","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"De-duplicates a list of objects or strings using exact key matching or fuzzy Levenshtein similarity grouping, returning unique and duplicate items with indices.","exampleAgentPrompt":"Can you deduplicate this list of customer names — ['Jean Dupont', 'jean dupont', 'Jean Martin', 'JEAN DUPONT'] — using fuzzy matching with a similarity threshold of 0.85, comparing the whole string?","exampleUseCases":null,"resultDescription":"A JSON object with two arrays: `unique` (the representative items from each group) and `duplicates` (objects containing each duplicate's kept and dropped indices within the original list), allowing the caller to trace exactly which input items were merged.","failureModes":["More than 1000 items submitted in fuzzy mode — endpoint rejects with an error","Invalid dot-path key field that doesn't exist on input objects — may produce unexpected grouping","Threshold outside (0,1] range — validation error returned","Mixing scalar and object items without a consistent key — undefined or error behavior","Payment not included or insufficient — 402 payment required response"],"whenToPreferThis":"Use this endpoint when you need programmatic, pay-per-call deduplication with support for both exact key-based matching and fuzzy Levenshtein similarity — especially useful for cleaning messy real-world data like names, addresses, or company records where typos and case differences are common. Prefer this over building your own logic when you need fast, stateless deduplication with index tracking in a single API call.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:52:25.779Z","isFirstParty":false}