Skip to main content
Flinks Broad Categorization assigns a Category and SubCategory to every transaction, providing structured financial insights from raw transaction data.

How it works

Flinks uses machine learning models to analyze transaction descriptions and classify them into standardized categories. This categorization is available for both Canadian and US transactions. To retrieve categories programmatically, use the /Categories endpoint, which returns the full list of categories for a specific country.

Primary categories

Flinks organizes transactions into the following primary categories:
CategoryDescription
Food & DiningRestaurants, groceries, food delivery
HealthMedical, dental, pharmacy, fitness
HomeRent, mortgage, maintenance, furnishing
IncomeSalary, freelance, government benefits, refunds
TravelFlights, hotels, car rental, public transit
UtilitiesElectricity, gas, water, internet, phone
InsuranceHealth, auto, home, life insurance
TransfersBank transfers, wire transfers, internal moves
ShoppingRetail, clothing, electronics, online purchases
EntertainmentStreaming, gaming, events, hobbies
EducationTuition, books, courses, student loans
TransportationGas, parking, auto maintenance, rideshare
FinancialBank fees, interest, investment contributions
PersonalPersonal care, gifts, donations, subscriptions
BusinessOffice supplies, professional services, advertising
OtherUncategorized or miscellaneous transactions
Each primary category contains multiple sub-categories for more granular classification.

Using the API

GetCategorization

Use the /GetCategorization endpoint to retrieve categorized transactions for a connected account:
curl -X POST \
  https://{instance}-api.private.fin.ag/v3/{customerId}/BankingServices/GetCategorization \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {API Secret}' \
  -d '{
    "RequestId": "{requestId}"
  }'

Upload/Categorization

For external transaction data (not collected through Flinks Connect), use the /Upload/Categorization endpoint:
curl -X POST \
  https://{instance}-api.private.fin.ag/v3/{customerId}/Categorization/Upload \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer {API Secret}' \
  -d '{
    "OriginCountry": "ca",
    "Transactions": [
      {
        "TransactionDate": "2025-01-15",
        "Description": "UBER EATS",
        "Debit": "25.50",
        "Credit": null,
        "Balance": "1500.00"
      }
    ]
  }'

Example response

{
  "HttpStatusCode": 200,
  "Transactions": [
    {
      "Description": "UBER EATS",
      "Category": "Food & Dining",
      "SubCategory": "Food Delivery",
      "Debit": 25.50,
      "Credit": null,
      "Date": "2025-01-15"
    }
  ]
}

Country-specific models

Flinks maintains separate categorization models for Canada and the US. The /Categories endpoint accepts a CountryCode parameter (CA or US) to return the appropriate category list.
The /Upload/Categorization endpoint currently supports US market transactions only. For Canadian transactions collected through Flinks Connect, use the standard /GetCategorization endpoint.