Skip to main content

Ntropy Transaction API (1.0)

The world's most powerful, multi-geo, multi-lingual transaction categorization API.

Enrichment

Transaction enrichment.

Enrich and add transactions to the ledger of account holders synchronously.

Add transactions to the ledgers of account holders and get back enriched version of the transactions in the response. Accepts batch sizes up to 4k transactions. A single transaction should take ~100ms. A batch of 4000 transactions should take ~40s.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
Array (<= 4000 items)
transaction_id
required
string (Transaction Id) non-empty

A unique identifier of the transaction

account_holder_id
string (Account Holder Id) non-empty

The unique ID of the account holder of the transaction

account_holder_type
string (AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

The type of an account holder, may be one of 'consumer', 'business', 'freelance' or 'unknown'. Only used when create_account_holder is true.

amount
required
number (Amount) >= 0

The amount of the transaction

entry_type
required
any (EntryType)
Enum: "incoming" "outgoing"

The direction of the transaction (incoming or outgoing)

date
required
string <date> (Date)

The date that the transaction was posted. Uses ISO 8601 format (YYYY-MM-DD)

iso_currency_code
required
string (Iso Currency Code)

The currency of the transaction in ISO 4217 format

description
required
string (Description) [ 0 .. 1024 ] characters

The description string of the transaction

location
string (Location) [ 0 .. 1024 ] characters

Location where the transaction occurred in

country
string (Country) [A-Z]{2}(-[A-Z0-9]{1,3})?

The country where the transaction was made in ISO 3166-2 format

mcc
integer (Mcc) [ 700 .. 9999 ]

The Merchant Category Code of the merchant according to ISO 18245

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[]

Enrich and add transactions to the ledger of account holders asynchronously.

Add a batch of transactions to the ledgers of account holders. Return the batch id that has been assigned to this batch. A batch of 24960 transactions should take 5-10mins.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
Array (<= 24960 items)
transaction_id
required
string (Transaction Id) non-empty

A unique identifier of the transaction

account_holder_id
string (Account Holder Id) non-empty

The unique ID of the account holder of the transaction

account_holder_type
string (AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

The type of an account holder, may be one of 'consumer', 'business', 'freelance' or 'unknown'. Only used when create_account_holder is true.

amount
required
number (Amount) >= 0

The amount of the transaction

entry_type
required
any (EntryType)
Enum: "incoming" "outgoing"

The direction of the transaction (incoming or outgoing)

date
required
string <date> (Date)

The date that the transaction was posted. Uses ISO 8601 format (YYYY-MM-DD)

iso_currency_code
required
string (Iso Currency Code)

The currency of the transaction in ISO 4217 format

description
required
string (Description) [ 0 .. 1024 ] characters

The description string of the transaction

location
string (Location) [ 0 .. 1024 ] characters

Location where the transaction occurred in

country
string (Country) [A-Z]{2}(-[A-Z0-9]{1,3})?

The country where the transaction was made in ISO 3166-2 format

mcc
integer (Mcc) [ 700 .. 9999 ]

The Merchant Category Code of the merchant according to ISO 18245

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "id": "247ee045-3d04-4b3c-872b-a9160b810f33",
  • "progress": 88,
  • "status": "started",
  • "updated_at": "2019-11-30T18:32:28Z"
}

Fetch the result of a batch transaction enrichment.

Get a result of batch transaction enrichments. The id field should be as returned by /v2/transactions/async.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
id
required
string (Id) = 36 characters
Example: 247ee045-3d04-4b3c-872b-a9160b810f33

Batch id.

Responses

Request samples

curl -X "GET" \
  "https://api.ntropy.com/v2/transactions/async/{batch_id}" \
  -H "accept: application/json" \
  -H "X-API-KEY: $NTROPY_API_KEY"

Response samples

Content type
application/json
{
  • "id": "247ee045-3d04-4b3c-872b-a9160b810f33",
  • "progress": 88,
  • "status": "started",
  • "updated_at": "2019-11-30T18:32:28Z"
}

Account Holder

Ledger operations

Gets a list of the registered account holders

Authorizations:
APIKeyHeaderAuth0HTTPBearer
query Parameters
page
integer (Page)
Default: 0
per_page
integer (Per Page)
Default: 50
query
string (Query)
sort_by
string (Sort By)
Default: "created_at"
sort_order
string (Sort Order)
Default: "desc"
named_only
boolean (Named Only)
Default: false
with_confidence
boolean (With Confidence)
Default: false

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets a list of the registered account holders

Authorizations:
APIKeyHeaderAuth0HTTPBearer
query Parameters
page
integer (Page)
Default: 0
per_page
integer (Per Page)
Default: 50
query
string (Query)
sort_by
string (Sort By)
Default: "created_at"
sort_order
string (Sort Order)
Default: "desc"
named_only
boolean (Named Only)
Default: false
with_confidence
boolean (With Confidence)
Default: false

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create an account holder.

Create an account holder and start tracking its ledger. The account holder can be a consumer, business, freelancer or unknown.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
type
required
string (ntropy_server__schemas__account_holder__AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

An enumeration.

name
string (Name)
industry
string (Industry)
website
string (Website)
object (AccountHolderCompany)
id
string (Id)

Responses

Request samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Response samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Create an account holder.

Create an account holder and start tracking its ledger. The account holder can be a consumer, business, freelancer or unknown.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
type
required
string (ntropy_server__schemas__account_holder__AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

An enumeration.

name
string (Name)
industry
string (Industry)
website
string (Website)
object (AccountHolderCompany)
id
string (Id)

Responses

Request samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Response samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Retrieve the information of an account holder.

Retrieve the information of an account holder.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)

Responses

Request samples

curl -X "GET" \
  "https://api.ntropy.com/v2/account-holder/{account_holder_id}" \
  -H "accept: application/json" \
  -H "X-API-KEY: $NTROPY_API_KEY"

Response samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Retrieve the information of an account holder.

Retrieve the information of an account holder.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)

Responses

Request samples

curl -X "GET" \
  "https://api.ntropy.com/v2/account-holder/{account_holder_id}" \
  -H "accept: application/json" \
  -H "X-API-KEY: $NTROPY_API_KEY"

Response samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Replace an existing account holder.

Replace a existing account holder and start tracking its ledger. The account holder can be a consumer, business, freelancer or unknown.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
type
required
string (ntropy_server__schemas__account_holder__AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

An enumeration.

name
string (Name)
industry
string (Industry)
website
string (Website)
object (AccountHolderCompany)

Responses

Request samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Response samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Replace an existing account holder.

Replace a existing account holder and start tracking its ledger. The account holder can be a consumer, business, freelancer or unknown.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
type
required
string (ntropy_server__schemas__account_holder__AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

An enumeration.

name
string (Name)
industry
string (Industry)
website
string (Website)
object (AccountHolderCompany)

Responses

Request samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Response samples

Content type
application/json
{
  • "id": "67890",
  • "type": "business",
  • "name": "Ntropy Network Inc.",
  • "industry": "fintech",
  • "website": "ntropy.com"
}

Delete an account holder.

Delete an account holder and all of its ledger. This operation is permanent.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)

Responses

Request samples

curl -X "DELETE" \
  "https://api.ntropy.com/v2/account-holder/{account_holder_id}" \
  -H "accept: application/json" \
  -H "X-API-KEY: $NTROPY_API_KEY"

Response samples

Content type
application/json
{
  • "status": "success"
}

Delete an account holder.

Delete an account holder and all of its ledger. This operation is permanent.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)

Responses

Request samples

curl -X "DELETE" \
  "https://api.ntropy.com/v2/account-holder/{account_holder_id}" \
  -H "accept: application/json" \
  -H "X-API-KEY: $NTROPY_API_KEY"

Response samples

Content type
application/json
{
  • "status": "success"
}

Renames an existing account-holder

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
name
required
string (Name)

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
null

Renames an existing account-holder

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
name
required
string (Name)

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
null

Query the transaction ledger of an account holder.

Submit a query to the transaction ledger of an account holder.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
metrics
Array of strings (AccountHolderMetricType)
Items Enum: "overall_stats" "stats_by_label" "stats_by_merchant"
start
required
string <date-time> (Start)
end
required
string <date-time> (End)

Responses

Request samples

Content type
application/json
{
  • "end": "2022-02-01T00:00:00",
  • "metrics": [
    ],
  • "start": "2022-01-01T00:00:00"
}

Response samples

Content type
application/json
{
  • "overall_stats": {
    },
  • "stats_by_label": {
    },
  • "stats_by_merchant": {
    }
}

Query the transaction ledger of an account holder.

Submit a query to the transaction ledger of an account holder.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
metrics
Array of strings (AccountHolderMetricType)
Items Enum: "overall_stats" "stats_by_label" "stats_by_merchant"
start
required
string <date-time> (Start)
end
required
string <date-time> (End)

Responses

Request samples

Content type
application/json
{
  • "end": "2022-02-01T00:00:00",
  • "metrics": [
    ],
  • "start": "2022-01-01T00:00:00"
}

Response samples

Content type
application/json
{
  • "overall_stats": {
    },
  • "stats_by_label": {
    },
  • "stats_by_merchant": {
    }
}

List transactions of an account holder.

Fetch all the transactions in the transaction ledger of an account holder.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
query Parameters
page
integer (Page)
Default: 0

Page number

per_page
integer (Per Page) [ 1 .. 1000 ]
Default: 100

How many items per page

sort_by
string (Sort By)

Column to sort items by, allowed values are ['date']. When not specified the default order will be used.

sort_order
string (SortOrder)
Default: "desc"
Enum: "asc" "desc"

Sorting direction asc or desc

Responses

Request samples

curl -X "GET" \
  "https://api.ntropy.com/v2/account-holder/{account_holder_id}/transactions?page=0&per_page=1000" \
  -H "accept: application/json" \
  -H "X-API-KEY: $NTROPY_API_KEY"

Response samples

Content type
application/json
{
  • "transactions": [],
  • "pages": 0
}

Correct any property for multiple transactions.

Provide a correction for any field of a set of previously enriched transactions by transaction_id.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
transaction_ids
required
Array of strings (Transaction Ids)
required
Array of objects (Corrections)

Responses

Request samples

Content type
application/json
{
  • "transaction_ids": [
    ],
  • "corrections": [
    ]
}

Response samples

Content type
application/json
[]

Get transactions of an account holder by transaction id.

Fetch all the transactions matching given transaction ids in the transaction ledger of an account holder. Transactions returned will be in arbitrary order.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
query Parameters
page
integer (Page)
Default: 0

Page number

per_page
integer (Per Page) [ 1 .. 1000 ]
Default: 100

How many items per page

sort_by
string (Sort By)

Column to sort items by, allowed values are ['date']. When not specified the default order will be used.

sort_order
string (SortOrder)
Default: "desc"
Enum: "asc" "desc"

Sorting direction asc or desc

Request Body schema: application/json
required
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
{
  • "transactions": [],
  • "pages": 0
}

Correct any transaction property.

Provide a correction for any field of a previously enriched transaction.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
transaction_id
required
string (Transaction Id)
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
logo
string (Logo)
website
string (Website)
location
string (Location)
location_structured
any (Location Structured)
merchant
string (Merchant)
labels
Array of strings (Labels)
recurrence
any (Recurrence)
person
string (Person)
transaction_type
any (Transaction Type)
intermediaries
Array of any (Intermediaries)
review_state
string (ReviewState)
Enum: "incomplete" "satisfied" "forced"

An enumeration.

Responses

Request samples

Content type
application/json
{
  • "logo": "string",
  • "website": "string",
  • "location": "string",
  • "location_structured": null,
  • "merchant": "string",
  • "labels": [
    ],
  • "recurrence": null,
  • "person": "string",
  • "transaction_type": null,
  • "intermediaries": [
    ],
  • "review_state": "incomplete"
}

Response samples

Content type
application/json
{}

Gets account holder profit and loss for the specified account holder id

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
query Parameters
date_interval
string (Date Interval)
Default: "quarter"
Enum: "day" "month" "quarter" "year"
date_min
string <date> (Date Min)
date_max
string <date> (Date Max)

Responses

Response samples

Content type
application/json
{ }

Gets account holder cash flow for the specified account holder id

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
query Parameters
date_interval
string (Date Interval)
Default: "quarter"
Enum: "day" "month" "quarter" "year"
date_min
string <date> (Date Min)
date_max
string <date> (Date Max)

Responses

Response samples

Content type
application/json
{ }

Categorize an account holder's histories income by their frequency and type

Given the history of transactions of an account holder, determines income sources based on grouping transactions by income groups accounting for their amounts, frequency, source and other properties. The information returned is a summary of all income groups for this account holder.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Identify existing recurring payments for an account holder's transaction history.

Given the history of transactions of an account holder, determines existing recurring payments and related properties such as the type (subscription or bill), amount, periodicity, etc...

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Gets account holder risk factors using the existing risk factor definitions

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Bank statements

Submit and view bank statements.

A list of error codes for the FAILED status can be found below:

code description
301 Failed to parse document as bank statement.
301 Failed to enrich transactions in bank statement.
500 Unexpected error. Please contact support.

Retrieves paginated information of multiple bank statements

Authorizations:
APIKeyHeaderAuth0HTTPBearer
query Parameters
status
string (DocumentStatus)
Enum: "queued" "processing" "processed" "failed"

The status of the document to filter on

account_holder_id
string (Account Holder Id)
The unique ID of the account holder to which the bank statement is associated
page
integer (Page) >= 0
Default: 0

The page number to retrieve

per_page
integer (Per Page) [ 1 .. 1000 )
Default: 20

The page size to retrieve

order_by
string (Order By)
Default: "desc"
Enum: "desc" "asc"

The sorting order by creation

query
string (Query)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Submit a bank statement PDF

Creates a new dataset from a bank statement and queues it for enrichment. The maximum size of the statement must be less than 50.0 MB

Authorizations:
APIKeyHeaderAuth0HTTPBearer
query Parameters
account_holder_id
string (Account Holder Id)

ID for account holder. If no account holder with the given id exists, one will be created with account_type or "business" if not specified.

account_type
string (AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

Type of account holder to use when it is being created. Otherwise it'll override the type of the existing one for the transactions on this bank statement.

iso_currency_code
string (Iso Currency Code)

The currency of transactions in the bank statement in ISO 4217 format. Defaults to USD

Request Body schema: multipart/form-data
required
file
required
string <binary> (File)

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "size": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "account_holder_id": "string",
  • "account_type": "consumer",
  • "status": "queued",
  • "bank_accounts": [
    ],
  • "statements": [
    ],
  • "error_code": 0,
  • "error": "string",
  • "complete": true,
  • "batch_id": "string",
  • "file": {
    }
}

Retrieve information of a bank statement

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
uuid
required
string (Uuid)

The unique ID of the bank statement

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "size": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "account_holder_id": "string",
  • "account_type": "consumer",
  • "status": "queued",
  • "bank_accounts": [
    ],
  • "statements": [
    ],
  • "error_code": 0,
  • "error": "string",
  • "complete": true,
  • "batch_id": "string",
  • "file": {
    }
}

Delete a bank statement

Deletes a bank statement and all its underlying transactions

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
uuid
required
string (Uuid)

Responses

Response samples

Content type
application/json
null

Change information of an existing bank statement

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
uuid
required
string (Uuid)
Request Body schema: application/json
required
name
required
string (Name)

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
null

Gets the enriched transactions for a bank statement

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
uuid
required
string (Uuid)
query Parameters
page
integer (Page)
Default: 0

Page number

per_page
integer (Per Page) [ 1 .. 1000 ]
Default: 100

How many items per page

sort_by
string (Sort By)

Column to sort items by, allowed values are ['date']. When not specified the default order will be used.

sort_order
string (SortOrder)
Default: "desc"
Enum: "asc" "desc"

Sorting direction asc or desc

Responses

Response samples

Content type
application/json
[]

Personalization

Custom rules for enrichment.

Get the current personalization ruleset.

Get the current personalization ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Set the personalization ruleset.

Set the personalization ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
Array
Any of
required
boolean (boolean) or string (string) or number (number) or (function (&& (object) or || (object) or == (object) or + (object) or - (object) or * (object) or / (object) or // (object) or < (object) or <= (object) or > (object) or >= (object) or ! (object) or is_substring (object) or to_lower (object) or to_upper (object) or has_label (object) or has_mcc (object) or get property (object))) (Expr)
Array of if (object) or (modify labels (add_label (object) or remove_label (object) or set_labels (object) or add_mcc (object) or remove_mcc (object) or set_mcc (object))) or set (object) (action)
Array of if (object) or (modify labels (add_label (object) or remove_label (object) or set_labels (object) or add_mcc (object) or remove_mcc (object) or set_mcc (object))) or set (object) (action)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
null

Get an account holder's personalization ruleset.

Get an account holder's personalization ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Set an account holder's personalization ruleset.

Set an account holder's personalization ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
Array
Any of
required
boolean (boolean) or string (string) or number (number) or (function (&& (object) or || (object) or == (object) or + (object) or - (object) or * (object) or / (object) or // (object) or < (object) or <= (object) or > (object) or >= (object) or ! (object) or is_substring (object) or to_lower (object) or to_upper (object) or has_label (object) or has_mcc (object) or get property (object))) (Expr)
Array of if (object) or (modify labels (add_label (object) or remove_label (object) or set_labels (object) or add_mcc (object) or remove_mcc (object) or set_mcc (object))) or set (object) (action)
Array of if (object) or (modify labels (add_label (object) or remove_label (object) or set_labels (object) or add_mcc (object) or remove_mcc (object) or set_mcc (object))) or set (object) (action)

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
null

Append a rule.

Append a rule to the personalization ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
Any of
required
boolean (boolean) or string (string) or number (number) or (function (&& (object) or || (object) or == (object) or + (object) or - (object) or * (object) or / (object) or // (object) or < (object) or <= (object) or > (object) or >= (object) or ! (object) or is_substring (object) or to_lower (object) or to_upper (object) or has_label (object) or has_mcc (object) or get property (object))) (Expr)
then
Array of any (action)
else
Array of any (action)

Responses

Request samples

Content type
application/json
Example
{
  • "if": true,
  • "then": [
    ],
  • "else": [
    ]
}

Response samples

Content type
application/json
null

Append a rule to an account holder's personalization ruleset.

Append a rule to an account holder's personalization ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
Request Body schema: application/json
required
Any of
required
boolean (boolean) or string (string) or number (number) or (function (&& (object) or || (object) or == (object) or + (object) or - (object) or * (object) or / (object) or // (object) or < (object) or <= (object) or > (object) or >= (object) or ! (object) or is_substring (object) or to_lower (object) or to_upper (object) or has_label (object) or has_mcc (object) or get property (object))) (Expr)
then
Array of any (action)
else
Array of any (action)

Responses

Request samples

Content type
application/json
Example
{
  • "if": true,
  • "then": [
    ],
  • "else": [
    ]
}

Response samples

Content type
application/json
null

Delete a rule.

Delete the rule at the specified index from the personalization ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
index
required
integer (Index)

Responses

Request samples

curl -X "DELETE" \
  "https://api.ntropy.com/v2/rules/0" \
  -H "accept: */*" \
  -H "X-API-KEY: $NTROPY_API_KEY" \

Response samples

Content type
application/json
null

Modify an existing rule.

Modify an existing rule at the specified index on the ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
index
required
integer (Index)
Request Body schema: application/json
required
Any of
required
boolean (boolean) or string (string) or number (number) or (function (&& (object) or || (object) or == (object) or + (object) or - (object) or * (object) or / (object) or // (object) or < (object) or <= (object) or > (object) or >= (object) or ! (object) or is_substring (object) or to_lower (object) or to_upper (object) or has_label (object) or has_mcc (object) or get property (object))) (Expr)
then
Array of any (action)
else
Array of any (action)

Responses

Request samples

Content type
application/json
Example
{
  • "if": true,
  • "then": [
    ],
  • "else": [
    ]
}

Response samples

Content type
application/json
null

Delete a rule from an account holder's ruleset.

Delete the rule at the specified index from the account holder's personalization ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
index
required
integer (Index)

Responses

Request samples

curl -X "DELETE" \
  "https://api.ntropy.com/v2/account-holder/{account_holder_id}}/rules/0" \
  -H "accept: */*" \
  -H "X-API-KEY: $NTROPY_API_KEY" \

Response samples

Content type
application/json
null

Modify an existing rule for an account holder's ruleset.

Modify an existing rule at the specified index on the account holder's ruleset.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_id
required
string (Account Holder Id)
index
required
integer (Index)
Request Body schema: application/json
required
Any of
required
boolean (boolean) or string (string) or number (number) or (function (&& (object) or || (object) or == (object) or + (object) or - (object) or * (object) or / (object) or // (object) or < (object) or <= (object) or > (object) or >= (object) or ! (object) or is_substring (object) or to_lower (object) or to_upper (object) or has_label (object) or has_mcc (object) or get property (object))) (Expr)
then
Array of any (action)
else
Array of any (action)

Responses

Request samples

Content type
application/json
Example
{
  • "if": true,
  • "then": [
    ],
  • "else": [
    ]
}

Response samples

Content type
application/json
null

Custom Models

Custom labeling models.

Misc

Miscellaneous endpoint.

Get the hierarchy of Ntropy labels

Get the hierarchy of Ntropy labels

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_type
required
string (AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

An enumeration.

Responses

Response samples

Content type
application/json
{ }

Get a custom label hierarchy

Get a custom label hierarchy

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_type
required
string (AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

An enumeration.

Responses

Response samples

Content type
application/json
Example
{
  • "direct": {
    }
}

Upload a custom label hierarchy

Upload a custom label hierarchy. It can be either a mapped hierarchy, or a direct hierarchy. For a mapped hierarchy, a mapping will be generated from the Ntropy label hierarchy to the custom label hierarchy. Changes to a mapped hierarchy can be retroactively applied, but not for a direct hierarchy. Transactions that don't match a label will be labeled not enough information regardless of whether it is present in the hierarchy.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_type
required
string (AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

An enumeration.

Request Body schema: application/json
required
Any of
required
object (LlmHierarchy)
incoming
required
Array of strings (Incoming)
outgoing
required
Array of strings (Outgoing)

Responses

Request samples

Content type
application/json
Example
{
  • "direct": {
    }
}

Response samples

Content type
application/json
{
  • "property1": "string",
  • "property2": "string"
}

Delete a custom label hierarchy

Delete a custom label hierarchy

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
account_holder_type
required
string (AccountHolderType)
Enum: "consumer" "business" "freelance" "unknown"

An enumeration.

Responses

Response samples

Content type
application/json
null

Detect anomalies in new transactions given a transaction history.

Given a transaction history, return an anomaly score for other transactions, that is, how similar they are to the transaction history. Also returns metrics for different anomaly score thresholds.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
required
Array of objects (Transaction History) <= 1500 items
required
Array of objects (Transactions To Classify) <= 1500 items

Responses

Request samples

Content type
application/json
{
  • "transaction_history": [
    ],
  • "transactions_to_classify": [
    ]
}

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "metrics": {
    }
}

Get the list of possible MCC codes that can be assigned

Get the list of possible MCC codes that can be assigned. Derived from the ISO:18245:2003 standard (https://www.iso.org/standard/33365.html) with private and US-specific MCC codes removed.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the API health info

Get the API health info

Responses

Response samples

Content type
application/json
null

Reporting

List all submited reports (paginated and filterable).

Given a page size and page number, lists a specific page of previously submitted reports, optionally filtered by status and transaction_id.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
query Parameters
per_page
integer (Per Page) [ 1 .. 10000 ]
Default: 1000
page
integer (Page)
Default: 0
status
string (Status)
transaction_id
string (Transaction Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Report a wrongly classified transaction.

Report a wrongly classified transaction specifying expected enrichment values.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
object (Enrichment Report)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "transaction_id": "string",
  • "fields": {
    },
  • "notes": "string",
  • "webhook_url": "string"
}

Returns a report by id

Returns all the available information about a previously submitted report by it's identifier.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
id
required
string (Id)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Entities

Search for entities

Resolves a query into an entity by querying our entity resolution system. The parameters name and website are mutually exclusive.

Authorizations:
APIKeyHeaderAuth0HTTPBearer
query Parameters
name
string (Name)

The name of the entity to resolve

website
string (Website)

The website of the entity to resolve

location
string (Location)

A location string of the entity to resolve

Responses

Response samples

Content type
application/json
{
  • "website": "string",
  • "name": "string",
  • "logo": "string",
  • "id": "string",
  • "location": "string",
  • "location_structured": {
    },
  • "confidence": 0
}

Retrieve an entity by its ID

Retrieve more information about an entity by using its unique ID. These ID's may be obtained from the field id in entity search or from merchant_id in transaction enrichment

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
id
required
string (Id)

The unique ID of the entity

Responses

Response samples

Content type
application/json
{
  • "website": "string",
  • "name": "string",
  • "logo": "string",
  • "id": "string",
  • "location": "string",
  • "location_structured": {
    },
  • "confidence": 0
}

Alert Definitions

Gets the list of alert definitions

Authorizations:
APIKeyHeaderAuth0HTTPBearer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Creates a alert definition

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
title
required
string (Title)
description
required
string (Description)
severity
required
string (Severity)
Enum: "info" "warning" "critical"
required
any (Filter)
trigger
required
string (Trigger)
Enum: "none" "any"

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "severity": "info",
  • "filter": {
    },
  • "trigger": "none"
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "severity": "info",
  • "filter": {
    },
  • "trigger": "none",
  • "id": "string"
}

Gets a alert definition

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
alert_definition_id
required
string (Alert Definition Id)

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "severity": "info",
  • "filter": {
    },
  • "trigger": "none",
  • "id": "string"
}

Updates a alert definition

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
alert_definition_id
required
string (Alert Definition Id)
Request Body schema: application/json
required
title
required
string (Title)
description
required
string (Description)
severity
required
string (Severity)
Enum: "info" "warning" "critical"
required
any (Filter)
trigger
required
string (Trigger)
Enum: "none" "any"

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "severity": "info",
  • "filter": {
    },
  • "trigger": "none"
}

Response samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "severity": "info",
  • "filter": {
    },
  • "trigger": "none",
  • "id": "string"
}

Deletes a alert definition

Authorizations:
APIKeyHeaderAuth0HTTPBearer
path Parameters
alert_definition_id
required
string (Alert Definition Id)

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "description": "string",
  • "severity": "info",
  • "filter": {
    },
  • "trigger": "none"
}

Insights

Check company background

Given a company name or website, return the background information

Authorizations:
APIKeyHeaderAuth0HTTPBearer
Request Body schema: application/json
required
company_identifier
required
string (Company Identifier)

The company name or website

country
required
string (Country)

The company country

Responses

Request samples

Content type
application/json
{
  • "company_identifier": "string",
  • "country": "string"
}

Response samples

Content type
application/json
{
  • "legal_name": {
    },
  • "logo": {
    },
  • "description": {
    },
  • "industry": {
    },
  • "type": {
    },
  • "address": {
    },
  • "creation_date": {
    },
  • "website": {
    },
  • "social_medias": {
    },
  • "founders": {
    },
  • "investors": {
    },
  • "fundings": {
    },
  • "size": {
    },
  • "countries_of_operation": {
    },
  • "related_companies": {
    },
  • "reviews": {
    },
  • "misc": {
    }
}