# Transaction Enrichment

The Enrichment API is a separate service that, using the same authentication as main Pluggy services, enables customers that have already collected Open Finance data or have existing data from their customer base to enrich the transactional data by providing categorization and merchant information.

> **Premium feature**
>
> To enable enrichment api, you must request this to the sales team to enable it for your team.

## How to use

1. Obtain an API key from our [Auth](/reference/auth-create) endpoint.
2. Use the categorization flow described in [Transaction Categorization](/docs/products/transaction-categorization) with the obtained API key, and send the transactions to categorize:

**Checking account example:**

```json
{
  "transactions": [
    {
      "id": "76a87d4d-89f2-4544-a431-b5d8a45146c7",
      "amount": -100,
      "date": "2024-09-06T00:00:00-03:00",
      "description": "MC DONALDS"
    }
  ],
  "clientUserId": "06199323-763c-4b15-9f65-3871d8b4d430",
  "accountType": "CHECKING",
  "isBusiness": false
}
```

**Checking account with payment data:**

```json
{
  "transactions": [
    {
      "id": "76a87d4d-89f2-4544-a431-b5d8a45146c7",
      "amount": -100,
      "date": "2024-09-06T00:00:00-03:00",
      "description": "MC DONALDS",
      "paymentData": {
        "payer": {
          "name": "John Doe",
          "documentNumber": { "value": "123.456.789-00", "type": "CPF" }
        },
        "receiver": {
          "name": "MC DONALDS",
          "documentNumber": { "value": "42.591.651/0001-43", "type": "CNPJ" }
        }
      }
    }
  ],
  "clientUserId": "06199323-763c-4b15-9f65-3871d8b4d430",
  "accountType": "CHECKING",
  "isBusiness": false
}
```

**Credit card example:**

```json
{
  "transactions": [
    {
      "id": "76a87d4d-89f2-4544-a431-b5d8a45146c7",
      "amount": -100,
      "date": "2024-09-06T00:00:00-03:00",
      "description": "MC DONALDS",
      "creditCardMetadata": {
        "payeeMCC": 1234
      }
    }
  ],
  "clientUserId": "06199323-763c-4b15-9f65-3871d8b4d430",
  "accountType": "CREDIT_CARD",
  "isBusiness": false
}
```

The `creditCardMetadata` field is optional and greatly improves categorization accuracy.

You can send up to 5000 transactions per request.

The `accountType` field is optional and accepts `CHECKING` or `CREDIT_CARD`. The `isBusiness` field is also optional and indicates whether this is a PJ or PF account.

3. The response will look something like this:

```json
{
  "results": [
    {
      "id": "76a87d4d-89f2-4544-a431-b5d8a45146c7",
      "amount": -100,
      "date": "2024-09-06T00:00:00-03:00",
      "description": "MC DONALDS",
      "type": "DEBIT",
      "merchant": {
        "name": "mc donalds",
        "businessName": "ARCOS DOURADOS COMERCIO DE ALIMENTOS LTDA",
        "cnpj": "42.591.651/0001-43"
      },
      "category": "Eating out"
    }
  ]
}
```

The `merchant` field can be `null` if the merchant is unknown. See possible category values on our [Transaction Categorization](/docs/transaction-categories) page.