Response samples
- 200
{- "categories": [
- {
- "analytics_group": "revenue",
- "created": "2025-01-10T12:48:23.677053",
- "description": "Rent for offices, workspaces or storage facilities",
- "heron_id": "ctg_6gKHq4oKPPw2Q2jeHRT878",
- "label": "Rent"
}
]
}
Response samples
- 200
{- "crm_integrations": [
- {
- "config": {
- "data_source_accounts_config": null,
- "default_id": null,
- "object_configs": [ ],
- "policy_evaluation_config": null,
- "sync_file_classes": { },
- "value_mappings": [ ]
}, - "failure_notification_channel": null,
- "heron_id": "string",
- "is_enabled": true,
- "is_live": true,
- "provider": "salesforce"
}
]
}
Create a CRM integration
Create a CRM integration, e.g., with Salesforce
Authorizations:
Request Body schema: application/json
auth required | object Authentication details for the CRM integration |
required | object The configuration for the CRM integration |
failure_notification_channel | string or null^\# Default: null The channel to send failure notifications to |
instance_url required | string <url> Base URL of the CRM integration |
is_enabled | boolean Default: true Whether the integration is enabled |
is_live | boolean Default: true Whether the integration is live |
provider required | string Enum: "salesforce" "lendsmart" "orgmeter" "centrex" "lendsaas" "quickbase" "zoho" "origami" "in_memory" The CRM provider |
secret required | string A secret key for the CRM integration |
property name* additional property | any |
Responses
Request samples
- Payload
{- "auth": { },
- "config": {
- "data_source_accounts_config": null,
- "default_id": null,
- "object_configs": [ ],
- "policy_evaluation_config": null,
- "sync_file_classes": { },
- "value_mappings": [ ]
}, - "failure_notification_channel": null,
- "is_enabled": true,
- "is_live": true,
- "provider": "salesforce",
- "secret": "string"
}
Response samples
- 201
{- "crm_integration": {
- "config": {
- "data_source_accounts_config": null,
- "default_id": null,
- "object_configs": [ ],
- "policy_evaluation_config": null,
- "sync_file_classes": { },
- "value_mappings": [ ]
}, - "failure_notification_channel": null,
- "heron_id": "string",
- "is_enabled": true,
- "is_live": true,
- "provider": "salesforce"
}
}
Patch a CRM integration
patch a CRM integration
Authorizations:
path Parameters
heron_id required | string |
Request Body schema: application/json
auth | object Authentication details for the CRM integration |
object The configuration for the CRM integration | |
failure_notification_channel | string or null^\# Default: null The channel to send failure notifications to |
instance_url | string <url> Base URL of the CRM integration |
is_enabled | boolean Default: true Whether the integration is enabled |
is_live | boolean Default: true Whether the integration is live |
provider | string Enum: "salesforce" "lendsmart" "orgmeter" "centrex" "lendsaas" "quickbase" "zoho" "origami" "in_memory" The CRM provider |
secret | string A secret key for the CRM integration |
property name* additional property | any |
Responses
Request samples
- Payload
{- "auth": { },
- "config": {
- "data_source_accounts_config": null,
- "default_id": null,
- "object_configs": [ ],
- "policy_evaluation_config": null,
- "sync_file_classes": { },
- "value_mappings": [ ]
}, - "failure_notification_channel": null,
- "is_enabled": true,
- "is_live": true,
- "provider": "salesforce",
- "secret": "string"
}
Response samples
- 200
{- "config": {
- "data_source_accounts_config": null,
- "default_id": null,
- "object_configs": [ ],
- "policy_evaluation_config": null,
- "sync_file_classes": { },
- "value_mappings": [ ]
}, - "failure_notification_channel": null,
- "heron_id": "string",
- "is_enabled": true,
- "is_live": true,
- "provider": "salesforce"
}
Update a data source account
Update a data source account
Authorizations:
path Parameters
heron_id required | string |
Request Body schema: application/json
is_enabled | boolean Whether or not the account is enabled. If disabled, hides related transactions from analytics |
Responses
Request samples
- Payload
{- "is_enabled": true
}
Response samples
- 200
{- "account_id": "202348",
- "anomaly_score": 200,
- "balances": [
- {
- "closing_amount": 25000.45,
- "currency": "USD",
- "date": "2022-01-01"
}
], - "currency": "USD",
- "end_date": "2022-01-31",
- "heron_id": "dso_mzfw6qaPz2fBavAw6t5Tvt",
- "institution_name": "Chase",
- "is_enabled": true,
- "max_date": "2022-01-31",
- "min_date": "2022-01-01",
- "name": "Checking Account",
- "num_transactions": 120,
- "number": "123456789",
- "owner_name": "John Doe",
- "reference_id": "account-202348",
- "start_date": "2022-01-01",
- "transactions_match_balances": true,
- "type": "Checking"
}
Update a data source
Update a data source
Authorizations:
path Parameters
heron_id required | string |
Request Body schema: application/json
is_enabled | boolean Default: true Whether or not the data source is enabled. If disabled, hides related transactions from analytics |
Responses
Request samples
- Payload
{- "is_enabled": true
}
Response samples
- 200
{- "created": "2024-11-29T12:48:25.660271",
- "data_source_accounts": [
- {
- "account_id": "202348",
- "anomaly_score": 200,
- "enabled": true,
- "max_date": "2022-01-31",
- "min_date": "2022-01-01",
- "num_transactions": 120,
- "transactions_match_balances": true
}
], - "heron_id": "dso_Rg3druLkAXJE2ddh5jfDRn",
- "is_enabled": true,
- "last_updated": "2025-01-10T12:48:25.660291",
- "metadata": {
- "filename": "202348_JAN_2022.pdf",
- "status": "processed"
}, - "reference_id": "pdf_nMrnHbxbEVQVfSB5hctUZ2",
- "status": "new",
- "type": "pdf"
}
Get data source account summary
Get a list of data sources accounts & their summarised information for a company
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
[- {
- "data_source_account_summaries": [
- {
- "account": {
- "account_id": "202348",
- "anomaly_score": 200,
- "balances": [
- {
- "closing_amount": 25000.45,
- "currency": "USD",
- "date": "2022-01-01"
}
], - "currency": "USD",
- "end_date": "2022-01-31",
- "heron_id": "dso_mzfw6qaPz2fBavAw6t5Tvt",
- "institution_name": "Chase",
- "is_enabled": true,
- "max_date": "2022-01-31",
- "min_date": "2022-01-01",
- "name": "Checking Account",
- "num_transactions": 120,
- "number": "123456789",
- "owner_name": "John Doe",
- "reference_id": "account-202348",
- "start_date": "2022-01-01",
- "transactions_match_balances": true,
- "type": "Checking"
}, - "summary": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}
}
], - "end_user": {
- "end_user_id": "e2af5550-c80c-4d69-9c63-2a83dab44fb4",
- "heron_id": "eus_b6ZpUp2Rkxw5nSoLjyofd8",
- "name": "Company Name Inc."
}
}
]
Get data sources
Get a list of data sources for a company
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
[- {
- "created": "2024-11-29T12:48:25.660271",
- "data_source_accounts": [
- {
- "account_id": "202348",
- "anomaly_score": 200,
- "enabled": true,
- "max_date": "2022-01-31",
- "min_date": "2022-01-01",
- "num_transactions": 120,
- "transactions_match_balances": true
}
], - "heron_id": "dso_Rg3druLkAXJE2ddh5jfDRn",
- "is_enabled": true,
- "last_updated": "2025-01-10T12:48:25.660291",
- "metadata": {
- "filename": "202348_JAN_2022.pdf",
- "status": "processed"
}, - "reference_id": "pdf_nMrnHbxbEVQVfSB5hctUZ2",
- "status": "new",
- "type": "pdf"
}
]
Create an email template
Create an email template used to send emails conditional on events like policy evaluation
Authorizations:
Request Body schema: application/json
cc_address | string or null Default: null The email address to CC |
html_body required | string The body of the email to send. |
name required | string [ 3 .. 50 ] characters ^[a-zA-Z0-9_-]+$ Unique name of the email template. Used to match which email template to send. Only alphanumeric characters, underscores, and dashes are allowed. |
reply_to_address | string or null Default: null The email address to reply to |
to_address | string or null Default: null The email address to send the email to |
property name* additional property | any |
Responses
Request samples
- Payload
{- "cc_address": null,
- "html_body": "string",
- "name": "string",
- "reply_to_address": null,
- "to_address": null
}
Response samples
- 201
{- "email_template": {
- "cc_address": null,
- "heron_id": "string",
- "html_body": "string",
- "name": "string",
- "reply_to_address": null,
- "to_address": null
}
}
Patch an email template
Update an email template
Authorizations:
path Parameters
heron_id required | string |
Request Body schema: application/json
cc_address | string or null Default: null The email address to CC |
html_body | string The body of the email to send. |
name | string [ 3 .. 50 ] characters ^[a-zA-Z0-9_-]+$ Unique name of the email template. Used to match which email template to send. Only alphanumeric characters, underscores, and dashes are allowed. |
reply_to_address | string or null Default: null The email address to reply to |
to_address | string or null Default: null The email address to send the email to |
property name* additional property | any |
Responses
Request samples
- Payload
{- "cc_address": null,
- "html_body": "string",
- "name": "string",
- "reply_to_address": null,
- "to_address": null
}
Response samples
- 201
{- "email_template": {
- "cc_address": null,
- "heron_id": "string",
- "html_body": "string",
- "name": "string",
- "reply_to_address": null,
- "to_address": null
}
}
Get EndUser emails
Get all emails for all end users associate with this user
Authorizations:
query Parameters
page required | integer >= 0 |
limit required | integer >= 1 |
Responses
Response samples
- 200
{- "_meta": {
- "count": 0,
- "has_more": true,
- "page": 0,
- "total_pages": 0
}, - "emails": [
- {
- "email": {
- "created": "2019-08-24T14:15:22Z",
- "date_sent": "2019-08-24T14:15:22Z",
- "date_sent_string": "string",
- "from_address": "string",
- "from_address_domain": "string",
- "from_name": "string",
- "heron_id": "string",
- "html_body": "string",
- "html_or_text_body": "string",
- "is_reply": true,
- "processing_status": "new",
- "subject": "string",
- "subject_cleaned": "string",
- "text_body": "string"
}, - "end_user_heron_id": "string"
}
]
}
List EndUsers
Get a list of EndUsers
Authorizations:
query Parameters
is_portfolio | boolean or null Default: null Example: is_portfolio=true Whether the end user is part of a lending portfolio |
status | string or null Default: null Enum: "new" "ready" "processed" "reviewed" "review_requested" "failed" Example: status=reviewed Filter by status of end user |
end_user_id | string or null Default: null Example: end_user_id=your_end_user_id Filter by ID associated with end_user_id field in transactions |
heron_id | string or null Default: null Example: heron_id=eus_SjiiCaB2TvxuKLzKVndzCT Unique ID generated by Heron |
order_by | string Default: "last_updated_desc" Enum: "last_updated_desc" "last_updated_asc" "created_desc" "created_asc" Order to return end users by |
name | string or null Default: null Example: name=your_end_user_name Filter by name associated with end user |
include_scorecard_metrics | boolean Default: false Example: include_scorecard_metrics=true Whether to include scorecard metrics for each end user (under field criteria) |
include_data_sources | boolean Default: false Example: include_data_sources=true Whether the to include data sources for each end user |
page | integer >= 1 Default: 1 Pagination page number |
limit | integer [ 1 .. 10000 ] Default: 1000 Pagination limit per page |
Responses
Response samples
- 200
{- "_meta": {
- "limit": 1000,
- "next_url": "string",
- "page": 1,
- "pages": 3,
- "prev_url": "string",
- "total": 3500
}, - "end_users": [
- {
- "confidence": 0.42,
- "created": "2024-11-29T12:48:25.702604",
- "criteria": [
- {
- "context": "higher_is_better",
- "currency": "string",
- "date_range": "last_180_days",
- "description": "The number of unique transactions with a timestamp",
- "group": "data_quality",
- "label": "unique_transactions",
- "status": "not_available",
- "unit": "n",
- "value": 42.42
}
], - "data_sources": [
- {
- "status": "new",
- "type": "pdf"
}
], - "end_user_id": "e2af5550-c80c-4d69-9c63-2a83dab44fb4",
- "heron_id": "eus_b6ZpUp2Rkxw5nSoLjyofd8",
- "is_portfolio": true,
- "last_processed_at": "2025-01-10T12:48:25.704512",
- "last_updated": "2025-01-10T12:48:25.702647",
- "name": "Company Name Inc.",
- "profit_and_loss_layout": null,
- "status": "ready"
}
]
}
Create EndUser
Create a new end user. If transactions have previously been sent for this end_user_id
, use PUT end_users
to update instead.
Authorizations:
Request Body schema: application/json
object (EndUserPostParams) | |||||||||
|
Responses
Request samples
- Payload
{- "end_user": {
- "end_user_id": "e2af5550-c80c-4d69-9c63-2a83dab44fb4",
- "is_portfolio": true,
- "name": "Company Name Inc.",
- "profit_and_loss_layout": null
}
}
Response samples
- 201
{- "end_user": {
- "confidence": 0.42,
- "created": "2024-11-29T12:48:25.702604",
- "criteria": [
- {
- "context": "higher_is_better",
- "currency": "string",
- "date_range": "last_180_days",
- "description": "The number of unique transactions with a timestamp",
- "group": "data_quality",
- "label": "unique_transactions",
- "status": "not_available",
- "unit": "n",
- "value": 42.42
}
], - "data_sources": [
- {
- "status": "new",
- "type": "pdf"
}
], - "end_user_id": "e2af5550-c80c-4d69-9c63-2a83dab44fb4",
- "heron_id": "eus_b6ZpUp2Rkxw5nSoLjyofd8",
- "is_portfolio": true,
- "last_processed_at": "2025-01-10T12:48:25.704512",
- "last_updated": "2025-01-10T12:48:25.702647",
- "name": "Company Name Inc.",
- "profit_and_loss_layout": null,
- "status": "ready"
}
}
Update EndUser
Confirm an end user is ready for async procesing by sending a status of "ready". The end_user_id
must have previously been sent with at least one Transaction if attempting to update the status.
Authorizations:
Request Body schema: application/json
Dictionary representing an EndUser
object (EndUser) | |||||||||||
|
Responses
Callbacks
Request samples
- Payload
{- "end_user": {
- "end_user_id": "e2af5550-c80c-4d69-9c63-2a83dab44fb4",
- "is_portfolio": true,
- "name": "Company Name Inc.",
- "profit_and_loss_layout": null,
- "status": "ready"
}
}
Response samples
- 200
{- "end_user": {
- "confidence": 0.42,
- "created": "2024-11-29T12:48:25.702604",
- "criteria": [
- {
- "context": "higher_is_better",
- "currency": "string",
- "date_range": "last_180_days",
- "description": "The number of unique transactions with a timestamp",
- "group": "data_quality",
- "label": "unique_transactions",
- "status": "not_available",
- "unit": "n",
- "value": 42.42
}
], - "data_sources": [
- {
- "status": "new",
- "type": "pdf"
}
], - "end_user_id": "e2af5550-c80c-4d69-9c63-2a83dab44fb4",
- "heron_id": "eus_b6ZpUp2Rkxw5nSoLjyofd8",
- "is_portfolio": true,
- "last_processed_at": "2025-01-10T12:48:25.704512",
- "last_updated": "2025-01-10T12:48:25.702647",
- "name": "Company Name Inc.",
- "profit_and_loss_layout": null,
- "status": "ready"
}
}
Callback payload samples
{- "created": "2019-08-24T14:15:22Z",
- "data": {
- "end_user_id": "myenduser",
- "heron_id": "eus_Eqio3Y4dhyNiMphrXwG58p",
- "status": "processed"
}, - "meta": { },
- "topic": "string"
}
Get EndUser by heron_id or end_user_id
Get an end user using its end_user_id or heron_id
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
{- "end_user": {
- "confidence": 0.42,
- "created": "2024-11-29T12:48:25.702604",
- "criteria": [
- {
- "context": "higher_is_better",
- "currency": "string",
- "date_range": "last_180_days",
- "description": "The number of unique transactions with a timestamp",
- "group": "data_quality",
- "label": "unique_transactions",
- "status": "not_available",
- "unit": "n",
- "value": 42.42
}
], - "data_sources": [
- {
- "status": "new",
- "type": "pdf"
}
], - "end_user_id": "e2af5550-c80c-4d69-9c63-2a83dab44fb4",
- "heron_id": "eus_b6ZpUp2Rkxw5nSoLjyofd8",
- "is_portfolio": true,
- "last_processed_at": "2025-01-10T12:48:25.704512",
- "last_updated": "2025-01-10T12:48:25.702647",
- "name": "Company Name Inc.",
- "profit_and_loss_layout": null,
- "status": "ready"
}
}
Get EndUser emails
Get the emails associated with an end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
[- {
- "created": "2019-08-24T14:15:22Z",
- "date_sent": "2019-08-24T14:15:22Z",
- "date_sent_string": "string",
- "from_address": "string",
- "from_address_domain": "string",
- "from_name": "string",
- "heron_id": "string",
- "html_body": "string",
- "html_or_text_body": "string",
- "is_reply": true,
- "processing_status": "new",
- "subject": "string",
- "subject_cleaned": "string",
- "text_body": "string"
}
]
Get EndUser information
Get the company details of an end user including loan information
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
{- "amount_requested": 0,
- "annual_revenue": 0,
- "business_start_date": "2019-08-24",
- "company_billing_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "company_email": "string",
- "company_legal_business_name": "string",
- "company_phone_number": "string",
- "company_physical_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "company_website": "string",
- "dba": "string",
- "federal_tax_id": "string",
- "industry_type": "string",
- "loan_purpose": "string",
- "monthly_revenue": 0,
- "naics": "string",
- "owner_1": {
- "date_of_birth": "1990-01-01",
- "email_address": "string",
- "first_name": "string",
- "home_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "home_phone": "string",
- "last_name": "string",
- "mobile_phone": "string",
- "ownership_percentage": 100,
- "social_security_number": "string"
}, - "owner_2": {
- "date_of_birth": "1990-01-01",
- "email_address": "string",
- "first_name": "string",
- "home_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "home_phone": "string",
- "last_name": "string",
- "mobile_phone": "string",
- "ownership_percentage": 100,
- "social_security_number": "string"
}, - "predicted_industry_probability": 0,
- "source_type": "iso_application_form",
- "state_of_incorporation": "string",
- "type_of_business_entity": "string"
}
Patch EndUser information
Update the end user information
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Request Body schema: application/json
amount_requested | number |
annual_revenue | number |
business_start_date | string <date> |
object (Address) | |
company_email | string |
company_legal_business_name | string |
company_phone_number | string |
object (Address) | |
company_website | string |
dba | string Doing business as |
federal_tax_id | string |
industry_type | string |
loan_purpose | string |
monthly_revenue | number |
naics | string |
object (Owner) | |
object (Owner) | |
predicted_industry_probability | number |
source_type | string Enum: "api" "iso_application_form" "heron_industry_classifier" "rel6_industry_classifier" Source of the end user information |
state_of_incorporation | string |
type_of_business_entity | string |
Responses
Request samples
- Payload
{- "amount_requested": 0,
- "annual_revenue": 0,
- "business_start_date": "2019-08-24",
- "company_billing_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "company_email": "string",
- "company_legal_business_name": "string",
- "company_phone_number": "string",
- "company_physical_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "company_website": "string",
- "dba": "string",
- "federal_tax_id": "string",
- "industry_type": "string",
- "loan_purpose": "string",
- "monthly_revenue": 0,
- "naics": "string",
- "owner_1": {
- "date_of_birth": "1990-01-01",
- "email_address": "string",
- "first_name": "string",
- "home_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "home_phone": "string",
- "last_name": "string",
- "mobile_phone": "string",
- "ownership_percentage": 100,
- "social_security_number": "string"
}, - "owner_2": {
- "date_of_birth": "1990-01-01",
- "email_address": "string",
- "first_name": "string",
- "home_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "home_phone": "string",
- "last_name": "string",
- "mobile_phone": "string",
- "ownership_percentage": 100,
- "social_security_number": "string"
}, - "predicted_industry_probability": 0,
- "source_type": "iso_application_form",
- "state_of_incorporation": "string",
- "type_of_business_entity": "string"
}
Response samples
- 200
{- "amount_requested": 0,
- "annual_revenue": 0,
- "business_start_date": "2019-08-24",
- "company_billing_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "company_email": "string",
- "company_legal_business_name": "string",
- "company_phone_number": "string",
- "company_physical_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "company_website": "string",
- "dba": "string",
- "federal_tax_id": "string",
- "industry_type": "string",
- "loan_purpose": "string",
- "monthly_revenue": 0,
- "naics": "string",
- "owner_1": {
- "date_of_birth": "1990-01-01",
- "email_address": "string",
- "first_name": "string",
- "home_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "home_phone": "string",
- "last_name": "string",
- "mobile_phone": "string",
- "ownership_percentage": 100,
- "social_security_number": "string"
}, - "owner_2": {
- "date_of_birth": "1990-01-01",
- "email_address": "string",
- "first_name": "string",
- "home_address": {
- "city": "string",
- "line_1": "string",
- "line_2": "string",
- "state": "string",
- "zip": "string"
}, - "home_phone": "string",
- "last_name": "string",
- "mobile_phone": "string",
- "ownership_percentage": 100,
- "social_security_number": "string"
}, - "predicted_industry_probability": 0,
- "source_type": "iso_application_form",
- "state_of_incorporation": "string",
- "type_of_business_entity": "string"
}
Enrich transactions of EndUser
Enriches transactions of an end user identified by its end_user_id or heron_id. There is an optional priority
parameter that can be set to high
to prioritize the enrichment over normal
(default) priority. High priority enrichment is only enabled for enterprise-level accounts. Please contact support@herondata.io to upgrade your account.
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
priority | string Default: "normal" Enum: "normal" "high" Priority for async enrichment |
Responses
Response samples
- 200
{- "end_user": {
- "confidence": 0.42,
- "created": "2024-11-29T12:48:25.702604",
- "criteria": [
- {
- "context": "higher_is_better",
- "currency": "string",
- "date_range": "last_180_days",
- "description": "The number of unique transactions with a timestamp",
- "group": "data_quality",
- "label": "unique_transactions",
- "status": "not_available",
- "unit": "n",
- "value": 42.42
}
], - "data_sources": [
- {
- "status": "new",
- "type": "pdf"
}
], - "end_user_id": "e2af5550-c80c-4d69-9c63-2a83dab44fb4",
- "heron_id": "eus_b6ZpUp2Rkxw5nSoLjyofd8",
- "is_portfolio": true,
- "last_processed_at": "2025-01-10T12:48:25.704512",
- "last_updated": "2025-01-10T12:48:25.702647",
- "name": "Company Name Inc.",
- "profit_and_loss_layout": null,
- "status": "ready"
}
}
Get recent files by file class
Retrieve the most recent files for the specified file class.
Authorizations:
query Parameters
file_class required | string The file class to filter by. |
limit | integer The maximum number of files to return, defaults to 20 |
Responses
Response samples
- 200
[- {
- "bank_statement": null,
- "created": "2019-08-24T14:15:22Z",
- "email": null,
- "file_class": "other",
- "filename": "string",
- "heron_id": "string",
- "iso_application": {
- "heron_id": "iso_6hBjQT9k6KP2rLCXwjUJff",
- "processing_status": "processed"
}, - "page_classes": {
- "property1": {
- "confidence": 1,
- "file_class": "other"
}, - "property2": {
- "confidence": 1,
- "file_class": "other"
}
}, - "parent_heron_id": "string",
- "parsed_results": [ ],
- "reference_id": "string",
- "renamed_filename": "string"
}
]
Get file rename rules
Retrieve all file rename rules for the current user.
Authorizations:
Responses
Response samples
- 200
[- {
- "end_user_file_class": "other",
- "file_name_template": "string",
- "heron_id": "string",
- "variables": [
- {
- "description": "string",
- "examples": [
- "string"
], - "key": "string",
- "name": "string"
}
]
}
]
Create a file rename rule
Add a new rename rule for files.
Authorizations:
Request Body schema: application/json
end_user_file_class required | any Enum: "other" "iso_application_form" "bank_statement" "debt_summary" "email" "invoice" "identity_card" "passport" "trade_license" "registration_certificate" "disclosure_certificate" "drivers_licence_front" "acord_125" "loss_run_report" "driver_list" "fleet_list" "fuel_tax_return" "motor_vehicle_record" "ifta_report" "cab_report" "acord_127" "utility_bill" "supplemental_application" "insurance_policy" "schedule_of_values" "statement_of_values" "acord_825" "acord_838" "acord_137" "acord_other" "market_reform_contract" "quote_slip" "pnl_statement" "balance_sheet" "tax_return" "void_check" "brokerage_statement" "inspection_report" "inspection_report_confirmation" "premium_audit" "combined" "money_market_statement" "commercial_financing_contract" "financing_repayment_history" "ucc_filing" "finicity_cashflow_report" "finicity_voe_transactions_report" "salesforce_object_export" "finicity_failed_statement_report" "claims_report" |
file_name_template required | string |
required | Array of objects (VariableDefinition) |
Responses
Request samples
- Payload
{- "end_user_file_class": "other",
- "file_name_template": "string",
- "variables": [
- {
- "description": "string",
- "examples": [
- "string"
], - "key": "string",
- "name": "string"
}
]
}
Response samples
- 200
{- "end_user_file_class": "other",
- "file_name_template": "string",
- "heron_id": "string",
- "variables": [
- {
- "description": "string",
- "examples": [
- "string"
], - "key": "string",
- "name": "string"
}
]
}
Update a file rename rule
Update an existing rename rule identified by its heron_id
.
Authorizations:
path Parameters
heron_id required | string The unique identifier of the rename rule. |
Request Body schema: application/json
file_name_template required | string |
required | Array of objects (VariableDefinition) |
Responses
Request samples
- Payload
{- "file_name_template": "string",
- "variables": [
- {
- "description": "string",
- "examples": [
- "string"
], - "key": "string",
- "name": "string"
}
]
}
Response samples
- 200
{- "end_user_file_class": "other",
- "file_name_template": "string",
- "heron_id": "string",
- "variables": [
- {
- "description": "string",
- "examples": [
- "string"
], - "key": "string",
- "name": "string"
}
]
}
Update the end user file's class
Use this endpoint to change the end user file's class. The file will be reprocessed as the new type.
Authorizations:
path Parameters
heron_id required | string |
Request Body schema: application/json
file_class | any Enum: "other" "iso_application_form" "bank_statement" "debt_summary" "email" "invoice" "identity_card" "passport" "trade_license" "registration_certificate" "disclosure_certificate" "drivers_licence_front" "acord_125" "loss_run_report" "driver_list" "fleet_list" "fuel_tax_return" "motor_vehicle_record" "ifta_report" "cab_report" "acord_127" "utility_bill" "supplemental_application" "insurance_policy" "schedule_of_values" "statement_of_values" "acord_825" "acord_838" "acord_137" "acord_other" "market_reform_contract" "quote_slip" "pnl_statement" "balance_sheet" "tax_return" "void_check" "brokerage_statement" "inspection_report" "inspection_report_confirmation" "premium_audit" "combined" "money_market_statement" "commercial_financing_contract" "financing_repayment_history" "ucc_filing" "finicity_cashflow_report" "finicity_voe_transactions_report" "salesforce_object_export" "finicity_failed_statement_report" "claims_report" |
object or null | |
reference_id | string |
Responses
Request samples
- Payload
{- "file_class": "other",
- "page_classes": {
- "property1": {
- "confidence": 1,
- "file_class": "other"
}, - "property2": {
- "confidence": 1,
- "file_class": "other"
}
}, - "reference_id": "string"
}
Response samples
- 200
{- "bank_statement": null,
- "created": "2019-08-24T14:15:22Z",
- "email": null,
- "file_class": "other",
- "filename": "string",
- "heron_id": "string",
- "iso_application": {
- "heron_id": "iso_6hBjQT9k6KP2rLCXwjUJff",
- "processing_status": "processed"
}, - "page_classes": {
- "property1": {
- "confidence": 1,
- "file_class": "other"
}, - "property2": {
- "confidence": 1,
- "file_class": "other"
}
}, - "parent_heron_id": "string",
- "parsed_results": [ ],
- "reference_id": "string",
- "renamed_filename": "string"
}
Trigger async parsing of an end user file
Authorizations:
path Parameters
heron_id required | string The file's heron_id |
Request Body schema: application/json
parser_id required | string Enum: "DebtPositionEmailParser" "DriversLicenceFrontParser" "LossRunParser" "PnLStatementParser" "BalanceSheetParser" "TaxReturnParser" "VoidCheckParser" "InspectionReportParser" "MoneyMarketStatementParser" "SalesforceObjectJsonParser" |
Responses
Request samples
- Payload
{- "parser_id": "DebtPositionEmailParser"
}
Get parsed results from uploaded files
Authorizations:
path Parameters
heron_id required | string The file's heron_id |
query Parameters
parser_id | string or null |
Responses
Response samples
- 200
[- {
- "attribute_values": [
- { }
], - "created": "2019-08-24T14:15:22Z",
- "field_validations": [
- {
- "failure_reason": "string",
- "field_name": "string",
- "result": "pass",
- "validation_type": "string"
}
], - "heron_id": "string",
- "id": 0,
- "parser_id": "string",
- "parsing_status": "succeeded",
- "result": { }
}
]
Trigger file's rename rule
Authorizations:
path Parameters
heron_id required | string The file's heron_id |
Responses
Response samples
- 200
{- "bank_statement": null,
- "created": "2019-08-24T14:15:22Z",
- "email": null,
- "file_class": "other",
- "filename": "string",
- "heron_id": "string",
- "iso_application": {
- "heron_id": "iso_6hBjQT9k6KP2rLCXwjUJff",
- "processing_status": "processed"
}, - "page_classes": {
- "property1": {
- "confidence": 1,
- "file_class": "other"
}, - "property2": {
- "confidence": 1,
- "file_class": "other"
}
}, - "parent_heron_id": "string",
- "parsed_results": [ ],
- "reference_id": "string",
- "renamed_filename": "string"
}
Trigger splitting a combined end user file into its child files based on its page_classes
Authorizations:
path Parameters
heron_id required | string The file's heron_id |
Responses
Response samples
- 200
[- {
- "bank_statement": null,
- "created": "2019-08-24T14:15:22Z",
- "email": null,
- "file_class": "other",
- "filename": "string",
- "heron_id": "string",
- "iso_application": {
- "heron_id": "iso_6hBjQT9k6KP2rLCXwjUJff",
- "processing_status": "processed"
}, - "page_classes": {
- "property1": {
- "confidence": 1,
- "file_class": "other"
}, - "property2": {
- "confidence": 1,
- "file_class": "other"
}
}, - "parent_heron_id": "string",
- "parsed_results": [ ],
- "reference_id": "string",
- "renamed_filename": "string"
}
]
Get EndUserFiles
Get all files for an end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
[- {
- "bank_statement": null,
- "created": "2019-08-24T14:15:22Z",
- "email": null,
- "file_class": "other",
- "filename": "string",
- "heron_id": "string",
- "iso_application": {
- "heron_id": "iso_6hBjQT9k6KP2rLCXwjUJff",
- "processing_status": "processed"
}, - "page_classes": {
- "property1": {
- "confidence": 1,
- "file_class": "other"
}, - "property2": {
- "confidence": 1,
- "file_class": "other"
}
}, - "parent_heron_id": "string",
- "parsed_results": [ ],
- "reference_id": "string",
- "renamed_filename": "string"
}
]
Post EndUserFile
Upload file to an end user & asynchronously classify its type
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Request Body schema: application/json
file_base64 required | string |
file_class | string Enum: "other" "iso_application_form" "bank_statement" "debt_summary" "email" "invoice" "identity_card" "passport" "trade_license" "registration_certificate" "disclosure_certificate" "drivers_licence_front" "acord_125" "loss_run_report" "driver_list" "fleet_list" "fuel_tax_return" "motor_vehicle_record" "ifta_report" "cab_report" "acord_127" "utility_bill" "supplemental_application" "insurance_policy" "schedule_of_values" "statement_of_values" "acord_825" "acord_838" "acord_137" "acord_other" "market_reform_contract" "quote_slip" "pnl_statement" "balance_sheet" "tax_return" "void_check" "brokerage_statement" "inspection_report" "inspection_report_confirmation" "premium_audit" "combined" "money_market_statement" "commercial_financing_contract" "financing_repayment_history" "ucc_filing" "finicity_cashflow_report" "finicity_voe_transactions_report" "salesforce_object_export" "finicity_failed_statement_report" "claims_report" |
filename required | string |
reference_id | string or null |
Responses
Request samples
- Payload
{- "file_base64": "string",
- "file_class": "other",
- "filename": "string",
- "reference_id": "string"
}
Response samples
- 201
{- "bank_statement": null,
- "created": "2019-08-24T14:15:22Z",
- "email": null,
- "file_class": "other",
- "filename": "string",
- "heron_id": "string",
- "iso_application": {
- "heron_id": "iso_6hBjQT9k6KP2rLCXwjUJff",
- "processing_status": "processed"
}, - "page_classes": {
- "property1": {
- "confidence": 1,
- "file_class": "other"
}, - "property2": {
- "confidence": 1,
- "file_class": "other"
}
}, - "parent_heron_id": "string",
- "parsed_results": [ ],
- "reference_id": "string",
- "renamed_filename": "string"
}
Get EndUser balance
Get balance for given EndUser on a daily and account granularity
Authorizations:
query Parameters
include_forecast | boolean Default: false If true, forecasts the balances of each account |
end_user_id | string or null Default: null Example: end_user_id=your_end_user_id end_user_id for statistics; either end_user_id or end_user_heron_id is required |
timestamp_max | string or null <date-time> Default: null Example: timestamp_max=2025-01-09T12:48:25.647597 Deprecated (use date_max instead). Filter for transactions with timestamp earlier than the input value |
date_min | string or null <date> Default: null Example: date_min=2025-01-10 Filter for transactions with timestamp after the input value (inclusive). It has precedence over timestamp_min |
timestamp_min | string or null <date-time> Default: null Example: timestamp_min=2025-01-10T12:48:25.647554 Deprecated (use date_min instead). Filter for transactions with timestamp after the input value |
end_user_heron_id | string or null Default: null Example: end_user_heron_id=eus_2AMCM37tcHqMrfzCHPQKM3 Heron-generated id for end user; either end_user_id or end_user_heron_id is required |
date_max | string or null <date> Default: null Example: date_max=2025-01-09 Filter for transactions with date earlier than the input value (inclusive). It has precedence over timestamp_max |
to_currency | string or null Enum: "GBP" "USD" "EUR" Example: to_currency=USD ISO 4217 currency code to convert to |
Responses
Response samples
- 200
{- "daily_balances": [
- {
- "accounts": [
- {
- "account_id": "string",
- "account_info": {
- "currency": "USD",
- "institution_name": "Chase",
- "name": "Checking Account",
- "number": "123456789",
- "owner_name": "John Doe",
- "type": "Checking"
}, - "balance": 0,
- "balance_converted": 0,
- "currency": "USD",
- "currency_converted": "USD",
- "is_computed": true,
- "is_latest": true,
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "accounts_not_converted": [
- {
- "account_id": "string",
- "account_info": {
- "currency": "USD",
- "institution_name": "Chase",
- "name": "Checking Account",
- "number": "123456789",
- "owner_name": "John Doe",
- "type": "Checking"
}, - "balance": 0,
- "balance_converted": 0,
- "currency": "USD",
- "currency_converted": "USD",
- "is_computed": true,
- "is_latest": true,
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "balance": 0,
- "currency": "USD",
- "date": "2019-08-24"
}
], - "forecasted": [
- {
- "account_id": "string",
- "balances": [
- {
- "date": "2025-01-10",
- "predicted": 42.42,
- "predicted_lower": 4.24,
- "predicted_upper": 420.42
}
], - "currency": "string"
}
], - "summary": {
- "accounts": [
- {
- "account_id": "string",
- "account_info": {
- "currency": "USD",
- "institution_name": "Chase",
- "name": "Checking Account",
- "number": "123456789",
- "owner_name": "John Doe",
- "type": "Checking"
}, - "balance": 0,
- "balance_converted": 0,
- "currency": "USD",
- "currency_converted": "USD",
- "is_computed": true,
- "is_latest": true,
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "accounts_not_converted": [
- {
- "account_id": "string",
- "account_info": {
- "currency": "USD",
- "institution_name": "Chase",
- "name": "Checking Account",
- "number": "123456789",
- "owner_name": "John Doe",
- "type": "Checking"
}, - "balance": 0,
- "balance_converted": 0,
- "currency": "USD",
- "currency_converted": "USD",
- "is_computed": true,
- "is_latest": true,
- "timestamp": "2019-08-24T14:15:22Z"
}
], - "balance": 0,
- "currency": "USD",
- "date": "2019-08-24"
}
}
Get EndUser forecasts
Get forecast amounts for a given EndUser and category
Authorizations:
query Parameters
from_date | string or null <date> Default: null Example: from_date=2022-01-01 The earliest transaction timestamp date to use in forecasting |
to_date | string or null <date> Default: null Example: to_date=2022-01-31 The latest transaction timestamp date to use in forecasting |
date_granularity | string Default: "month" Enum: "week" "month" Example: date_granularity=month Aggregate results over time, i.e., aggregate by week or by month |
end_user_id | string or null Default: null Example: end_user_id=your_end_user_id end_user_id for statistics; either end_user_id or end_user_heron_id is required |
to_currency | string or null Enum: "GBP" "USD" "EUR" Example: to_currency=USD ISO 4217 currency code to convert to |
end_user_heron_id | string or null Default: null Example: end_user_heron_id=eus_2AMCM37tcHqMrfzCHPQKM3 Heron-generated id for end user; either end_user_id or end_user_heron_id is required |
category_label | string Example: category_label=Revenue Label of category to be forecasted; either category_heron_id or category_label must be present |
category_heron_id | string Example: category_heron_id=ctg_ao2tRVDxPkhpBDZT9Uzw5r Heron ID of category to be forecasted; either category_heron_id or category_label must be present |
Responses
Response samples
- 200
[- {
- "currency": "USD",
- "date": "2025-01-10",
- "predicted": 42.42,
- "predicted_lower": 4.24,
- "predicted_upper": 420.42
}
]
Get EndUser statistics
Get summarized statistics for a given EndUser
Authorizations:
query Parameters
from_date | string or null <date> Default: null Example: from_date=2025-01-10 Filter for transactions with timestamp after the input value (as date) |
group_by | string Default: "category" Enum: "category" "merchant" Example: group_by=category Pivot results by merchant or by category |
to_date | string or null <date> Default: null Example: to_date=2025-01-09 Filter for transactions with timestamp before the input value (as date) |
merchant_heron_ids | Array of strings Default: [] Example: merchant_heron_ids=mrc_UFWYLdkn2z95nU73WmbmSu&merchant_heron_ids=mrc_4265H96v9nqoamLAxv4G2i Filter by specific merchants |
date_granularity | string Default: "month" Enum: "day" "week" "month" "quarter" "year" Example: date_granularity=month Aggregate results over time, e.g., by week or by quarter |
end_user_id | string or null Default: null Example: end_user_id=your_end_user_id end_user_id for statistics; either end_user_id or end_user_heron_id is required |
end_user_heron_id | string or null Default: null Example: end_user_heron_id=eus_2AMCM37tcHqMrfzCHPQKM3 Heron-generated id for end user; either end_user_id or end_user_heron_id is required |
to_currency | string or null Enum: "GBP" "USD" "EUR" Example: to_currency=USD ISO 4217 currency code to convert to |
category_heron_ids | Array of strings Default: [] Example: category_heron_ids=ctg_TXLRHKB4mr6ANEJLDMMuHS&category_heron_ids=ctg_EGsbtyFKjmRdaopL9N6PEk Filter by specific categories |
Responses
Response samples
- 200
{- "statistics": [
- {
- "currency": "USD",
- "dt": "2025-01-10",
- "heron_id": "mrc_PUQNsrjpTgc9JMuHJV5ZEp",
- "label": "Revenue",
- "metrics": {
- "inflow": {
- "amount": 42.42,
- "avg_amount": 1.01,
- "n": 42
}, - "net": {
- "amount": 42.42,
- "avg_amount": 1.01,
- "n": 42
}, - "outflow": {
- "amount": 42.42,
- "avg_amount": 1.01,
- "n": 42
}
}
}
]
}
Get EndUser anomalies
Get anomalies for given EndUser given a category label or heron id
Authorizations:
path Parameters
end_user_id_or_heron_id required | string The |
query Parameters
category_label_or_heron_id required | string Example: category_label_or_heron_id=Revenue Label or Heron ID of category to find anomalies for |
Responses
Response samples
- 200
[- {
- "amount": 42.42,
- "anomaly_score": 0.5,
- "currency": "USD",
- "heron_id": "txn_AcahMhoMZcjtFffYXBnwhx",
- "reference_id": "1342db06-feb7-4c33-a157-4351d74a98e9"
}
]
Get EndUser bank statement summary
Get the bank statement summary by month for an end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
grouping | string Default: "by_month" Enum: "by_month" "by_data_source_account_heron_id" "rolling_30_days_from_last_txn" "rolling_30_days_from_today" "by_month_by_data_source_account_heron_id" Determines how to group transactions. It supports calendar month (by_month) or rolling 30-day period (from last txns with rolling_30_days_from_last_txn or from today with rolling_30_days_from_today) |
account_ids | Array of strings or null Default: null Example: account_ids=1234 Account ids to include in the summary, if not provided, all accounts are included |
num_full_calendar_months | integer or null >= 1 Default: null Number of full calendar months to show in the summary |
Responses
Response samples
- 200
{- "average": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}, - "by_data_source_account_heron_id": {
- "property1": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}, - "property2": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}
}, - "by_month": {
- "property1": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}, - "property2": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}
}, - "by_month_by_data_source_account_heron_id": {
- "property1": {
- "property1": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}, - "property2": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}
}, - "property2": {
- "property1": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}, - "property2": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}
}
}, - "grouping": "string",
- "rolling_30_days_from_last_txn": {
- "property1": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}, - "property2": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}
}, - "rolling_30_days_from_today": {
- "property1": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}, - "property2": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}
}, - "total": {
- "average_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "average_balance_to_revenue_ratio": 0,
- "ending_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "holdback_percentage": 0,
- "mca_debits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "negative_balance_days": 0,
- "no_deposits": 0,
- "no_od_nsf": 0,
- "no_revenue": 0,
- "no_withdrawals": 0,
- "non_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "starting_balance": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_deposits": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_revenue": {
- "amount": "1234.56",
- "currency": "USD"
}, - "total_withdrawals": {
- "amount": "1234.56",
- "currency": "USD"
}
}
}
Get EndUser metric benchmarks
Get the benchmarks for each metric for an end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
{- "benchmarks": [
- {
- "date_range": "last_180_days",
- "label": "unique_transactions",
- "percentile": 0.75,
- "rank": 22,
- "sample_size": 42,
- "scope": "user"
}
]
}
Get EndUser transactions grouped by counterparty or merchant
Get a report of transactions grouped by merchant or counterparty for an end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
[- {
- "counterparty": "string",
- "merchant": {
- "categories": [
- {
- "code": "7311",
- "description": "Advertising services",
- "slug": "advertising_services"
}
], - "group_id": "Uber",
- "heron_id": "mrc_RBC4W7vPixmm8yzzRvSP3E",
- "icon_url": "string",
- "logo_url": "string",
- "name": "string"
}, - "transaction_groups": [
- {
- "frequency": "not_enough_data",
- "transactions": [
- {
- "amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "category": {
- "heron_id": "string",
- "label": "string"
}, - "description": "string",
- "heron_id": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
]
}
]
}
]
Get EndUser Heron Score (beta)
Get Heron Score for end user with a breakdown of the feature group contributions which resulted in the score. The score is calculated for the day of last transaction. This is a beta feature and is subject to change.
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
date | string or null <date> Default: null Example: date=2023-01-19 Cut-off date to consider transactions to for calculating heron score (inclusive) |
min_category_confidence | number or null Default: null Example: min_category_confidence=0.8 Minimum company categorisation confidence to calculate Heron Score |
Responses
Response samples
- 200
{- "data_quality_issues": [
- "transactions_without_timestamps"
], - "feature_groups_contributions": {
- "property1": {
- "relative_contribution": 0,
- "relative_population_avg": 0
}, - "property2": {
- "relative_contribution": 0,
- "relative_population_avg": 0
}
}, - "predicted_at": "2019-08-24T14:15:22Z",
- "reference_timestamp": "2019-08-24T14:15:22Z",
- "status": "not_available",
- "value": 0
}
Get EndUser industry
Predict the industry of the end user based on its name
Authorizations:
path Parameters
end_user_id_or_heron_id required | string The |
query Parameters
naics_code_min_digits | integer [ 2 .. 6 ] Example: naics_code_min_digits=2 Minimum number of digits in NAICS code |
naics_code_max_digits | integer [ 2 .. 6 ] Example: naics_code_max_digits=6 Maximum number of digits in NAICS code |
Responses
Response samples
- 200
{- "label": "Fruit and Vegetable Preserving and Specialty Food Manufacturing",
- "probability": 0.42,
- "taxonomy": "naics",
- "taxonomy_value": "3114"
}
Get EndUser merchant summary
Get the summary of transactions by merchant for an end user for given categories or analytics groups
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
category_label_or_heron_id | Array of strings or null non-empty |
analytics_group | Array of strings or null or null non-empty Enum: "revenue" "cost_of_goods_sold" "operational_expenses" "tax_expenses" "intra_company" "debt" "equity" "other_income" "special_items" "other" Example: analytics_group=debt |
account_ids | Array of strings or null Default: null Example: account_ids=1234 Account ids to include in the summary, if not provided, all accounts are included |
group_by_counterparty_txn_clusters | boolean Default: false Whether to group by counterparty transaction clusters |
Responses
Response samples
- 200
{- "by_merchant_summary": [
- {
- "group": "string",
- "heron_id": "string",
- "inflow_metrics": {
- "amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "changed_in_last_90_days": true,
- "count": 0,
- "duration_days": 0,
- "estimated_monthly_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "frequency": "not_enough_data",
- "max_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "max_timestamp": "2019-08-24T14:15:22Z",
- "mean_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "mean_interval_days": 0,
- "median_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "min_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "min_timestamp": "2019-08-24T14:15:22Z",
- "mode_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "mode_interval_days": 0,
- "std_dev_amount": {
- "amount": "1234.56",
- "currency": "USD"
}
}, - "name": "string",
- "net_metrics": {
- "amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "changed_in_last_90_days": true,
- "count": 0,
- "duration_days": 0,
- "estimated_monthly_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "frequency": "not_enough_data",
- "max_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "max_timestamp": "2019-08-24T14:15:22Z",
- "mean_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "mean_interval_days": 0,
- "median_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "min_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "min_timestamp": "2019-08-24T14:15:22Z",
- "mode_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "mode_interval_days": 0,
- "std_dev_amount": {
- "amount": "1234.56",
- "currency": "USD"
}
}, - "outflow_metrics": {
- "amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "changed_in_last_90_days": true,
- "count": 0,
- "duration_days": 0,
- "estimated_monthly_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "frequency": "not_enough_data",
- "max_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "max_timestamp": "2019-08-24T14:15:22Z",
- "mean_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "mean_interval_days": 0,
- "median_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "min_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "min_timestamp": "2019-08-24T14:15:22Z",
- "mode_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "mode_interval_days": 0,
- "std_dev_amount": {
- "amount": "1234.56",
- "currency": "USD"
}
}
}
]
}
Get EndUser named dates
Get the named dates associated with an end user, e.g., date of last transaction
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
{- "named_dates": [
- {
- "date": "2025-01-10",
- "name": "last_transaction"
}
]
}
Get EndUser cashflow P&L
Calculates the cashflow profit & loss table for an end user, based on the layout defined (if any)
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
from_date | string or null <date> Default: null Example: from_date=2022-01-01 The earliest transaction timestamp date to use |
currency | string or null Enum: "GBP" "USD" "EUR" Example: currency=USD ISO 4217 currency code for balance |
to_date | string or null <date> Default: null Example: to_date=2022-01-31 The latest transaction timestamp date to use |
dates_ascending | boolean Default: false If true, dates are sorted left to right by ascending order. False by default, i.e., by default sorted in descending date order so more recent dates are first |
Responses
Response samples
- 200
{- "dates": [
- "2019-08-24"
], - "sections": [
- {
- "metrics": [
- {
- "confidence": 0,
- "indent": 0,
- "is_ratio": true,
- "name": "string",
- "values": [
- 0
]
}
], - "name": "string",
- "slug": "string"
}
]
}
Update EndUser P&L layout
Update the profit and loss layout for the end user, which determines how the profit and loss table is calculated
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Request Body schema: application/json
category_labels required | Array of strings non-empty List of category labels to assign to a different section |
section_slug required | string Slug of section to assign labels to |
Responses
Request samples
- Payload
{- "category_labels": [
- "Postage"
], - "section_slug": "operational_expenses"
}
Response samples
- 200
{- "sections": [
- {
- "labels": [
- "string"
], - "metrics": [
- {
- "denominator": {
- "labels": [
- "string"
], - "sections": [
- "string"
]
}, - "indent": 0,
- "is_growth": true,
- "name": "string",
- "numerator": {
- "labels": [
- "string"
], - "sections": [
- "string"
]
}
}
], - "name": "string",
- "slug": "string"
}
]
}
Get EndUser recurring transactions report
Get a report of recurring transactions grouped by merchant or counterparty for an end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
account_ids | Array of strings or null Default: null Example: account_ids=1234 Account ids to include in the report, if not provided, all accounts are included |
Responses
Response samples
- 200
[- {
- "avg_amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "avg_confidence": 0,
- "counterparty": "string",
- "frequency": "not_enough_data",
- "merchant_name": "string",
- "transactions": [
- {
- "amount": {
- "amount": "1234.56",
- "currency": "USD"
}, - "category_confidence": 0,
- "category_heron_id": "string",
- "category_label": "string",
- "counterparty": "string",
- "description": "string",
- "heron_id": "string",
- "merchant_heron_id": "string",
- "merchant_name": "string",
- "timestamp": "2019-08-24T14:15:22Z"
}
]
}
]
Get EndUser scorecard
Get scorecard metrics and rule violations for a user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
date | string or null <date> Default: null Example: date=2023-01-19 Cut-off date to consider transactions to for calculating scorecard (inclusive) |
named_date | string or null Default: null Enum: "end_user_created" "end_user_last_updated" "last_transaction" "end_user_last_enriched" "last_data_source_end_date_or_transaction_timestamp" "custom_date" Example: named_date=end_user_created Qualitative description for date to calculate scorecard |
Responses
Response samples
- 200
{- "metrics": [
- {
- "context": "higher_is_better",
- "currency": "string",
- "date_range": "last_180_days",
- "description": "The number of unique transactions with a timestamp",
- "group": "data_quality",
- "label": "unique_transactions",
- "status": "not_available",
- "unit": "n",
- "value": 42.42
}
], - "rule_violations": [
- {
- "metric": {
- "context": "higher_is_better",
- "currency": "string",
- "date_range": "last_180_days",
- "description": "The number of unique transactions with a timestamp",
- "group": "data_quality",
- "label": "unique_transactions",
- "status": "not_available",
- "unit": "n",
- "value": 42.42
}, - "rule": {
- "condition": "equal",
- "created": "2024-11-29T12:48:26.138408",
- "date_range": "last_180_days",
- "group": "data_quality_datasource",
- "heron_id": "rul_6t5RWEq86SMWKFD7TpyQAG",
- "last_updated": "2025-01-10T12:48:26.138447",
- "metric_label": "unique_transactions",
- "name": "notify_if_debt_investment_count_gt_0_last_180d",
- "selector": {
- "is_portfolio": true
}, - "value": 42.42,
- "value_str": "mrc_12345678ijwdd321d921"
}
}
]
}
Request EndUser scorecard
Request scorecard metrics for a date and end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
date required | string <date> Example: date=2023-01-19 Cut-off date to consider transactions to for calculating scorecard (inclusive) |
Responses
Response samples
- 202
{- "message": "string"
}
Get EndUser transaction data coverage
Information about dates covered by any transaction data source
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
start_date required | string <date> |
end_date required | string <date> |
Responses
Response samples
- 200
{- "by_account": {
- "property1": [
- {
- "account_number": "string",
- "data_source_type": "string",
- "ranges": [
- {
- "data_source_account": {
- "account_id": "202348",
- "anomaly_score": 200,
- "balances": [
- {
- "closing_amount": 25000.45,
- "currency": "USD",
- "date": "2022-01-01"
}
], - "currency": "USD",
- "end_date": "2022-01-31",
- "heron_id": "dso_mzfw6qaPz2fBavAw6t5Tvt",
- "institution_name": "Chase",
- "is_enabled": true,
- "max_date": "2022-01-31",
- "min_date": "2022-01-01",
- "name": "Checking Account",
- "num_transactions": 120,
- "number": "123456789",
- "owner_name": "John Doe",
- "reference_id": "account-202348",
- "start_date": "2022-01-01",
- "transactions_match_balances": true,
- "type": "Checking"
}, - "end_date": "2019-08-24",
- "has_coverage": true,
- "is_enabled": true,
- "start_date": "2019-08-24"
}
]
}
], - "property2": [
- {
- "account_number": "string",
- "data_source_type": "string",
- "ranges": [
- {
- "data_source_account": {
- "account_id": "202348",
- "anomaly_score": 200,
- "balances": [
- {
- "closing_amount": 25000.45,
- "currency": "USD",
- "date": "2022-01-01"
}
], - "currency": "USD",
- "end_date": "2022-01-31",
- "heron_id": "dso_mzfw6qaPz2fBavAw6t5Tvt",
- "institution_name": "Chase",
- "is_enabled": true,
- "max_date": "2022-01-31",
- "min_date": "2022-01-01",
- "name": "Checking Account",
- "num_transactions": 120,
- "number": "123456789",
- "owner_name": "John Doe",
- "reference_id": "account-202348",
- "start_date": "2022-01-01",
- "transactions_match_balances": true,
- "type": "Checking"
}, - "end_date": "2019-08-24",
- "has_coverage": true,
- "is_enabled": true,
- "start_date": "2019-08-24"
}
]
}
]
}, - "end_user_heron_id": "string",
- "reconciliation_by_account": {
- "property1": {
- "account_number": "string",
- "ranges": [
- {
- "end_date": "2019-08-24",
- "reconciliation_status": "no_data",
- "start_date": "2019-08-24"
}
]
}, - "property2": {
- "account_number": "string",
- "ranges": [
- {
- "end_date": "2019-08-24",
- "reconciliation_status": "no_data",
- "start_date": "2019-08-24"
}
]
}
}
}
Get EndUser attribute values
Get calculated attribute values for a given end user
Authorizations:
path Parameters
end_user_heron_id required | string |
Responses
Response samples
- 200
[- {
- "attribute": {
- "label": "string",
- "type": "float"
}, - "availability": "available",
- "value": null
}
]
Bulk create category feedback for an end user
Provide bulk feedback on Transaction Categories for a specified end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
high_priority | boolean Default: false Whether to process the feedback with high priority |
Request Body schema: application/json
A list of objects containing a Transaction's heron id and the suggested Category. If you provide a heron_id
for Category, you don't need to provide other fields. If heron_id
is provided, we disregard label
.
required | object (CategoryFeedback) |
source | string or null <= 120 characters Default: null your identifier for where the feedback comes from e.g. bob_the_underwriter |
transaction_heron_ids | Array of strings Default: [] List of transaction heron IDs |
transaction_reference_ids | Array of strings Default: [] List of transaction reference IDs |
Responses
Request samples
- Payload
{- "category": {
- "heron_id": "ctg_o5FLidiK3kv2cuPmvyetoc",
- "label": "Insurance"
}, - "source": null,
- "transaction_heron_ids": [ ],
- "transaction_reference_ids": [ ]
}
Response samples
- 201
{- "num_annotations": 1
}
Create category, merchant feedback
Provide feedback on a Transaction's Categories and Merchants
Authorizations:
path Parameters
heron_id required | string Transaction |
Request Body schema: application/json
A partial Transaction object with the suggested Category and/or Merchant. If you provide a heron_id
for Category or Merchant, you don't need to provide other fields. If you don't know the Merchant heron_id
nor name, you can just send the is_correct
boolean. If heron_id
is provided, we disregard name
and label
. If is_correct
is set to true, we disregard all other Merchant fields.
object (TransactionFeedbackSchema) | |||||||
|
Responses
Request samples
- Payload
{- "transaction": {
- "category": {
- "heron_id": "ctg_We5P7x5MTQZhdfC4GpipuQ",
- "label": "Insurance"
}, - "merchant": {
- "heron_id": "mrc_iy9fmZuuqMfpH3YkX4A2gV",
- "is_correct": false,
- "name": "Spotify"
}, - "source": null
}
}
Get EndUser's combined financials
Get the combined P&L & Balance Sheet data from financial documents for an EndUser
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
query Parameters
grouping | string or null Enum: "by_month" "by_quarter" "by_year" |
Responses
Response samples
- 200
{- "by_category": [
- {
- "label": "string",
- "time_period_label": "string",
- "value": 0
}
], - "by_sub_category": [
- {
- "label": "string",
- "time_period_label": "string",
- "value": 0
}
], - "currency": "string",
- "grouping": "by_month",
- "metrics": [
- {
- "label": "string",
- "time_period_label": "string",
- "value": 0
}
]
}
Evaluate all rules for an end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Response samples
- 200
[- {
- "metric": {
- "context": "higher_is_better",
- "currency": "string",
- "date_range": "last_180_days",
- "description": "The number of unique transactions with a timestamp",
- "group": "data_quality",
- "label": "unique_transactions",
- "status": "not_available",
- "unit": "n",
- "value": 42.42
}, - "result": "PASS",
- "rule": {
- "condition": "equal",
- "created": "2024-11-29T12:48:26.138408",
- "date_range": "last_180_days",
- "group": "data_quality_datasource",
- "heron_id": "rul_6t5RWEq86SMWKFD7TpyQAG",
- "last_updated": "2025-01-10T12:48:26.138447",
- "metric_label": "unique_transactions",
- "name": "notify_if_debt_investment_count_gt_0_last_180d",
- "selector": {
- "is_portfolio": true
}, - "value": 42.42,
- "value_str": "mrc_12345678ijwdd321d921"
}
}
]
Send a Finicity Connect email to an end user
Create a Finicity Link for an end user and send a Finicity Connect email to the end user to initiate the connection. The end user must have sufficient end user information to create the link.
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Responses
Trigger a cashflow report generation for an end user
Request a cashflow report generation for an end user. When the report is ready it will be available as EndUserFile.
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Request Body schema: application/json
applicant_is_personal_guarantor required | boolean |
for_cra_purpose required | boolean |
user_type required | string Enum: "personal" "business" |
Responses
Request samples
- Payload
{- "applicant_is_personal_guarantor": true,
- "for_cra_purpose": true,
- "user_type": "personal"
}
Trigger a statement reports generation for an end user
Request a Finicity statement reports generation for end user. Reports will be generated for each account available and each month going back in time between min_statement_index and max_statement_index. When the report is ready it will be available as EndUserFile.
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Request Body schema: application/json
max_statement_index | integer Default: 24 |
min_statement_index | integer Default: 1 |
Responses
Request samples
- Payload
{- "max_statement_index": 24,
- "min_statement_index": 1
}
Trigger a Finicity VOE transactions report generation for an end user
Request a Finicity VOE transactions report generation for an end user. When the report is ready it will be available as an EndUserFile.
Authorizations:
path Parameters
end_user_id_or_heron_id required | string |
Request Body schema: application/json
from_date | string <date-time> |
Responses
Request samples
- Payload
{- "from_date": "2019-08-24T14:15:22Z"
}
Update an Integration Link
Allows refreshing the access_token of an existing Integration Link
Authorizations:
path Parameters
item_id required | string |
Request Body schema: application/json
IntegrationLink
object (IntegrationLinkUpdateSchema) | |||
|
Responses
Request samples
- Payload
{- "end_user": {
- "access_token": "access-sandbox-de3ce8ef-33f8-452c-a685-8671031fc0f6"
}
}
Response samples
- 200
{- "integration_link": {
- "created": "2020-01-01T00:00:00Z",
- "item_id": "M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op",
- "last_successful_sync": "2020-01-01T00:00:00Z",
- "last_updated": "2020-01-01T00:00:00Z",
- "status": "active",
- "status_message": "[ITEM_LOGIN_REQUIRED] the login details of this item have changed (credentials, MFA, or required user action) and a user login is required to update this information. use Link's update mode to restore the item to a good state",
- "type": "plaid_assets_report"
}
}
Response samples
- 200
{- "integrations": [
- {
- "client_id": "string",
- "client_secret": "string",
- "heron_id": "string",
- "name": "Plaid Prod",
- "resource": "transaction",
- "type": "plaid",
}
]
}
Create an integration
Create an integration e.g. with Plaid
Authorizations:
Request Body schema: application/json
object (IntegrationSchema) | |||||||||||||||||
|
Responses
Request samples
- Payload
{- "integration": {
- "client_auth": { },
- "client_id": "string",
- "client_secret": "string",
- "name": "Plaid Prod",
- "resource": "transaction",
- "type": "plaid",
}
}
Response samples
- 201
{- "integration": {
- "client_id": "string",
- "client_secret": "string",
- "heron_id": "string",
- "name": "Plaid Prod",
- "resource": "transaction",
- "type": "plaid",
}
}
Update Integration
Update an Integration
Authorizations:
path Parameters
heron_id required | string |
Request Body schema: application/json
Integration
object (IntegrationSchema) | |||||||||||||||||
|
Responses
Request samples
- Payload
{- "end_user": {
- "client_auth": { },
- "client_id": "string",
- "client_secret": "string",
- "name": "Plaid Prod",
- "resource": "transaction",
- "type": "plaid",
}
}
Response samples
- 200
{- "integration": {
- "client_id": "string",
- "client_secret": "string",
- "heron_id": "string",
- "name": "Plaid Prod",
- "resource": "transaction",
- "type": "plaid",
}
}
Get IntegrationLinks by Integration
Get a list of IntegrationLinks for an Integration filtered by end user
Authorizations:
path Parameters
heron_id required | string The Integration's heron_id |
query Parameters
end_user_id_or_heron_id required | string Return only IntegrationLinks for that end user |
Responses
Response samples
- 200
{- "links": [
- {
- "created": "2020-01-01T00:00:00Z",
- "item_id": "M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op",
- "last_successful_sync": "2020-01-01T00:00:00Z",
- "last_updated": "2020-01-01T00:00:00Z",
- "status": "active",
- "status_message": "[ITEM_LOGIN_REQUIRED] the login details of this item have changed (credentials, MFA, or required user action) and a user login is required to update this information. use Link's update mode to restore the item to a good state",
- "type": "plaid_assets_report"
}
]
}
Create an integration Link
Create a Link for an active Integration every time a customer connects their bank. In Plaid, this is a Plaid Link every time a customer connects their bank. For Plaid, call this after exchanging a public token for an Item access_token.
Authorizations:
path Parameters
heron_id required | string |
Request Body schema: application/json
access_token required | string The generated token that grants access to the bank (this is encrypted in transit and at-rest with a custom key) |
end_user_id required | string A unique identifier for your end user (customer) generated by you |
end_user_name | string An human readable name for this end user, like the company legal name |
item_id required | string Unique identifier for each bank connection made by your end users. In Plaid this is the 'item_id'. |
Responses
Request samples
- Payload
{- "access_token": "access-sandbox-de3ce8ef-33f8-452c-a685-8671031fc0f6",
- "end_user_id": "ffc121d8-c0d1-410d-9adf-3f83aa443447",
- "end_user_name": "Acme Corp",
- "item_id": "M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op"
}
Response samples
- 201
{- "link": {
- "created": "2020-01-01T00:00:00Z",
- "data_source_heron_id": "string",
- "item_id": "M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op",
- "last_successful_sync": "2020-01-01T00:00:00Z",
- "last_updated": "2020-01-01T00:00:00Z",
- "status": "active",
- "status_message": "[ITEM_LOGIN_REQUIRED] the login details of this item have changed (credentials, MFA, or required user action) and a user login is required to update this information. use Link's update mode to restore the item to a good state",
- "type": "plaid_assets_report"
}
}
Refresh an IntegrationLink
Trigger a refresh operation for an IntegrationLink
Authorizations:
path Parameters
heron_id required | string The Integration's heron_id |
link_item_id required | string The IntegrationLink's item_id |
Responses
Response samples
- 200
{- "link": {
- "created": "2020-01-01T00:00:00Z",
- "item_id": "M5eVJqLnv3tbzdngLDp9FL5OlDNxlNhlE55op",
- "last_successful_sync": "2020-01-01T00:00:00Z",
- "last_updated": "2020-01-01T00:00:00Z",
- "status": "active",
- "status_message": "[ITEM_LOGIN_REQUIRED] the login details of this item have changed (credentials, MFA, or required user action) and a user login is required to update this information. use Link's update mode to restore the item to a good state",
- "type": "plaid_assets_report"
}
}
Upload Inscribe
Upload Inscribe JSON for a specified end user to translate into Heron Data format and add transactions for the end user
Authorizations:
path Parameters
end_user_id_or_heron_id required | string The |
Request Body schema: application/json
customer_name | string or null Default: null |
object (InscribeParsedDetails) |
Responses
Request samples
- Payload
{- "customer_name": null,
- "parsed_details": {
- "bank_accounts":