---
title: "Test Transaction Enrichment"
method: POST
path: "/cleanup/sync"
tags: ["Enrichment"]
---

# Test Transaction Enrichment

`POST /cleanup/sync`

The test transaction enrichment endpoint provides immediate enrichment on transaction data. This endpoint is ideal for testing API functionality and previewing enrichment results. 

**This endpoint is not intended for production use.** Use the historical and streaming endpoints for production-level enrichment.


For optimal performance, adhere to the following limits: 
  - Submit no more than 4 unique users per request. Users are distinguished by the `uid` field in each transaction. 
  - Submit no more than 16 transactions per user per request if sending multiple users. Send no more than 128 if sending a single user.

## Request body

- CleanupPostRequest
  - `transactions` object[], required
    - `accountType` 'checking' | 'savings' | 'creditCard', required — The type of account associated with the transaction. For transactions from loan accounts, use 'savings'.
    - `amountnum` number, required — The transaction amount in USD. Negative amounts are automatically converted to positive amounts. Use the 'settlement' field to indicate whether the transaction was a 'debit' or 'credit'. The string representation of amount must be fewer than 11 characters.
    - `date` string, date, required — The date of the transaction. Must be in the format 'YYYY-MM-DD'.
    - `identifiers` object — A JSON representation of alternative user IDs. This field is designed exclusively for users with Banno, Salesforce, or other CRM integrations. Valid identifiers are currently limited to [`sfmc_contact_id`, `banno_end_user_id`].
      - `sfmc_contact_id` string
      - `banno_end_user_id` string
    - `original_description` string, required — The transaction's description. Must be between 3 and 198 characters. Descriptions longer than 198 characters are automatically truncated. For transactions from loan accounts, prepend `LOANTRANS-` to this field.
    - `transactionid` string, required — A unique identifier for the transaction. Do not use PII or other information-rich data in this field. We strongly recommend using UUID or a similar identification system.
    - `settlement` 'debit' | 'credit', required — Indicates whether the transaction was a 'debit' or 'credit' to the account.
    - `uid` string, required — The ID of the user associated with the transaction. User IDs must be unique. Do not use PII or other information-rich data in this field. We strongly recommend using UUID or a similar identification system.
    - `accountid` string — The account ID associated with the transaction. This field is optional and will not affect enrichment results. Do not use the actual account number. We strongly recommend using UUID or a similar identification system.

## Response `200`

Success

- object
  - `enrichedTransactions` object
    - `enriched` object[]
      - `accountid` string — The ID of the account associated with the transaction
      - `amountnum` number — The transaction's USD amount
      - `category` string — The most applicable categorization for the transaction
      - `categoryId` number — The numeric ID of the transaction's category
      - `categoryLabel` string[] — A cascading hierarchy of the transaction's categories, from high-level to detail-level categorization. This field is deprecated and not recommended for use, as it may not reflect more correct information available in other 'category' fields.
      - `client_id` string — Your FinGoal client ID
      - `container` string — A high-level categorization of the account type. Eg, 'bank'
      - `date` string, date-time — The date on which the transaction took place
      - `detailCategoryId` number — The numeric ID of the transaction's detail category
      - `guid` string — The transaction's globally unique FinSight API issued ID
      - `highLevelCategoryId` number — The numeric ID of the transaction's high level category
      - `isPhysical` boolean — Whether the transaction was made at a physical location, or online
      - `isRecurring` boolean — This field is deprecated. Denotes whether the transaction is set to recur on a fixed interval
      - `merchantAddress1` string — The street address of the merchant associated with the transaction
      - `merchantCity` string — The name of the city where the merchant is located
      - `merchantCountry` string — The name of the country where the merchant is located
      - `merchantLatitude` string — The latitude of the merchant
      - `merchantLogoURL` string — The URL resource for the merchant's logo
      - `merchantLongitude` string — The longitude of the merchant
      - `merchantName` string — The name of the merchant associated with the transaction
      - `merchantPhoneNumber` string — The phone number of the merchant associated with the transaction
      - `merchantState` string — The name of the state where the merchant is located
      - `merchantType` string — The merchant's type
      - `merchantZip` string — The ZIP code where the merchant is located
      - `original_description` string — The transaction description as received. This will not change
      - `receiptDate` string, date-time — The date on which FinSight API first received the transaction
      - `requestId` string — A unique ID for the request the transaction came in with, for debugging purposes
      - `simple_description` string — An easy-to-understand, plain-language transaction description
      - `simpleDescription` string — An easy-to-understand, plain-language transaction description
      - `sourceId` string — The source of the transaction
      - `subType` string — A more detailed classification that provides further information on the type of transaction.
      - `tenant_id` string — The ID of the tenant associated with this transaction, if one was included.
      - `transactionid` string — The ID of the transaction as it was originally submitted
      - `transactionTags` string[] — The FinSight API issued tags for the transaction
      - `type` string — An attribute describing the nature of the intent behind the transaction.
      - `uid` string — The ID of the user associated with the transaction, as originally submitted
    - `failed` object[]
      - `amountnum` number — The transaction's USD amount
      - `settlement` string — The settlement type of the transaction (e.g., 'debit' or 'credit')
      - `original_description` string — The transaction description as received. This will not change
      - `transactionid` string — The ID of the transaction as it was originally submitted
      - `date` string, date-time — The date on which the transaction took place
      - `accountType` string — The type of account (e.g., 'checking')
      - `uid` string — The ID of the user associated with the transaction, as originally submitted
      - `error_message` string — A message describing why the transaction failed to enrich.

## Other responses

- `400` — Bad request. An array of errors in the data will be returned. Fields not allowed or incorrectly formatted will be noted.
- `401` — Unauthorized

---

[API](https://skmtc.dev/fingoal/apis/insights-api.md) · [All operations](https://skmtc.dev/fingoal/apis/insights-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fingoal/insights-api/revisions/00cf4dbd5441/schema)
