Skip to main content
GET
/
transactions
/
by_top_level
/
{category_guid}
/
by_date
/
{start_date}
/
{end_date}
List transactions by top-level category GUID and date
curl --request GET \
  --url https://int-data.moneydesktop.com/transactions/by_top_level/{category_guid}/by_date/{start_date}/{end_date} \
  --header 'MD-SESSION-TOKEN: <api-key>'
import requests

url = "https://int-data.moneydesktop.com/transactions/by_top_level/{category_guid}/by_date/{start_date}/{end_date}"

headers = {"MD-SESSION-TOKEN": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'MD-SESSION-TOKEN': '<api-key>'}};

fetch('https://int-data.moneydesktop.com/transactions/by_top_level/{category_guid}/by_date/{start_date}/{end_date}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://int-data.moneydesktop.com/transactions/by_top_level/{category_guid}/by_date/{start_date}/{end_date}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"MD-SESSION-TOKEN: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://int-data.moneydesktop.com/transactions/by_top_level/{category_guid}/by_date/{start_date}/{end_date}"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("MD-SESSION-TOKEN", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://int-data.moneydesktop.com/transactions/by_top_level/{category_guid}/by_date/{start_date}/{end_date}")
.header("MD-SESSION-TOKEN", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://int-data.moneydesktop.com/transactions/by_top_level/{category_guid}/by_date/{start_date}/{end_date}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["MD-SESSION-TOKEN"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "transactions": [
    {
      "account_guid": "ACT-8e6f92c8-1491-42ce-8bf6-c309e9531530",
      "amount": 33.88,
      "amount_set_by": 1,
      "amount_set_by_name": "FEED",
      "category_guid": "CAT-97a2b899-5a32-4196-b87c-a8e65d8a9849",
      "category_name": "Office Supplies",
      "category_set_by": 3,
      "category_set_by_name": "SYSTEM",
      "check_number": null,
      "check_number_set_by": null,
      "check_number_set_by_name": null,
      "check_number_string": null,
      "created_at": "2022-06-14T21:17:10+00:00",
      "currency_code": "USD",
      "currency_code_set_by": 1,
      "currency_code_set_by_name": "FEED",
      "date": "2022-06-14",
      "date_set_by": 1,
      "date_set_by_name": "FEED",
      "description": "Office Depot",
      "description_set_by": 3,
      "description_set_by_name": "SYSTEM",
      "extended_transaction_type": "",
      "external_guid": "transfer-0bc9936d-6761-4aed-af7f-a94e7a0f7e7e",
      "feed_amount": 33.88,
      "feed_check_number": null,
      "feed_check_number_string": null,
      "feed_currency_code": "USD",
      "feed_description": "Office Depot",
      "feed_is_international": null,
      "feed_latitude": null,
      "feed_longitude": null,
      "feed_memo": null,
      "feed_posted_at": "2022-06-15T12:00:00+00:00",
      "feed_posted_on": "2022-06-15",
      "feed_status": 1,
      "feed_transacted_at": "2022-06-14T12:00:00+00:00",
      "feed_transacted_on": "2022-06-14",
      "feed_transaction_type": 2,
      "feed_transaction_type_name": "DEBIT",
      "guid": "TRN-24af807c-66b5-416c-a84e-d18f1003809e",
      "has_been_split": false,
      "has_been_viewed": false,
      "is_bill_pay": false,
      "is_business": false,
      "is_direct_deposit": false,
      "is_expense": true,
      "is_fee": false,
      "is_flagged": false,
      "is_hidden": false,
      "is_income": false,
      "is_international": null,
      "is_international_set_by": null,
      "is_international_set_by_name": null,
      "is_overdraft_fee": false,
      "is_payroll_advance": false,
      "is_recurring": null,
      "is_subscription": false,
      "latitude": null,
      "latitude_set_by": null,
      "latitude_set_by_name": null,
      "localized_description": null,
      "localized_memo": null,
      "longitude": null,
      "longitude_set_by": null,
      "longitude_set_by_name": null,
      "member_is_managed_by_user": true,
      "memo": null,
      "memo_set_by": null,
      "memo_set_by_name": null,
      "merchant_category_code": 0,
      "merchant_guid": "MCH-8f595f23-43fb-2c82-429e-56313bb6dada",
      "merchant_location_guid": null,
      "metadata": "some hard coded transaction metadata",
      "parent_guid": null,
      "posted_at": "2022-06-15T12:00:00+00:00",
      "posted_at_set_by": 1,
      "posted_at_set_by_name": "FEED",
      "revision": 1,
      "scheduled_payment_guid": null,
      "status": 1,
      "status_name": "POSTED",
      "status_set_by": 1,
      "status_set_by_name": "FEED",
      "top_level_category_guid": "CAT-94b11142-e97b-941a-f67f-6e18d246a23f",
      "transacted_at": "2022-06-14T12:00:00+00:00",
      "transacted_at_set_by": 1,
      "transacted_at_set_by_name": "FEED",
      "transaction_type": 2,
      "transaction_type_name": "DEBIT",
      "transaction_type_set_by": 1,
      "transaction_type_set_by_name": "FEED",
      "updated_at": "2022-06-14T21:17:10+00:00",
      "user_guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
    }
  ],
  "pagination": {
    "current_page": 1,
    "per_page": 25,
    "total_entries": 1,
    "total_pages": 1
  }
}

Authorizations

MD-SESSION-TOKEN
string
header
required

MX Session Token

  • Request an API token using the read API token endpoint in the MX SSO API.
  • Exchange an API token for a session token.
    • A session token is obtained by sending a POST request to /sessions
    • The session token will be used in each request made for the user. It should be passed in an MD-SESSION-TOKEN HTTP header as shown below.
    • This session token is valid for 30 minutes from the time it was created. The 30 minute expiration counter is refreshed with each call.
    • If you send a request with an expired session token you'll receive an error code of 4011.
curl -i https://int-data.moneydesktop.com/accounts \
-H 'MD-SESSION-TOKEN: CWforZl1Vn2vC_v6H4rnQRT1DoWpDouJAV-_5TBmiQRAtA8rsOG_BoajTiOSsL0A3bd-bmHXlA-eQzc9ywItKg' \
-H 'Content-Type: application/vnd.mx.nexus.v1+json' \
-H 'Accept: application/vnd.mx.nexus.v1+json'

In documentation code examples, replace <API_KEY_VALUE> with the session token.

Path Parameters

category_guid
string
required

The unique identifier for the category. Defined by MX.

start_date
string
required

The start date of the window for which transactions will be returned. Given in ISO 8106 format without a timestamp, e.g., 2013-10-25.

end_date
string
required

The end date of the window for which transactions will be returned. Given in ISO 8106 format without a timestamp, e.g., 2013-10-25.

Query Parameters

account_guid[]
string

Return transactions belonging to any account GUID specified in the request URL. For example, /transactions/by_category_guid/CAT-e04e9d1e-e041-c315-2e50-094143ab3f73/by_date/2016-06-28/2016-07-25?page=2&records_per_page=100&account_guids[]=ACT-00266e24-5980-0213-96aa-649246a418af&account_guids[]=ACT-15f3a4de-cb45-d892-4480-6d05576011a8.

page
integer

Results are returned in paginated sets, this is the page of the results you would like to view. Defaults to page 1 if no page is specified.

records_per_page
integer

Requests to all list endpoints that return multiple transactions (e.g. list transactions) should specify the desired records_per_page. The supported range is from 10 to 1000. If the records_per_page parameter is not specified or is outside this range, a default of 25 records per page will be used.

use_case
string

The use case associated with the member.

Response

200 - application/vnd.mx.api.v1+json

OK

transactions
object[]
pagination
object