Solution
Merchant name cleanup API
TxnKit helps teams solve merchant name cleanup with one safe descriptor, confidence-aware output, and warnings when identity evidence is weak.
Target intent
turn raw card descriptors into clean merchant display names.
TxnKit does not pretend every ambiguous descriptor has a known merchant.
Raw descriptor
SQ *JOES COFFEE 0421 TORONTOAPI-shaped output
{
"normalized_merchant": "joes coffee",
"display_name": "Joes Coffee",
"category": null,
"subcategory": null,
"website": null,
"logos": {
"preferred": null,
"variants": [],
"warnings": [
"no_verified_logo_for_local_merchant"
]
},
"confidence": 0.56,
"recurring_hint": false,
"processor_hint": "square",
"location_hint": {
"city": "Toronto",
"country": "CA"
},
"signals": [
"applied_processor_square_sq_star",
"removed_reference_tokens"
],
"warnings": [
"local_merchant_identity_not_verified"
]
}Low-confidence results should keep fallback labels and warnings visible instead of forcing a guessed logo or website.
When to use
- You need merchant name cleanup for transaction-feed UI, audit, or import review workflows.
- You can send safe anonymized descriptors without customer PII or full statement text.
- You want API-shaped output that a developer can inspect before wiring product UI.
When not to use
- TxnKit does not pretend every ambiguous descriptor has a known merchant.
- Do not use TxnKit to process card numbers, account numbers, full statements, bank credentials, emails, phone numbers, addresses, customer names, or customer PII.
- Do not use TxnKit when the product requirement is guaranteed merchant identity, every-merchant resolution, or contracted uptime terms.
Proof surfaces
The public contract is POST /v1/enrich, backed by the OpenAPI file, benchmark examples, privacy rules, and deterministic request-path tests.