Skip to main content

Overview

Data Enhancement Off Platform (formerly known as Sherlock) makes MX’s powerful categorization, cleansing, and classification services available to partners. You can group together a set of transactions and call the API. MX will categorize, cleanse, and classify the transactions and return that data for you to use in your own system. Data Enhancement Off Platform also provides supplementary data such as information about merchants and merchant locations.

This product does not persist or store transaction data on the MX platform.

API Key


_10
MD-API-KEY: YOUR_ENVIRONMENT_SPECIFIC_API_KEY

Authentication and Security

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

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

Base URL

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

Production Environment


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

Integration Environment (for initial integration testing)


_10
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.


_10
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.


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

Errors

The 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.


_10
{
_10
"error": {
_10
"code": null,
_10
"message": "Client not found"
_10
}
_10
}

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; in that case default_no_image.png is returned.

Transaction IDs

The API is used to categorize and describe transactions based on the information provided in a request. When possible, MX also returns 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.