> ## Documentation Index
> Fetch the complete documentation index at: https://docs.swippee.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Merchant enrichment

> Resolve Fonepay terminal PANs and merchant-name strings to a clean name, MCC, spend category, and city.

Turn raw Fonepay terminal PANs and merchant-name strings into clean merchant
data — name, MCC, spend category, and city — so you can enrich your own
transaction feed with the same data that powers Swippee's parsing.

Requires a Bearer key (`FULL` scope); bills 1 unit per call (batch up to 1000
lookups).

## Resolve a batch

```bash theme={null}
curl -X POST https://api.swippee.com/v1/merchants/resolve \
  -H "Authorization: Bearer $SWIPPEE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "terminals": ["2222000000000000"], "names": ["Example Cafe"] }'
```

```json theme={null}
{
  "data": {
    "count": 2,
    "matched": 2,
    "results": [
      {
        "input": "2222000000000000",
        "type": "terminal",
        "matched": true,
        "merchant": "Example Cafe",
        "mcc": "5814",
        "category": "dining",
        "city": "Kathmandu",
        "terminal": "2222000000000000"
      }
    ]
  },
  "meta": { "source": "Swippee Enrich" }
}
```

## Single terminal lookup

```bash theme={null}
curl https://api.swippee.com/v1/merchants/2222000000000000 \
  -H "Authorization: Bearer $SWIPPEE_API_KEY"
```

## Resolve from a QR poster

Upload a Fonepay merchant QR poster (PDF or image) and get the merchant back —
no need to read the terminal off it yourself. We read the printed terminal and,
for images, decode the QR. Accepts PDF, JPEG, or PNG (max 10 MB); bills 1 unit.

```bash theme={null}
curl -X POST https://api.swippee.com/v1/merchants/qr \
  -H "Authorization: Bearer $SWIPPEE_API_KEY" \
  -F "file=@poster.pdf"
```

```json theme={null}
{
  "data": {
    "found": true,
    "method": "qr",
    "source": "image",
    "terminal": "2222000000000000",
    "resolution": {
      "matched": true,
      "merchant": "Example Cafe",
      "mcc": "5814",
      "category": "dining",
      "city": "Kathmandu",
      "terminal": "2222000000000000"
    }
  },
  "meta": { "source": "Swippee Enrich" }
}
```

<Note>
  Name input is matched against the directory after normalization — so
  "Example Sweets PLTD" and "Example Sweets P LTD" resolve to the same
  merchant. Unmatched inputs come back with `matched: false` and null fields.
</Note>
