Skip to main content
GET
/
api
/
transactions
cURL
curl --request GET \
  --url https://app.herondata.io/api/transactions \
  --header 'x-api-key: <api-key>'
{
  "_meta": {
    "next_url": "<string>",
    "page": 123,
    "pages": 123,
    "per_page": 123,
    "prev_url": "<string>"
  },
  "_summary": {
    "returned_transactions": 123,
    "transactions": 123
  },
  "transactions": [
    {
      "account_id": "checking_account_202348",
      "account_number": "1234567890",
      "amount": -42.42,
      "balance": 423,
      "categories": [
        {
          "annotator": "predicted",
          "confidence": 0.5,
          "heron_id": "ctg_FjcaMfhViSMguT5nPdUgm3",
          "label": "Rent",
          "model_version": "a53d6ec4-4a8f-41a4-b334-7342c1b9371e"
        }
      ],
      "counterparty": "GOOGLE",
      "created": "2025-10-18T06:17:30.721062",
      "currency": "USD",
      "data_source_account_heron_id": "dsa_eENDx944m5zEACqbzEtYUW",
      "data_source_heron_id": "dso_7xeQd93taLqg9PqLXSCfHU",
      "description": "GOOGLE *ADS12340929 [email protected] US",
      "description_clean": "GOOGLE ADS",
      "duplicate_of_id": "<any>",
      "end_user_id": "my_best_customer_203948",
      "has_matching_transaction": true,
      "heron_id": "txn_FGybuH7umUUJBNGEy5dwgk",
      "is_potential_duplicate": true,
      "is_recurring": true,
      "last_updated": "2025-10-18T06:17:30.721099",
      "merchant": {
        "categories": [
          {
            "code": "7311",
            "description": "Advertising services",
            "slug": "advertising_services"
          }
        ],
        "group_id": "Uber",
        "heron_id": "mrc_CFbrWxbeUQ3Mh5Ym4927Uz",
        "icon_url": "<string>",
        "is_priority": true,
        "logo_url": "<string>",
        "name": "<string>",
        "url": "<string>"
      },
      "payment_processor": {
        "heron_id": "mrc_nRYdGU7nYuevb7qem65cEb",
        "icon_url": "https://storage.googleapis.com/heron-merchant-assets/icons/mrc_nRYdGU7nYuevb7qem65cEb.svg",
        "logo_url": "https://storage.googleapis.com/heron-merchant-assets/logos/mrc_nRYdGU7nYuevb7qem65cEb.svg",
        "name": "Paypal",
        "url": "https://www.paypal.com"
      },
      "reference_id": "my_favourite_transaction_231098",
      "request_id": "req_Sc3tnH8gq3GML8MNquhnb7",
      "timestamp": "2021-11-12T10:38:05Z",
      "transaction_code": "card"
    }
  ]
}

Authorizations

x-api-key
string
header
required

Query Parameters

created_date_min
string<date>

Filter by earliest transaction upload date - when Heron received the transaction

Example:

"2020-04-27"

merchant_group_id
string

Filter by merchant group id

from_date
string<date>

Deprecated; see created_date_ or timestamp_date_

order_by
enum<string>
default:id_asc

What to order transactions by

Available options:
amount_asc,
amount_desc,
abs_amount_asc,
abs_amount_desc,
description_asc,
description_desc,
timestamp_asc,
timestamp_desc,
id_asc,
id_desc,
confidence_asc,
confidence_desc,
created_asc,
created_desc
last_updated_max
string<date-time>

Filter for transactions whose values were last updated in Heron systems before the specified input value

Example:

"2025-10-18T06:17:30.721695"

is_recurring
boolean

Filter by whether the transaction is recurring

counterparty_keyword
string

Filter by keyword match on transaction counterparty; case insensitive

confidence_min
number

Filter by minimum confidence of annotation associated with transaction

Required range: 0 <= x <= 1
category_heron_id
string[] | null

Filter by the heron_id of the category that the transaction is annotated with

Example:

"ctg_cppaVMwmZrepdUp5aGv9F8"

request_id
string

Request-Id header returned in the response of POST transactions. Sending this parameter will return all transactions sent in a particular POST request, including any duplicates.

merchant_heron_id
string

Filter by merchant heron id

to_date
string<date>

Deprecated; see created_date_ or timestamp_date_

timestamp_date_max
string<date>

Filter by latest transaction timestamp

Example:

"2020-04-27"

min_amount
number

Filter by minimum amount of transaction

page
integer
default:1

Page of transaction to return

Required range: x >= 1
reference_id
string

Reference Id of transaction

created_date_max
string<date>

Filter by latest transaction upload date - when Heron received the transaction

Example:

"2020-04-27"

end_user_id
string

End user id of transaction

last_updated_min
string<date-time>

Filter for transactions whose values were last updated in Heron systems after the specified input value

Example:

"2025-10-18T06:17:30.721674"

max_amount
number

Filter by maximum amount of transaction

heron_id
string

Heron generated Id of transaction

Example:

"txn_NXb4ZcTrfWBdkT2NNyuVcb"

timestamp_date_min
string<date>

Filter by earliest transaction timestamp

Example:

"2020-04-27"

has_matching_transaction
boolean

Filter by whether the transaction has a matching transaction

include_duplicates
boolean

Whether or not to include duplicate transactions in the response. Defaults to false unless request_id is provided, in which case it defaults to true.

description_keyword
string

Filter by keyword match on transaction description; case insensitive

confidence_max
number

Filter by maximum confidence of annotation associated with transaction

Required range: 0 <= x <= 1
limit
integer
default:1000

Number of transactions to return per page

Required range: 1 <= x <= 10000
transaction_code
string

Filter by transaction code

description_regex
string

Filter by regex matching transaction description

account_ids
string[] | null

Account ids to include. If not provided, all accounts are included

has_merchant
boolean | null

Filter by whether the transaction has a merchant entity associated with it

Response

OK

_meta
object
_summary
object
transactions
object[]
I