Sherlock API

The MX Sherlock API makes MX’s powerful categorization, cleansing, and classification services available to partners. A partner will group together a set of transactions and call the Sherlock service. MX will categorize, cleanse, and classify the transactions and return that data to our partner for use in their own system. Sherlock also provides supplementary data such as information about merchants and merchant locations.

The Sherlock API does not persist or store transaction data on the MX platform.


API Key

API Key

MD-API-KEY: YOUR_ENVIRONMENT_SPECIFIC_API_KEY

Authentication and Security

Requests must use TLS 1.2 (or higher) with known secure ciphers.

The Sherlock API uses the same authentication as the MDX, SSO, and Nexus APIs. A partner must have their IP address whitelisted, include the MD-API-KEY header with their respective api_key, and have a setting turned on in their client to get access to this service. MX will also assign a client ID to each partner; this value must be given as the client_id parameter in each request URL.


Base URL

The URL endpoint in the Sherlock API has a base URL that will depend on the environment being addressed:

Production Environment

https://deduction.moneydesktop.com/:client_id

Integration Environment (for initial integration testing)

https://int-deduction.moneydesktop.com/:client_id

Headers


Accept Header

All requests require an Accept header to specify the version and the encoding of the desired response body.

Accept Header

Accept: application/vnd.mx.deduction.v1+json

Content-Type Header

All requests require a Content-Type header to specify the format of the request body.

Content-Type

Content-Type: application/vnd.mx.deduction.v1+json

Errors

The Sherlock API uses conventional HTTP response codes to indicate success or failure of an API request. In general, codes in the 2xx range indicate success. Codes in the 4xx range indicate an error that resulted from the provided information (e.g., a required parameter was missing, etc.), and codes in the 5xx range indicate an error with MX’s servers.

  • 200 OK — Everything worked as expected.
  • 400 Bad Request — Invalid parameter or body information.
  • 401 Unauthorized — No valid API key provided.
  • 403 Forbidden — The IP address doesn’t match the API key provided or the service is not enabled for the client.
  • 404 Not Found — The requested item doesn’t exist.
  • 500, 502, 503, 504 Server errors — Something went wrong on MX’s end.

Sometimes, simply returning the HTTP status code is not enough to indicate what went wrong. To compensate for this, endpoints may respond with a body containing more information about the error.

Error messages are for logging and for informational purposes only and may change from time to time.

Example error message

1
2
3
4
5
6
{
    "error": {
        "code": null,
        "message": "Client not found"
    }
}

Null Values

Fields may return a value of null in any number of circumstances, most often when data associated with the field does not exist.

Here are a few examples:

  • A category object that is already a parent/top-level will have a null value in its parent_guid field.
  • A transaction for which no merchant information exists will have a null value for its merchant_guid and merchant_location_guid fields.
  • A merchant may exist in our system but have no logo available; hence the logo_url field will be null.

Transaction IDs

The Sherlock API is used to categorize and describe transactions based on the information provided in a request. When possible, MX will also return merchant and merchant location information with each transaction. No data is actually created or stored on the MX platform when using Sherlock.

Therefore, MX recommends an id be provided with each transaction provided. This id can be used to identify the transactions in the response body since they may not be returned in the same order.


Categories


Category fields

Field name Data type Description
guid String Unique identifier for the category. Defined by MX.
is_income Boolean If the category is income, this field will be true. Otherwise, this field will be false.
name String Name of the category or subcategory.
parent_guid String The unique identifier for the parent category to which a subcategory belongs. This field will be null for parent categories. Defined by MX.

List Categories

This endpoint returns a non-paginated list of all the default categories available on the MX platform:

Categories

* Auto & Transport
  * Auto Insurance
  * Auto Payment
  * Gas
  * Parking
  * Public Transportation
  * Service & Parts
* Bills & Utilities
  * Domain Names
  * Fraud Protection
  * Home Phone
  * Hosting
  * Internet
  * Mobile Phone
  * Television
  * Utilities
* Business Services
  * Advertising
  * Legal
  * Office Supplies
  * Printing
  * Shipping
* Education
  * Books & Supplies
  * Student Loan
  * Tuition
* Entertainment
  * Amusement
  * Arts
  * Movies & DVDs
  * Music
  * Newspapers & Magazines
* Fees & Charges
  * ATM Fee
  * Banking Fee
  * Finance Charge
  * Late Fee
  * Service Fee
  * Trade Commissions
* Financial
  * Financial Advisor
  * Life Insurance
* Food & Dining
  * Alcohol & Bars
  * Coffee Shops
  * Fast Food
  * Groceries
  * Restaurants
* Gifts & Donations
  * Charity
  * Gift
* Health & Fitness
  * Dentist
  * Doctor
  * Eyecare
  * Gym
  * Health Insurance
  * Pharmacy
  * Sports
* Home
  * Furnishings
  * Home Improvement
  * Home Insurance
  * Home Services
  * Home Supplies
  * Lawn & Garden
  * Mortgage & Rent
* Income
  * Bonus
  * Interest Income
  * Paycheck
  * Reimbursement
  * Rental Income
  * Returned Purchase
* Investments
  * Buy
  * Deposit
  * Dividend & Cap Gains
  * Sell
  * Withdrawal
* Kids
  * Allowance
  * Baby Supplies
  * Babysitter & Daycare
  * Child Support
  * Kids Activities
  * Toys
* Personal Care
  * Hair
  * Laundry
  * Spa & Massage
* Pets
  * Pet Food & Supplies
  * Pet Grooming
  * Veterinary
* Shopping
  * Books
  * Clothing
  * Hobbies
  * Sporting Goods
* Taxes
  * Federal Tax
  * Local Tax
  * Property Tax
  * Sales Tax
  * State Tax
* Transfer
  * Credit Card Payment
  * Transfer for Cash Spending
  * Mortgage Payment
* Travel
  * Air Travel
  * Hotel
  * Rental Car & Taxi
  * Vacation
* Uncategorized
  * Cash
  * Check

Endpoint:

GET /{client_id}/categories

1
2
3
curl -i -X GET https://int-deduction.moneydesktop.com/:client_id/categories \
  -H "Accept: application/vnd.mx.deduction.v1+json" \
  -H "MD-API-KEY: :api_key"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
  "categories": [
    {
      "is_income": false,
      "guid": "CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874",
      "name": "Auto & Transport",
      "parent_guid": null
    },
    {
      "is_income": false,
      "guid": "CAT-de7c2dc7-90e6-85a2-6509-5ec10942e887",
      "name": "Auto Insurance",
      "parent_guid": "CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874"
    },
    {
      "is_income": false,
      "guid": "CAT-cb93691a-684d-b326-4c32-f8abaecfde90",
      "name": "Auto Payment",
      "parent_guid": "CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874"
    },
    {
      "is_income": false,
      "guid": "CAT-b6d63a19-30a7-e852-2703-bdfb4072289e",
      "name": "Gas",
      "parent_guid": "CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874"
    },
    {
      "is_income": false,
      "guid": "CAT-726da718-d572-1e4d-7c3f-0b8b5370fe71",
      "name": "Parking",
      "parent_guid": "CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874"
    },
    ...
  ]
}

Merchants


Merchant Fields

Merchants will have the same guid on the MX integration and production environments.

The logo_url follows a pattern. It has a base URL and the filename will be the merchant_guid with a .png extension. The logo returned will be a 100 pixel by 100 pixel png file.

The current merchant logo base URL is https://content.mx.com/logos/merchants/. MX may need to change this base URL from time to time, but in such cases partners will be notified and a redirect will be set up for the previous base URL.

Field Name Data Type Description
guid String The unique identifier for the merchant. Defined by MX.
logo_url String A URL which will return the merchant’s logo. For example: https://content.mx.com/logos/merchants/MCH-ad2e487b-34e4-4b2b-820d-603e330d0ca9.png
name String The name of the merchant.
website_url String The URL of the merchant’s website.

List Merchants

This endpoint returns a paginated list of merchants available on the MX platform.

Query string parameters

Field name Required Data type Description
page No integer The page of the results you would like to view. Defaults to page 1 if no page is specified.
records_per_page No integer The number of records returned in a single page of the request. This may range from 10 to 1000. Default is 25.

Endpoint:

GET /{client_id}/merchants

1
2
3
curl -i -X GET https://int-deduction.moneydesktop.com/:client_id/merchants?records_per_page=25&page=1 \
  -H "Accept: application/vnd.mx.deduction.v1+json" \
  -H "MD-API-KEY: :api_key"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{
  "merchants": [
    {
      "name": "1-800 Contacts",
      "guid": "MCH-ad6d3405-ec03-721d-b0ca-eeceeebcb8b5",
      "website_url": "https://www.1800contacts.com",
      "logo_url": "https://content.mx.com/logos/merchants/MCH-ad6d3405-ec03-721d-b0ca-eeceeebcb8b5.png"
    },
    {
      "name": "1-800 Flowers",
      "guid": "MCH-dfef19bb-1af4-bbaa-db41-434b4b1c8f04",
      "website_url": "https://www.1800flowers.com",
      "logo_url": "https://content.mx.com/logos/merchants/MCH-dfef19bb-1af4-bbaa-db41-434b4b1c8f04.png"
    },
    {
      "name": "24 Hour Fitness",
      "guid": "MCH-9559c6fb-c05f-ee9e-bb33-ce23078df1a0",
      "website_url": "https://www.24hourfitness.com",
      "logo_url": "https://content.mx.com/logos/merchants/MCH-9559c6fb-c05f-ee9e-bb33-ce23078df1a0.png"
    },
    {
      "name": "2nd & Charles",
      "guid": "MCH-af297c68-fd13-9f40-c69c-6674eed832fa",
      "website_url": "https://www.2ndandcharles.com",
      "logo_url": "https://content.mx.com/logos/merchants/MCH-af297c68-fd13-9f40-c69c-6674eed832fa.png"
    },
    {
      "name": "365 Retail Markets",
      "guid": "MCH-76429973-29a5-e8e0-bb45-b523d4f78e40",
      "website_url": "https://www.365retailmarkets.com",
      "logo_url": "https://content.mx.com/logos/merchants/MCH-76429973-29a5-e8e0-bb45-b523d4f78e40.png"
    },
    ...
  ],
  "pagination_data": {
    "total_records_found": 1150,
    "total_pages": 46,
    "current_page": 1,
    "records_on_current_page": 25
  }
}

Read Merchant

This endpoint returns the attributes of a given merchant on the MX platform.

Endpoint:

GET /{client_id}/merchants/{merchant_guid}

1
2
3
curl -i -X GET https://int-deduction.moneydesktop.com/:client_id/merchants/MCH-dfef19bb-1af4-bbaa-db41-434b4b1c8f04 \
  -H "Accept: application/vnd.mx.deduction.v1+json" \
  -H "MD-API-KEY: api_key"
1
2
3
4
5
6
7
8
{
  "merchant": {
    "name": "1-800 Flowers",
    "guid": "MCH-dfef19bb-1af4-bbaa-db41-434b4b1c8f04",
    "website_url": "https://www.1800flowers.com",
    "logo_url": "https://content.mx.com/logos/merchants/MCH-ad6d3405-ec03-721d-b0ca-eeceeebcb8b5.png"
  }
}

Merchant Locations


Merchant Location Fields

Field Data Type Definition
city String The city in which the merchant is located.
country String The country in which the merchant is located.
guid String The unique identifier for the merchant location. Defined by MX.
latitude Decimal The latitude of the merchant location. This number is a signed decimal (e.g., Rio de Janeiro’s latitude is -22.9027800 and Tokyo’s latitude is 35.689488).
longitude Decimal The longitude of the merchant location. This number is a signed decimal (e.g., Rio de Janeiro’s longitude is -43.2075000 and Tokyo’s longitude is 139.691706).
merchant_guid String The unique identifier for the merchant to which this location belongs. Defined by MX.
phone_number String The phone number for the merchant location.
postal_code String The postal code where the merchant is located.
state String The state where the merchant is located.
store_number (deprecated) String The store number for the merchant location.
street_address String The street address where the merchant is located.
updated_at String The date and time the merchant record was updated, represented in ISO

Read Merchant Location

This endpoint returns a merchant_location resource.

Endpoint:

GET /{client_id}/merchants/{merchant_guid}/merchant_locations/{merchant_location_guid}

1
2
3
curl -i -X GET https://int-deduction.moneydesktop.com/:client_id/merchants/MCH-09466f0a-fb58-9d1a-bae2-2af0afbea621/merchant_locations/MCL-00024e59-18b5-4d79-b879-2a7896726fea \
  -H "Accept: application/vnd.mx.deduction.v1+json" \
  -H "MD-API-KEY: :api_key"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{
  "merchant_location": {
    "city": "Greenwood Village",
    "country": "US",
    "guid": "MCL-00024e59-18b5-4d79-b879-2a7896726fea",
    "latitude": 39.5963005,
    "longitude": -104.89158799999998,
    "merchant_guid": "MCH-09466f0a-fb58-9d1a-bae2-2af0afbea621",
    "phone_number": "(303) 689-0728",
    "postal_code": "801121436",
    "state": "CO",
    "store_number": null,
    "street_address": "8547 E Arapahoe Rd, Ste 1",
    "updated_at": "2019-10-28T21:04:40Z"
  }
}

Transactions


Categorize and Describe Transactions

This endpoint takes an array of transactions and automatically categorizes them based on description, transaction_type, and amount. This endpoint can receive and categorize a maximum of 100 transactions per request.

Parameters

Field Name Required?
amount No
description Yes
extended_transaction_type No
id No
memo No
merchant_category_code No
type No

Endpoint:

POST /categorize_and_describe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
curl -i -X POST https://int-deduction.moneydesktop.com/:client_id/categorize_and_describe.json \
  -H "Content-Type: application/vnd.mx.deduction.v1+json" \
  -H "Accept: application/vnd.mx.deduction.v1+json" \
  -H "MD-API-KEY: :api_key" \
  -d '{
        "transactions": [
          {
            "description": "BEER BAR 65000000764SALT LAKE C",
            "memo": "Craft Beer",
            "merchant_category_code":5813,
            "id": "12",
            "amount": 11.22,
            "type": "DEBIT"
          },
          {
            "description": "IN-N-OUT BURGER #239AMERICAN FO",
            "memo": "#239AMERICAN FORK UT",
            "id": "13",
            "amount": 21.33,
            "type": "DEBIT"
          },
          {
            "description": "ONLINE PAYMENT - THANK YOU",
            "id": "14",
            "amount": 1595.33,
            "type": "CREDIT"
          }
        ]
      }'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{
  "transactions": [
    {
      "amount": 11.22,
      "categorized_by": 9,
      "category": "ALCOHOL_BARS",
      "category_guid": "CAT-9d58b17b-0982-18b5-5a6e-8a76337c4f88",
      "described_by": 0,
      "description": "Beer Bar",
      "extended_transaction_type": null,
      "id": "12",
      "is_bill_pay": null,
      "is_direct_deposit": false,
      "is_expense": true,
      "is_fee": false,
      "is_income": false,
      "is_overdraft_fee": false,
      "is_payroll_advance": null,
      "is_subscription": null,
      "memo": "Craft Beer",
      "merchant_category_code": 5813,
      "merchant_guid": null,
      "merchant_location_guid": null,
      "original_description": "BEER BAR 65000000764SALT LAKE C",
      "type": "DEBIT"
    },
    {
      "amount": 21.33,
      "categorized_by": 13,
      "category": "FAST_FOOD",
      "category_guid": "CAT-88cbb033-0fc1-ff06-6532-0f357c0f5081",
      "described_by": 6,
      "description": "In-N-Out Burger",
      "extended_transaction_type": null,
      "id": "13",
      "is_bill_pay": null,
      "is_direct_deposit": null,
      "is_expense": true,
      "is_fee": false,
      "is_income": false,
      "is_overdraft_fee": null,
      "is_payroll_advance": null,
      "is_subscription": null,
      "memo": "#239AMERICAN FORK UT",
      "merchant_category_code": null,
      "merchant_guid": "MCH-4a889eb0-0459-f66f-a137-c5e06409d8e6",
      "merchant_location_guid": null,
      "original_description": "IN-N-OUT BURGER #239AMERICAN FO",
      "type": "DEBIT"
    },
    {
      "amount": 1595.33,
      "categorized_by": 13,
      "category": "CREDIT_CARD_PAYMENT",
      "category_guid": "CAT-2cc9b500-e09d-88be-e3e0-0a8a82a54586",
      "described_by": 6,
      "description": "Online Payment Thank You",
      "extended_transaction_type": null,
      "id": "14",
      "is_bill_pay": null,
      "is_direct_deposit": null,
      "is_expense": true,
      "is_fee": false,
      "is_income": false,
      "is_overdraft_fee": null,
      "is_payroll_advance": null,
      "is_subscription": null,
      "memo": null,
      "merchant_category_code": null,
      "merchant_guid": null,
      "merchant_location_guid": null,
      "original_description": "ONLINE PAYMENT - THANK YOU",
      "type": "CREDIT"
    }
  ]
}

Categorize Transaction Fields

Field Data type Definition
amount Decimal The monetary amount of the transaction.
categorized_by Integer The method used to determine the category assigned to the transaction.
category_guid String The unique identifier for the category assigned to the transaction.
category String The the name of the category assigned to the transaction.
described_by Integer The method used to describe the transaction.
description String A human-readable version of the original_description field described below, e.g., “Sam’s Club,” “Johnny’s Tavern.” This is provided by the MX Platform.
extended_transaction_type String The transaction type assigned by the partner.
id String The unique partner-defined identifier for the transaction.
is_bill_pay Boolean This indicates whether the transaction represents a bill pay.
is_direct_deposit Boolean This indicates whether the transaction represents a direct deposit.
is_expense Boolean This indicates whether the transaction represents an expense.
is_fee Boolean This indicates whether the transaction represents a fee.
is_income Boolean This indicates whether the transaction represents income.
is_overdraft_fee Boolean This indicates whether the transaction represents an overdraft fee.
is_payroll_advance Boolean This indicates whether the transaction represents a payroll advance.
is_subscription Boolean This indicates whether the transaction represents a payment for a subscription service such as Netflix or Audible.
memo String This field contains additional descriptive information about the transaction.
merchant_category_code Integer The ISO 18245 category code for the transaction.
merchant_guid String The unique identifier for the merchant associated with this transaction. Defined by MX.
merchant_location_guid String The unique identifier for the merchant_location associated with this transaction. Defined by MX.
original_description String The original description of the transaction as provided by the MX data feed. See description above for more information.
type String The type of transaction. This will be either CREDIT or DEBIT.

Categorized_by values

Integer Enum Definition
0 CATEGORIZATION_SOURCE_AUTOCAT This is obsolete and will no longer assign categories.
1 CATEGORIZATION_SOURCE_USER The end user assigned a category manually.
2 CATEGORIZATION_SOURCE_FEED The data feed assigned a category.
3 CATEGORIZATION_SOURCE_LEVENSHTEIN This is obsolete and will no longer assign categories.
4 CATEGORIZATION_SOURCE_PARSER A parser created by MX assigned the category based on patterns in the available data.
5 CATEGORIZATION_SOURCE_TRAINER This is obsolete and will no longer assign categories.
6 CATEGORIZATION_SOURCE_SPHINX This is obsolete and will no longer assign categories.
7 CATEGORIZATION_SOURCE_NAIVE_BAYES This is obsolete and will no longer assign categories.
8 CATEGORIZATION_SOURCE_TERMINATION After other methods failed to assign a category, it was set to ‘UNCATEGORIZED’.
9 CATEGORIZATION_SOURCE_KEYWORD_CATEGORIZER The category was assigned based on keywords appearing in the original description (feed description).
10 CATEGORIZATION_SOURCE_CATCHER The category was assigned by a catcher based on the available data.
11 CATEGORIZATION_SOURCE_HOPSCOTCH This is obsolete and will no longer assign categories.
12 CATEGORIZATION_SOURCE_USER_RULE A transaction rule created by the end user assigned the category.
13 CATEGORIZATION_SOURCE_SYSTEM_RULE A transaction rule created by MX assigned the category.
14 CATEGORIZATION_SOURCE_CLIENT_RULE A transaction rule created by the partner assigned the category.
15 CATEGORIZATION_SOURCE_MERCHANT_CATEGORY_CODE The category was assigned based on the merchant category code.
16 CATEGORIZATION_SOURCE_FLOOR The transaction was assigned UNCATEGORIZED because it was uncategorizable as such, rather than because other methods failed; for example, the description simply contained withdrawal with no other information.
17 CATEGORIZATION_SOURCE_QUICKVERSE The category was assigned by a machine-learning model.
18 CATEGORIZATION_SOURCE_MAPPING The category was assigned by mapping from our new extended category system to legacy categories. This new system has yet to be fully released to clients.
19 CATEGORIZATION_SOURCE_TRANSFER_CATEGORIZER The category was assigned by a categorizer designed specifically to look for transfers.

Described_by values

Integer Enum Definition
0 DESCRIPTION_SOURCE_SCRUBBER The description is the result of various pattern replacement and other cleansing mechanisms.
1 DESCRIPTION_SOURCE_USER The end user provided the description.
2 DESCRIPTION_SOURCE_FEED The data feed provided the description.
3 DESCRIPTION_SOURCE_LEVENSHTEIN This is obsolete and will no longer provide descriptions.
4 DESCRIPTION_SOURCE_USER_RULE A transaction rule created by the end user provided the description.
5 DESCRIPTION_SOURCE_TRAINER This is obsolete and will no longer provide descriptions.
6 DESCRIPTION_SOURCE_SYSTEM_RULE A transaction rule created by MX provided the description.
7 DESCRIPTION_SOURCE_CLIENT_RULE A transaction rule created by the partner provided the description.
8 DESCRIPTION_SOURCE_FLOOR No cleansed description could be provided as such, rather than because other methods failed.

Endpoint:

POST /categorize_and_describe

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
curl -i -X POST https://int-deduction.moneydesktop.com/:client_id/categorize_and_describe.json \
  -H "Content-Type: application/vnd.mx.deduction.v1+json" \
  -H "Accept: application/vnd.mx.deduction.v1+json" \
  -H "MD-API-KEY: :api_key" \
  -d '{
        "transactions": [
          {
            "description": "BEER BAR 65000000764SALT LAKE C",
            "memo": "Craft Beer",
            "merchant_category_code":5813,
            "id": "12",
            "amount": 11.22,
            "type": "DEBIT"
          },
          {
            "description": "IN-N-OUT BURGER #239AMERICAN FO",
            "memo": "#239AMERICAN FORK UT",
            "id": "13",
            "amount": 21.33,
            "type": "DEBIT"
          },
          {
            "description": "ONLINE PAYMENT - THANK YOU",
            "id": "14",
            "amount": 1595.33,
            "type": "CREDIT"
          }
        ]
      }'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
{
  "transactions": [
    {
      "amount": 11.22,
      "categorized_by": 9,
      "category": "ALCOHOL_BARS",
      "category_guid": "CAT-9d58b17b-0982-18b5-5a6e-8a76337c4f88",
      "described_by": 0,
      "description": "Beer Bar",
      "extended_transaction_type": null,
      "id": "12",
      "is_bill_pay": null,
      "is_direct_deposit": false,
      "is_expense": true,
      "is_fee": false,
      "is_income": false,
      "is_overdraft_fee": false,
      "is_payroll_advance": null,
      "is_subscription": null,
      "memo": "Craft Beer",
      "merchant_category_code": 5813,
      "merchant_guid": null,
      "merchant_location_guid": null,
      "original_description": "BEER BAR 65000000764SALT LAKE C",
      "type": "DEBIT"
    },
    {
      "amount": 21.33,
      "categorized_by": 13,
      "category": "FAST_FOOD",
      "category_guid": "CAT-88cbb033-0fc1-ff06-6532-0f357c0f5081",
      "described_by": 6,
      "description": "In-N-Out Burger",
      "extended_transaction_type": null,
      "id": "13",
      "is_bill_pay": null,
      "is_direct_deposit": null,
      "is_expense": true,
      "is_fee": false,
      "is_income": false,
      "is_overdraft_fee": null,
      "is_payroll_advance": null,
      "is_subscription": null,
      "memo": "#239AMERICAN FORK UT",
      "merchant_category_code": null,
      "merchant_guid": "MCH-4a889eb0-0459-f66f-a137-c5e06409d8e6",
      "merchant_location_guid": null,
      "original_description": "IN-N-OUT BURGER #239AMERICAN FO",
      "type": "DEBIT"
    },
    {
      "amount": 1595.33,
      "categorized_by": 13,
      "category": "CREDIT_CARD_PAYMENT",
      "category_guid": "CAT-2cc9b500-e09d-88be-e3e0-0a8a82a54586",
      "described_by": 6,
      "description": "Online Payment Thank You",
      "extended_transaction_type": null,
      "id": "14",
      "is_bill_pay": null,
      "is_direct_deposit": null,
      "is_expense": true,
      "is_fee": false,
      "is_income": false,
      "is_overdraft_fee": null,
      "is_payroll_advance": null,
      "is_subscription": null,
      "memo": null,
      "merchant_category_code": null,
      "merchant_guid": null,
      "merchant_location_guid": null,
      "original_description": "ONLINE PAYMENT - THANK YOU",
      "type": "CREDIT"
    }
  ]
}

Latest changes

Date Documentation version Reference number Description of changes
2022.04.14 2022.001 P-420 Added:
  1. Updated and moved Sherlock information from old documentation site
  2. A new changelog format was instituted to conform with that used in other areas of the docs. Previous entries appear below this table unchanged.
Date Documentation version Description of changes
2021.11.03 2021.002 Docs

Documented several new fields for the categorize transactions endpoint, added values and definitions for the categorized_by and described_by fields.

MX Reference Number: G-453
2021.10.07 2021.001 Docs

Removed list merchant locations endpoint documentation

MX Reference Number: G-425
2021.08.17 2021.000 Docs

Added the updated_at field to merchant_location resources.

MX Reference Number: G-366
2020.07.13 2020.000 Docs

Deprecated the store_number field.

MX Reference Number: G-192
2019.11.15 2019.002 Docs

Added details about the format of merchant logo URLs.

MX Reference Number: 1317
2019.11.15 2019.001 Docs

New fields were added to the Categorize and Describe Transactions endpoint: memo, and merchant_category_code. These fields are now permitted in requests and will be present in responses.

MX Reference Number: 1316
2019.06.18 2019.000 Docs

Several new endpoints were added to the Sherlock API: list categories, list merchants, list merchant locations, read merchant, and read merchant locations. Example requests and responses have been provided. In addition, merchant_guid, merchant_location, and category_guid have been added as fields in the categorize transactions response.

MX Reference Number: 1163
2018.03.28 2018.000 Docs

Added a limit of 100 transactions per request.

MX Reference Number: 975
2017.02.08 2017.000 Docs

Added Security section to Overview about using TLS 1.2 or higher with known secure ciphers with requests.

MX Reference Number: 682
2016.05.20 2016.001 Docs

Fixed curl examples.

MX Reference Number: 489
2016.05.19 2016.000 Docs

Added Sherlock API Documentation.

MX Reference Number: 185