API Reference
Categories
EndUserDataSourceAccounts
EndUsers
- GETGet EndUser emails
- GETList EndUsers
- PUTUpdate EndUser
- POSTCreate EndUser
- GETGet EndUser by heron_id or end_user_id
- DELDelete EndUser by heron_id or end_user_id
- GETGet EndUser emails
- GETGet EndUser information
- PATCHPatch EndUser information
- POSTEnrich transactions of EndUser
- GETGet EndUser physical location
- GETRetrieve CRM sync events for an end user
- POSTTrigger a CRM Sync for an End User
EndUserEmails
EndUserEntity
EndUserFiles
- GETAll EndUserFiles
- GETGet all file classes
- GETGet recent files by file class
- GETGet file rename rules
- POSTCreate a file rename rule
- PATCHUpdate a file rename rule
- PATCHUpdate the end user file's class
- GETGet EndUserFile as a base64 string
- POSTTrigger async parsing of an end user file
- PATCHUpdate Parsed Results
- GETGet parsed results from uploaded files
- POSTTrigger file's rename rule
- POSTTrigger splitting a combined end user file into its child files based on its page_classes
- GETGet EndUserFiles
- POSTPost EndUserFile
- GETDownload EndUserFiles
- GETDownload xlsx of parsed results from uploaded files
EndUserCalculations
- GETGet EndUser balance
- GETGet EndUser forecasts
- GETGet EndUser statistics
- GETGet EndUser anomalies
- GETGet EndUser bank statement summary
- GETGet EndUser metric benchmarks
- GETExport as a spreadsheet
- GETGet EndUser transactions grouped by counterparty or merchant
- GETGet EndUser Heron Score (beta)
- GETGet EndUser industry
- GETGet EndUser merchant summary
- GETGet EndUser named dates
- GETGet EndUser cashflow P&L
- PUTUpdate EndUser P&L layout
- GETGet EndUser recurring transactions report
- GETGet EndUser scorecard
- POSTRequest EndUser scorecard
- GETGet EndUser transaction data coverage
EndUserAttributes
EnrichmentFeedback
EndUserFinancials
EndUserRules
Integrations
- POSTSend a Finicity Connect email to an end user
- POSTTrigger a cashflow report generation for an end user
- POSTTrigger a statement reports generation for an end user
- POSTTrigger a Finicity VOE transactions report generation for an end user
- PUTUpdate an Integration Link
- GETList Integrations
- POSTCreate an integration
- PUTUpdate Integration
- GETGet IntegrationLinks by Integration
- POSTCreate an integration Link
- DEL(Soft-)Delete an integration link
- POSTRefresh an IntegrationLink
EndUserIntegrations
- POSTUpload Inscribe
- GETGet Integration Links
- POSTUpload Ocrolus
- GETGet PDFs
- POSTParse all PDF
- POSTUpload PDF
- POSTUpload Plaid assets
- POSTUpload Plaid transactions
- POSTUpload Yodlee
- PUTUpdate PDF attributes including status
- PATCHSend patch transactions for a pdf statement
- POSTReloads transactions for a pdf
- POSTUnloads transactions for a pdf
ISOApplication
- POSTUpload an ISO application PDF for for an end user
- GETGet EndUser ISO Applications
- POSTUpload an ISO application PDF for automated scrubbing in under 15 seconds
- POSTUpload an ISO application PDF for automated scrubbing in under 15 seconds (base64)
- GETGet the scrubbed results and data validations of an uploaded ISO application by its heron_id (prefixed "iso_")
EndUserAccounts
EnrichedTransactions
Transactions
Merchants
ParsedEndUserSubmission
Users
Get end user transactions
Get all unique transactions for a single end user. Set end user status to “ready” to initiate transaction enrichment, otherwise may contain both enriched and unenriched transactions
curl --request GET \
--url https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/transactions \
--header 'Authorization: Basic <encoded-value>'
{
"_meta": {
"next_url": "<string>",
"num_results": 123,
"page": 123,
"per_page": 123,
"prev_url": "<string>"
},
"transactions_enriched": [
{
"account_id": "checking_account_202348",
"amount": -42.42,
"annotation": {
"annotator": {
"context": "sync",
"priority_type": "gold_standard"
},
"category": {
"heron_id": "ctg_Rn5h5A7BGm2is4DRvGhGCE",
"label": "Rent"
},
"confidence": 123,
"model_version": "<string>"
},
"balance": 423,
"currency": "USD",
"description": "GOOGLE *ADS12340929 [email protected] US",
"end_user_id": "my_best_customer_203948",
"features": {
"description_clean": "GOOGLE ADS",
"duplicate_of_id": "<any>",
"has_matching_transaction": true,
"is_potential_duplicate": true,
"is_recurring": true
},
"heron_id": "txn_KjPQKaF6BdpSpR6ewTPXNE",
"last_updated": "2025-03-04T17:08:55.147655",
"merchant": {
"categories": [
{
"code": "7311",
"description": "Advertising services",
"slug": "advertising_services"
}
],
"group_id": "Uber",
"heron_id": "mrc_H4woHtq2y7hw3GLRh4hv62",
"icon_url": "<string>",
"is_priority": true,
"logo_url": "<string>",
"name": "<string>",
"url": "<string>"
},
"reference_id": "my_favourite_transaction_231098",
"request_id": "req_gwxinWjDsZDbsLkoJFCQ7n",
"timestamp": "2021-11-12T10:38:05Z",
"transaction_code": "card"
}
]
}
Authorizations
Basic authentication header of the form Basic <encoded-value>
, where <encoded-value>
is the base64-encoded string username:password
.
Path Parameters
Query Parameters
Account ids to include. If not provided, all accounts are included
Filter for transactions whose values were last updated in Heron systems after the specified input value, isoformat
"2025-03-04T17:08:55.783129"
Desired results per page
1 <= x <= 50000
Results page
x >= 1
Filter by the heron_id of the category that the transaction is annotated with
"ctg_AnU5W8jZSfxrP95s5ZZYRZ"
Response
Amount. Inflows to an account should be positive, and outflows from an account should be negative. If using Plaid, please flip the amount sign for all transactions.
-42.42
The text description for the transaction
"GOOGLE *ADS12340929 [email protected] US"
Your unique ID for account associated with transaction
400
"checking_account_202348"
The category annotation associated with the transaction
sync
, async_
, manual
, undetermined
gold_standard
, client_feedback
, tagging_ui
, reconcile
, heuristic
, classifier
, undetermined
The running balance of the account after transaction ocurred
423
ISO 4217 currency code
3
"USD"
Your unique ID for end user associated with transaction
140
"my_best_customer_203948"
Features calculated from transaction
The cleaned description of the transaction
"GOOGLE ADS"
Indicates that the transaction is a duplicate and gives the heron_id of the original
Whether the transaction is a transfer; requires end_user_id and timestamp to be present
Indicates whether the transaction has another transaction similar to it
Whether the transaction is recurring or not; requires end_user_id and timestamp to be present
Unique ID of transaction; generated by Heron Data
"txn_KjPQKaF6BdpSpR6ewTPXNE"
When the transaction was last updated, either by updating its enrichments or the values of the transaction itself
"2025-03-04T17:08:55.147655"
The merchant associated with the transaction
Uber
, Google
, Intuit
, debt.mca_or_rbf
, debt.non_bank_business
, debt.equipment_and_auto_leasing
, debt.mortgage
, debt.personal_non_mortgage
, debt.collections
"mrc_H4woHtq2y7hw3GLRh4hv62"
Your unique ID for transaction
140
"my_favourite_transaction_231098"
ID associated with request, e.g., all transactions in same POST request will have same request_id
"req_gwxinWjDsZDbsLkoJFCQ7n"
The ISO 8601 timezone aware timestamp of the transaction; takes precedence over 'date'
"2021-11-12T10:38:05Z"
Code associated with transaction to indicate the type of transaction
140
"card"
Was this page helpful?
curl --request GET \
--url https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/transactions \
--header 'Authorization: Basic <encoded-value>'
{
"_meta": {
"next_url": "<string>",
"num_results": 123,
"page": 123,
"per_page": 123,
"prev_url": "<string>"
},
"transactions_enriched": [
{
"account_id": "checking_account_202348",
"amount": -42.42,
"annotation": {
"annotator": {
"context": "sync",
"priority_type": "gold_standard"
},
"category": {
"heron_id": "ctg_Rn5h5A7BGm2is4DRvGhGCE",
"label": "Rent"
},
"confidence": 123,
"model_version": "<string>"
},
"balance": 423,
"currency": "USD",
"description": "GOOGLE *ADS12340929 [email protected] US",
"end_user_id": "my_best_customer_203948",
"features": {
"description_clean": "GOOGLE ADS",
"duplicate_of_id": "<any>",
"has_matching_transaction": true,
"is_potential_duplicate": true,
"is_recurring": true
},
"heron_id": "txn_KjPQKaF6BdpSpR6ewTPXNE",
"last_updated": "2025-03-04T17:08:55.147655",
"merchant": {
"categories": [
{
"code": "7311",
"description": "Advertising services",
"slug": "advertising_services"
}
],
"group_id": "Uber",
"heron_id": "mrc_H4woHtq2y7hw3GLRh4hv62",
"icon_url": "<string>",
"is_priority": true,
"logo_url": "<string>",
"name": "<string>",
"url": "<string>"
},
"reference_id": "my_favourite_transaction_231098",
"request_id": "req_gwxinWjDsZDbsLkoJFCQ7n",
"timestamp": "2021-11-12T10:38:05Z",
"transaction_code": "card"
}
]
}