Ntropy Transaction API (2.0)
Download OpenAPI specification:Download
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:
Request Body schema: application/jsonrequired
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" "unknown" The type of an account holder, may be one of 'consumer', 'business' 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) [ 0 .. 9999 ] The Merchant Category Code of the merchant according to ISO 18245 |
account_holder_name | string (Account Holder Name) [ 0 .. 1024 ] characters The name of the account holder |
Responses
Request samples
- Payload
- cURL
- Python SDK
[- {
- "transaction_id": "xbx8YP14g565Xk",
- "account_holder_id": "35b927b6-6fda-40aa-93b8-95b47c2b2cad",
- "amount": 10,
- "entry_type": "outgoing",
- "date": "2022-02-02",
- "iso_currency_code": "USD",
- "country": "US",
- "description": "SQ* STARBUCKS UNION SQUARE"
}
]
Response samples
- 200
- 404
- 422
[- {
- "transaction_id": "xbx8YP14g565Xk",
- "website": "starbucks.com",
- "location": "10 Union Square East, New York, New York 10003, US",
- "location_structured": {
- "address": "10 Union Square East",
- "city": "New York",
- "state": "New York",
- "postcode": "10003",
- "country": "US",
- "country_name": "United States",
- "latitude": "48.734834",
- "longitude": "-73.989782",
}, - "merchant": "Starbucks",
- "merchant_id": "d4bc3c80-ec1a-3da2-836e-2a4ca4758be5",
- "labels": [
- "Cafes and coffee shop"
], - "recurrence": "recurring",
- "recurrence_group": {
- "id": "3b0c689b-e123-30a6-9f53-878f3ebf46aa",
- "first_payment_date": "2020-02-02",
- "latest_payment_date": "2022-02-02",
- "total_amount": 240,
- "average_amount": 10,
- "periodicity_in_days": 31,
- "periodicity": "monthly",
- "other_party": "starbucks.com",
- "transaction_ids": [
- "b708fbd8-be76-41c2-86d5-83f8ba05ed85",
- "0e34b24d-646d-416e-8d51-fda5b6e10684"
]
}, - "recurrence_group_id": "3b0c689b-e123-30a6-9f53-878f3ebf46aa",
- "intermediaries": [
- {
- "id": "916bc837-55ef-3106-88f6-5a8269ca9f2a",
- "name": "Square",
- "website": "squareup.com",
}
]
}
]
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:
Request Body schema: application/jsonrequired
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" "unknown" The type of an account holder, may be one of 'consumer', 'business' 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) [ 0 .. 9999 ] The Merchant Category Code of the merchant according to ISO 18245 |
account_holder_name | string (Account Holder Name) [ 0 .. 1024 ] characters The name of the account holder |
Responses
Request samples
- Payload
- cURL
- Python SDK
[- {
- "transaction_id": "xbx8YP14g565Xk",
- "account_holder_id": "35b927b6-6fda-40aa-93b8-95b47c2b2cad",
- "amount": 10,
- "entry_type": "outgoing",
- "date": "2022-02-02",
- "iso_currency_code": "USD",
- "country": "US",
- "description": "SQ* STARBUCKS UNION SQUARE"
}
]
Response samples
- 202
- 404
- 422
{- "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:
path Parameters
id required | string (Id) = 36 characters Example: 247ee045-3d04-4b3c-872b-a9160b810f33 Batch id. |
Responses
Request samples
- cURL
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
- 200
- 422
{- "id": "247ee045-3d04-4b3c-872b-a9160b810f33",
- "progress": 88,
- "status": "started",
- "updated_at": "2019-11-30T18:32:28Z"
}
Gets a list of the registered account holders
Authorizations:
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
- 200
- 422
[- {
- "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 or unknown.
Authorizations:
Request Body schema: application/jsonrequired
type required | string (ntropy_server__schemas__account_holder__AccountHolderType) Enum: "consumer" "business" "unknown" An enumeration. |
name | string (Name) |
industry | string (Industry) |
website | string (Website) |
object (AccountHolderCompany) | |
id | string (Id) |
Responses
Request samples
- Payload
- cURL
- Python SDK
{- "id": "67890",
- "type": "business",
- "name": "Ntropy Network Inc.",
- "industry": "fintech",
- "website": "ntropy.com"
}
Response samples
- 200
- 422
{- "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:
path Parameters
account_holder_id required | string (Account Holder Id) |
Responses
Request samples
- cURL
- Python SDK
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
- 200
- 422
{- "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 or unknown.
Authorizations:
path Parameters
account_holder_id required | string (Account Holder Id) |
Request Body schema: application/jsonrequired
type required | string (ntropy_server__schemas__account_holder__AccountHolderType) Enum: "consumer" "business" "unknown" An enumeration. |
name | string (Name) |
industry | string (Industry) |
website | string (Website) |
object (AccountHolderCompany) |
Responses
Request samples
- Payload
{- "id": "67890",
- "type": "business",
- "name": "Ntropy Network Inc.",
- "industry": "fintech",
- "website": "ntropy.com"
}
Response samples
- 200
- 422
{- "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:
path Parameters
account_holder_id required | string (Account Holder Id) |
Responses
Request samples
- cURL
- Python SDK
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
- 200
- 422
{- "status": "success"
}
Renames an existing account-holder
Authorizations:
path Parameters
account_holder_id required | string (Account Holder Id) |
Request Body schema: application/jsonrequired
name required | string (Name) |
Responses
Request samples
- Payload
{- "name": "string"
}
Response samples
- 200
- 422
null
List transactions of an account holder.
Fetch all the transactions in the transaction ledger of an account holder.
Authorizations:
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 |
sort_order | string (SortOrder) Default: "desc" Enum: "asc" "desc" Sorting direction |
Responses
Request samples
- cURL
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
- 200
- 422
{- "transactions": [
- {
- "transaction_id": "string",
- "account_holder_id": "string",
- "account_holder_type": "consumer",
- "amount": 0,
- "entry_type": "incoming",
- "date": "2019-08-24",
- "iso_currency_code": "string",
- "description": "string",
- "location": "string",
- "country": "string",
- "mcc": [
- 0
], - "account_holder_name": "string",
- "logo": "string",
- "website": "string",
- "location_structured": {
- "address": "string",
- "city": "string",
- "state": "string",
- "postcode": "string",
- "country": "string",
- "country_name": "string",
- "latitude": 0,
- "longitude": 0,
- "google_maps_url": "string",
- "apple_maps_url": "string",
- "store_number": "string",
- "house_number": "string"
}, - "merchant": "string",
- "merchant_id": "string",
- "labels": [
- "string"
], - "recurrence": "recurring",
- "recurrence_group": {
- "id": "string",
- "first_payment_date": "2019-08-24",
- "latest_payment_date": "2019-08-24",
- "total_amount": 0,
- "average_amount": 0,
- "periodicity_in_days": 0,
- "periodicity": "string",
- "confidence": "string",
- "transaction_ids": [
- "string"
]
}, - "recurrence_group_id": "string",
- "person": "string",
- "transaction_type": "business",
- "intermediaries": [
- {
- "id": "string",
- "name": "string",
- "website": "string",
- "logo": "string"
}
]
}
], - "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:
path Parameters
account_holder_id required | string (Account Holder Id) |
Request Body schema: application/jsonrequired
transaction_ids required | Array of strings (Transaction Ids) |
required | Array of objects (Corrections) |
Responses
Request samples
- Payload
{- "transaction_ids": [
- "string"
], - "corrections": [
- {
- "logo": "string",
- "website": "string",
- "location": "string",
- "location_structured": null,
- "merchant": "string",
- "labels": [
- "string"
], - "recurrence": null,
- "person": "string",
- "transaction_type": null,
- "intermediaries": [
- null
], - "review_state": "incomplete"
}
]
}
Response samples
- 200
- 422
[- {
- "transaction_id": "xbx8YP14g565Xk",
- "website": "starbucks.com",
- "location": "10 Union Square East, New York, New York 10003, US",
- "location_structured": {
- "address": "10 Union Square East",
- "city": "New York",
- "state": "New York",
- "postcode": "10003",
- "country": "US",
- "country_name": "United States",
- "latitude": "48.734834",
- "longitude": "-73.989782",
}, - "merchant": "Starbucks",
- "merchant_id": "d4bc3c80-ec1a-3da2-836e-2a4ca4758be5",
- "labels": [
- "Cafes and coffee shop"
], - "recurrence": "recurring",
- "recurrence_group": {
- "id": "3b0c689b-e123-30a6-9f53-878f3ebf46aa",
- "first_payment_date": "2020-02-02",
- "latest_payment_date": "2022-02-02",
- "total_amount": 240,
- "average_amount": 10,
- "periodicity_in_days": 31,
- "periodicity": "monthly",
- "other_party": "starbucks.com",
- "transaction_ids": [
- "b708fbd8-be76-41c2-86d5-83f8ba05ed85",
- "0e34b24d-646d-416e-8d51-fda5b6e10684"
]
}, - "recurrence_group_id": "3b0c689b-e123-30a6-9f53-878f3ebf46aa",
- "intermediaries": [
- {
- "id": "916bc837-55ef-3106-88f6-5a8269ca9f2a",
- "name": "Square",
- "website": "squareup.com",
}
]
}
]
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:
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 |
sort_order | string (SortOrder) Default: "desc" Enum: "asc" "desc" Sorting direction |
Request Body schema: application/jsonrequired
Responses
Request samples
- Payload
- cURL
[- "string"
]
Response samples
- 200
- 422
{- "transactions": [
- {
- "transaction_id": "string",
- "account_holder_id": "string",
- "account_holder_type": "consumer",
- "amount": 0,
- "entry_type": "incoming",
- "date": "2019-08-24",
- "iso_currency_code": "string",
- "description": "string",
- "location": "string",
- "country": "string",
- "mcc": [
- 0
], - "account_holder_name": "string",
- "logo": "string",
- "website": "string",
- "location_structured": {
- "address": "string",
- "city": "string",
- "state": "string",
- "postcode": "string",
- "country": "string",
- "country_name": "string",
- "latitude": 0,
- "longitude": 0,
- "google_maps_url": "string",
- "apple_maps_url": "string",
- "store_number": "string",
- "house_number": "string"
}, - "merchant": "string",
- "merchant_id": "string",
- "labels": [
- "string"
], - "recurrence": "recurring",
- "recurrence_group": {
- "id": "string",
- "first_payment_date": "2019-08-24",
- "latest_payment_date": "2019-08-24",
- "total_amount": 0,
- "average_amount": 0,
- "periodicity_in_days": 0,
- "periodicity": "string",
- "confidence": "string",
- "transaction_ids": [
- "string"
]
}, - "recurrence_group_id": "string",
- "person": "string",
- "transaction_type": "business",
- "intermediaries": [
- {
- "id": "string",
- "name": "string",
- "website": "string",
- "logo": "string"
}
]
}
], - "pages": 0
}
Correct any transaction property.
Provide a correction for any field of a previously enriched transaction.
Authorizations:
path Parameters
transaction_id required | string (Transaction Id) |
account_holder_id required | string (Account Holder Id) |
Request Body schema: application/jsonrequired
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
- Payload
{- "logo": "string",
- "website": "string",
- "location": "string",
- "location_structured": null,
- "merchant": "string",
- "labels": [
- "string"
], - "recurrence": null,
- "person": "string",
- "transaction_type": null,
- "intermediaries": [
- null
], - "review_state": "incomplete"
}
Response samples
- 200
- 422
{- "transaction_id": "xbx8YP14g565Xk",
- "website": "starbucks.com",
- "location": "10 Union Square East, New York, New York 10003, US",
- "location_structured": {
- "address": "10 Union Square East",
- "city": "New York",
- "state": "New York",
- "postcode": "10003",
- "country": "US",
- "country_name": "United States",
- "latitude": "48.734834",
- "longitude": "-73.989782",
}, - "merchant": "Starbucks",
- "merchant_id": "d4bc3c80-ec1a-3da2-836e-2a4ca4758be5",
- "labels": [
- "Cafes and coffee shop"
], - "recurrence": "recurring",
- "recurrence_group": {
- "id": "3b0c689b-e123-30a6-9f53-878f3ebf46aa",
- "first_payment_date": "2020-02-02",
- "latest_payment_date": "2022-02-02",
- "total_amount": 240,
- "average_amount": 10,
- "periodicity_in_days": 31,
- "periodicity": "monthly",
- "other_party": "starbucks.com",
- "transaction_ids": [
- "b708fbd8-be76-41c2-86d5-83f8ba05ed85",
- "0e34b24d-646d-416e-8d51-fda5b6e10684"
]
}, - "recurrence_group_id": "3b0c689b-e123-30a6-9f53-878f3ebf46aa",
- "intermediaries": [
- {
- "id": "916bc837-55ef-3106-88f6-5a8269ca9f2a",
- "name": "Square",
- "website": "squareup.com",
}
]
}
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:
path Parameters
account_holder_id required | string (Account Holder Id) |
Responses
Response samples
- 200
- 422
[- {
- "total_amount": 0,
- "source": "string",
- "merchant_id": "string",
- "is_active": true,
- "income_type": "salary",
- "first_payment_date": "string",
- "latest_payment_date": "string",
- "duration": "string",
- "latest_payment_description": "string",
- "transaction_ids": [
- "string"
], - "pay_frequency": "daily",
- "next_expected_payment_date": "string",
- "next_expected_payment_amount": 0
}
]
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:
path Parameters
account_holder_id required | string (Account Holder Id) |
Responses
Response samples
- 200
- 422
[- {
- "recurrence_group_id": "string",
- "periodicity": "daily",
- "latest_payment_amount": 0,
- "total_amount": 0,
- "merchant": "string",
- "merchant_id": "string",
- "logo": "string",
- "website": "string",
- "labels": [
- "string"
], - "first_payment_date": "string",
- "latest_payment_date": "string",
- "transaction_ids": [
- "string"
], - "is_active": true,
- "next_expected_payment_date": "string",
- "latest_payment_description": "string",
- "type": "string",
- "is_essential": true,
- "iso_currency_code": "string",
- "entry_type": "string",
- "periodicity_in_days": 0,
- "average_amount": 0
}
]
The bank statements API allows you to view and enrich transactions found in bank statements. Below is a table with the description of each of the statuses and steps that each bank statement goes through:
Status | Description |
---|---|
QUEUED | The document is queued for processing |
PROCESSING | OCR is in progress |
PROCESSED | The document was successfully processed |
FAILED | An error occurred during processing of any of the previous steps |
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. |
Check paginated processing status for bank statements
Authorizations:
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)
|
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
- 200
- 422
[- {
- "id": "string",
- "name": "string",
- "size": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "account_holder_id": "string",
- "account_type": "consumer",
- "status": "queued",
- "bank_accounts": [
- {
- "name": "string",
- "bank_name": "string",
- "account_holder": "string",
- "account_number": "string"
}
], - "statements": [
- {
- "begin_date": "2019-08-24",
- "end_date": "2019-08-24",
- "begin_balance": 0,
- "end_balance": 0,
- "total_incoming": 0,
- "total_outgoing": 0,
- "is_balance_reconciled": true
}
], - "error_code": 0,
- "error": "string",
- "complete": true,
- "batch_id": "string",
- "file": {
- "no_pages": 0,
- "size": 0
}
}
]
Submit a bank statement PDF for OCR and enrichment
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:
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 | string (AccountHolderType) Enum: "consumer" "business" "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 |
Request Body schema: multipart/form-datarequired
file required | string <binary> (File) |
Responses
Response samples
- 200
- 422
{- "id": "string",
- "name": "string",
- "size": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "account_holder_id": "string",
- "account_type": "consumer",
- "status": "queued",
- "bank_accounts": [
- {
- "name": "string",
- "bank_name": "string",
- "account_holder": "string",
- "account_number": "string"
}
], - "statements": [
- {
- "begin_date": "2019-08-24",
- "end_date": "2019-08-24",
- "begin_balance": 0,
- "end_balance": 0,
- "total_incoming": 0,
- "total_outgoing": 0,
- "is_balance_reconciled": true
}
], - "error_code": 0,
- "error": "string",
- "complete": true,
- "batch_id": "string",
- "file": {
- "no_pages": 0,
- "size": 0
}
}
Check processing status for a bank statement
Authorizations:
path Parameters
uuid required | string (Uuid) The unique ID of the bank statement |
Responses
Response samples
- 200
- 422
{- "id": "string",
- "name": "string",
- "size": 0,
- "created_at": "2019-08-24T14:15:22Z",
- "account_holder_id": "string",
- "account_type": "consumer",
- "status": "queued",
- "bank_accounts": [
- {
- "name": "string",
- "bank_name": "string",
- "account_holder": "string",
- "account_number": "string"
}
], - "statements": [
- {
- "begin_date": "2019-08-24",
- "end_date": "2019-08-24",
- "begin_balance": 0,
- "end_balance": 0,
- "total_incoming": 0,
- "total_outgoing": 0,
- "is_balance_reconciled": true
}
], - "error_code": 0,
- "error": "string",
- "complete": true,
- "batch_id": "string",
- "file": {
- "no_pages": 0,
- "size": 0
}
}
Change information of an existing bank statement
Authorizations:
path Parameters
uuid required | string (Uuid) |
Request Body schema: application/jsonrequired
name required | string (Name) |
Responses
Request samples
- Payload
{- "name": "string"
}
Response samples
- 200
- 422
null
Gets the enriched transactions for a bank statement
Authorizations:
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 |
sort_order | string (SortOrder) Default: "desc" Enum: "asc" "desc" Sorting direction |
Responses
Response samples
- 200
- 422
[- {
- "transaction_id": "string",
- "account_holder_id": "string",
- "account_holder_type": "consumer",
- "amount": 0,
- "entry_type": "incoming",
- "date": "2019-08-24",
- "iso_currency_code": "string",
- "description": "string",
- "location": "string",
- "country": "string",
- "mcc": [
- 0
], - "account_holder_name": "string",
- "logo": "string",
- "website": "string",
- "location_structured": {
- "address": "string",
- "city": "string",
- "state": "string",
- "postcode": "string",
- "country": "string",
- "country_name": "string",
- "latitude": 0,
- "longitude": 0,
- "google_maps_url": "string",
- "apple_maps_url": "string",
- "store_number": "string",
- "house_number": "string"
}, - "merchant": "string",
- "merchant_id": "string",
- "labels": [
- "string"
], - "recurrence": "recurring",
- "recurrence_group": {
- "id": "string",
- "first_payment_date": "2019-08-24",
- "latest_payment_date": "2019-08-24",
- "total_amount": 0,
- "average_amount": 0,
- "periodicity_in_days": 0,
- "periodicity": "string",
- "confidence": "string",
- "transaction_ids": [
- "string"
]
}, - "recurrence_group_id": "string",
- "person": "string",
- "transaction_type": "business",
- "intermediaries": [
- {
- "id": "string",
- "name": "string",
- "website": "string",
- "logo": "string"
}
], - "error": "string",
- "error_details": "string"
}
]
Extracts bank and account details for instant file verification and UI enhancements.
Statement Info endpoint is a low-latency response analysing the first page of a bank statement which returns key identification details such as the underlying bank institution and the account-holder. The can be used for UX improvements through instant verification of correct file upload, for UI improvements like returning bank names and logos, or for logging information about a file upon upload.
Authorizations:
path Parameters
uuid required | string (Uuid) |
Responses
Response samples
- 200
- 422
{- "institution": "Well's Fargo",
- "start_date": "2024-01-01",
- "end_date": "2024-02-01",
- "account_holder": {
- "type": "consumer",
- "name": "John Doe",
- "address": {
- "street": "601 Rosebud Avenue",
- "postcode": "77901",
- "city": "Victoria",
- "state": "Texas",
- "country": "United States"
}
}, - "accounts": [
- {
- "type": "checking",
- "number": "83721",
- "opening_balance": 1000,
- "closing_balance": 1500,
- "iso_currency_code": "USD"
}
]
}
Get Bank Statement Results
Return the extracted account information and associated transactions from a bank statement PDF. The results are accessible once the statement's status is processed
.
Authorizations:
path Parameters
uuid required | string (Uuid) |
Responses
Response samples
- 200
- 422
{- "accounts": [
- {
- "number": "string",
- "opening_balance": 0,
- "closing_balance": 0,
- "start_date": "2019-08-24",
- "end_date": "2019-08-24",
- "is_balance_reconciled": true,
- "transactions": [
- {
- "date": "2019-08-24",
- "entry_type": "incoming",
- "amount": 0,
- "running_balance": 0,
- "iso_currency_code": "string",
- "description": "string",
- "transaction_id": "string"
}
], - "total_incoming": 0,
- "total_outgoing": 0
}
]
}
Set the personalization ruleset.
Set the personalization ruleset.
Authorizations:
Request Body schema: application/jsonrequired
required | boolean (boolean) or string (string) or number (number) or (function (and (object) or or (object) or eq (object) or plus (object) or minus (object) or mul (object) or div (object) or idiv (object) or lt (object) or lte (object) or gt (object) or gte (object) or not (object) or is_substring (object) or starts_with (object) or ends_with (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
- Payload
- cURL
[- {
- "if": {
- "is_substring": [
- {
- "get": "website"
}, - "ntropy"
]
}, - "else": [
- {
- "remove_label": "example label"
}
]
}
]
Response samples
- 200
- 422
null
Append a rule.
Append a rule to the personalization ruleset.
Authorizations:
Request Body schema: application/jsonrequired
required | boolean (boolean) or string (string) or number (number) or (function (and (object) or or (object) or eq (object) or plus (object) or minus (object) or mul (object) or div (object) or idiv (object) or lt (object) or lte (object) or gt (object) or gte (object) or not (object) or is_substring (object) or starts_with (object) or ends_with (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
- Payload
- cURL
{- "if": true,
- "then": [
- {
- "if": true,
- "then": [ ],
- "else": [
- null
]
}
], - "else": [
- {
- "if": true,
- "then": [
- null
], - "else": [ ]
}
]
}
Response samples
- 200
- 422
null
Delete a rule.
Delete the rule at the specified index from the personalization ruleset.
Authorizations:
path Parameters
index required | integer (Index) |
Responses
Request samples
- cURL
curl -X "DELETE" \ "https://api.ntropy.com/v2/rules/0" \ -H "accept: */*" \ -H "X-API-KEY: $NTROPY_API_KEY" \
Response samples
- 200
- 422
null
Modify an existing rule.
Modify an existing rule at the specified index on the ruleset.
Authorizations:
path Parameters
index required | integer (Index) |
Request Body schema: application/jsonrequired
required | boolean (boolean) or string (string) or number (number) or (function (and (object) or or (object) or eq (object) or plus (object) or minus (object) or mul (object) or div (object) or idiv (object) or lt (object) or lte (object) or gt (object) or gte (object) or not (object) or is_substring (object) or starts_with (object) or ends_with (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
- Payload
- cURL
{- "if": true,
- "then": [
- {
- "if": true,
- "then": [ ],
- "else": [
- null
]
}
], - "else": [
- {
- "if": true,
- "then": [
- null
], - "else": [ ]
}
]
}
Response samples
- 200
- 422
null
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
- 200
[- {
- "code": "string",
- "description": "string"
}
]
Get a custom label hierarchy
Get a custom label hierarchy
Authorizations:
path Parameters
account_holder_type required | string (AccountHolderType) Enum: "consumer" "business" "unknown" An enumeration. |
Responses
Response samples
- 200
- 422
{- "incoming": [
- "string"
], - "outgoing": [
- "string"
]
}
Upload a custom label hierarchy
Upload a custom label hierarchy. Transactions that don't match a label will be labeled not enough information
regardless of whether it is present in the hierarchy.
Authorizations:
path Parameters
account_holder_type required | string (AccountHolderType) Enum: "consumer" "business" "unknown" An enumeration. |
Request Body schema: application/jsonrequired
incoming required | Array of strings (Incoming) |
outgoing required | Array of strings (Outgoing) |
Responses
Request samples
- Payload
{- "incoming": [
- "string"
], - "outgoing": [
- "string"
]
}
Response samples
- 200
- 422
null
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:
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
- 200
- 422
[- {
- "id": "string",
- "status": "open",
- "transaction_id": "string",
- "fields": {
- "property1": "string",
- "property2": "string"
}, - "notes": "string",
- "webhook_url": "string"
}
]
Report a wrongly classified transaction.
Report a wrongly classified transaction specifying expected enrichment values.
Authorizations:
Request Body schema: application/jsonrequired
transaction_id required | string (Transaction Id) |
notes | string (Notes) |
webhook_url | string (Webhook Url) |
property name* additional property | any |
Responses
Request samples
- Payload
- cURL
- Python SDK
{- "transaction_id": "string",
- "notes": "string",
- "webhook_url": "string",
- "property1": null,
- "property2": null
}
Response samples
- 200
- 422
{- "id": "string",
- "status": "open",
- "transaction_id": "string",
- "fields": {
- "property1": "string",
- "property2": "string"
}, - "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:
path Parameters
id required | string (Id) |
Responses
Response samples
- 200
- 422
[- {
- "id": "string",
- "status": "open",
- "transaction_id": "string",
- "fields": {
- "property1": "string",
- "property2": "string"
}, - "notes": "string",
- "webhook_url": "string"
}
]
Search for entities
Resolves a query into an entity by querying our entity resolution system.
The parameters name
and website
are mutually exclusive. Calls to this endpoint using
the name
parameter are billed the same way transactions are.
Authorizations:
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
- 200
- 422
{- "website": "string",
- "name": "string",
- "logo": "string",
- "id": "string",
- "location": "string",
- "location_structured": {
- "address": "string",
- "city": "string",
- "state": "string",
- "postcode": "string",
- "country": "string",
- "country_name": "string",
- "latitude": 0,
- "longitude": 0,
- "google_maps_url": "string",
- "apple_maps_url": "string",
- "store_number": "string",
- "house_number": "string"
}, - "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:
path Parameters
id required | string (Id) The unique ID of the entity |
Responses
Response samples
- 200
- 422
{- "website": "string",
- "name": "string",
- "logo": "string",
- "id": "string",
- "location": "string",
- "location_structured": {
- "address": "string",
- "city": "string",
- "state": "string",
- "postcode": "string",
- "country": "string",
- "country_name": "string",
- "latitude": 0,
- "longitude": 0,
- "google_maps_url": "string",
- "apple_maps_url": "string",
- "store_number": "string",
- "house_number": "string"
}, - "confidence": 0
}