GET
/
links
/
{id}
/
transactions
curl --request GET \
  --url http://localhost:8080/links/{id}/transactions \
  --header 'Authorization: Bearer <token>'
{
  "total": 82,
  "page": 1,
  "size": 50,
  "transactions": [
    {
      "transaction_id": "c7318ff7-257c-490e-8242-03a815b223b7",
      "account_id": "acc_6Tef269B6ZArSVpYrxtjBV",
      "amount": 384.05,
      "type": "debit",
      "currency": "USD",
      "date": "2023-02-16T00:00:00",
      "datetime": "2023-02-16T09:14:11",
      "description": "Regina's Mulberry",
      "raw_description": "Regina's Mulberry #1402 T48999-84",
      "pending": true,
      "category": "food_and_drinks.restaurants"
    }
  ],
  "accounts": [
    {
      "account_id": "acc_6Tef269B6ZArSVpYrxtjBV",
      "account_type": "depository.checking",
      "name": "Premier Checking",
      "account_mask": "3748",
      "balances": {
        "currency": "USD",
        "available": 340.12,
        "current": 445.89,
        "limit": 500
      }
    }
  ],
  "link": {
    "link_id": "mk_eqkWN34UEoa2NxyALG8pcV",
    "institution_id": "chase",
    "institution_name": "Chase",
    "provider": "mx",
    "state": "connected",
    "last_synced_at": "2023-02-16T09:14:11",
    "tags": [
      "user_type:admin"
    ],
    "products": {
      "accounts": {
        "refreshed_at": "2023-02-16T09:14:11",
        "last_attempted_at": "2023-02-16T09:14:11"
      },
      "identity": {
        "refreshed_at": "2023-02-16T09:14:11",
        "last_attempted_at": "2023-02-16T09:14:11",
        "settings": {
          "required": true,
          "prefetch": false
        }
      }
    }
  }
}
Results are paginated and returned in reverse chronological order.

Note that this endpoint does not trigger a fetch of transactions from the institution; it merely returns transactions that have already been fetched, either because prefetch was requested when the link was created, or because of scheduled or on-demand updates. MoneyKit checks for updated account data, including transactions, periodically throughout the day, but the update frequency can vary, depending on the downstream data provider, the institution, and whether one or both provide webhook-based updates.

To force a check for updated transactions, you can use the /products endpoint.

If you have requested prefetch or an on-demand update, you should check the refreshed_at date for this product in the returned response, and compare that against the previous refreshed_at date, which you can get from any previous response for this or any other account or link request.

If the refreshed_at date has not increased, then updated data is not yet available.

curl -i -X GET \
  'http://localhost:8080/links/{id}/transactions?account_ids=string&page=1&size=50&start_date=string&end_date=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'moneykit-version: 2023-02-18'
{
  "total": 82,
  "page": 1,
  "size": 50,
  "transactions": [
    {
      "transaction_id": "c7318ff7-257c-490e-8242-03a815b223b7",
      "account_id": "a3ba443a-257c-490e-8242-03a84789d39f",
      "amount": 384.05,
      "type": "debit",
      "currency": "USD",
      "date": "2023-02-16T00:00:00",
      "datetime": "2023-02-16T09:14:11",
      "description": "Regina's Mulberry",
      "raw_description": "Regina's Mulberry #1402 T48999-84",
      "pending": true,
      "category": "food_and_drinks.restaurants"
    }
  ],
  "accounts": [
    {
      "account_id": "a3ba443a-257c-490e-8242-03a84789d39f",
      "account_type": "checking",
      "name": "Premier Checking",
      "account_mask": "3748",
      "balances": {
        "currency": "USD",
        "available": 340.12,
        "current": 445.89,
        "limit": 500
      }
    }
  ],
  "link": {
    "link_id": "mk_eqkWN34UEoa2NxyALG8pcV",
    "institution_id": "chase",
    "institution_name": "Chase",
    "provider": "mx",
    "state": "connected",
    "last_synced_at": "2023-02-16T09:14:11",
    "tags": [
      "user_type:admin"
    ],
    "products": {
      "accounts": {
        "refreshed_at": "2023-02-16T09:14:11",
        "last_attempted_at": "2023-02-16T09:14:11"
      },
      "identity": {
        "refreshed_at": "2023-02-16T09:14:11",
        "last_attempted_at": "2023-02-16T09:14:11",
        "settings": {
          "required": true,
          "prefetch": false
        }
      }
    }
  }
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

moneykit-version
string
default:2023-02-18

Path Parameters

id
string
required

The unique ID for this link.

Query Parameters

account_ids
string[]

An optional list of account IDs to filter the results.

page
integer
default:1

The page number to return.

Required range: x >= 1
size
integer
default:50

The number of items to return per page.

Required range: 1 <= x <= 100
start_date
string

The earliest date for which data should be returned, formatted as YYYY-MM-DD. Defaults to 90 days before the end_date. If you want to retrieve all transactions, use 1900-01-01.

end_date
string

The latest date for which data should be returned, formatted as YYYY-MM-DD. Defaults to today.

Response

200
application/json

Successful Response

The response is of type object.