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
_10MD-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
_10https://deduction.moneydesktop.com/:client_id
Integration Environment (for initial integration testing)
_10https://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.
_10Accept: application/vnd.mx.deduction.v1+json
Content-Type Header
All requests require a Content-Type header to specify the format of the request body.
_10Content-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 anull
value in itsparent_guid
field. - A
transaction
for which no merchant information exists will have anull
value for itsmerchant_guid
andmerchant_location_guid
fields. - A
merchant
may exist in our system but have no logo available; in that casedefault_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.