curl --request PUT \
--url https://int-data.moneydesktop.com/beats/{beat_guid} \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
{
"beat": {
"has_been_displayed": true,
"is_dismissed": false
}
}
'import requests
url = "https://int-data.moneydesktop.com/beats/{beat_guid}"
payload = { "beat": {
"has_been_displayed": True,
"is_dismissed": False
} }
headers = {
"MD-SESSION-TOKEN": "<api-key>",
"Content-Type": "application/vnd.mx.nexus.v1+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'MD-SESSION-TOKEN': '<api-key>',
'Content-Type': 'application/vnd.mx.nexus.v1+json'
},
body: JSON.stringify({beat: {has_been_displayed: true, is_dismissed: false}})
};
fetch('https://int-data.moneydesktop.com/beats/{beat_guid}', 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/beats/{beat_guid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'beat' => [
'has_been_displayed' => true,
'is_dismissed' => false
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/vnd.mx.nexus.v1+json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://int-data.moneydesktop.com/beats/{beat_guid}"
payload := strings.NewReader("{\n \"beat\": {\n \"has_been_displayed\": true,\n \"is_dismissed\": false\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("MD-SESSION-TOKEN", "<api-key>")
req.Header.Add("Content-Type", "application/vnd.mx.nexus.v1+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://int-data.moneydesktop.com/beats/{beat_guid}")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("{\n \"beat\": {\n \"has_been_displayed\": true,\n \"is_dismissed\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/beats/{beat_guid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["MD-SESSION-TOKEN"] = '<api-key>'
request["Content-Type"] = 'application/vnd.mx.nexus.v1+json'
request.body = "{\n \"beat\": {\n \"has_been_displayed\": true,\n \"is_dismissed\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"beat": {
"account_guids": [
"ACT-2746bc4c-ee78-5631-5a33-062dea4b0437"
],
"created_at": "2020-03-31T18:41:32.000Z",
"description": "It looks like your most recent bill from Comcast was lower than it normally is. You paid $31.26, which is 28% lower than your recent average payment of $43.43.",
"digest": "87+y8ZLvW/TIr5tbknUtGg==",
"displayed_at": "2020-03-03T17:55:40.000Z",
"guid": "BET-725b097e-ab18-43ca-a7fe-3c98c5a1db08",
"has_been_displayed": false,
"is_dismissed": false,
"is_relevant": false,
"primary_account_guid": "ACT-2746bc4c-ee78-5631-5a33-062dea4b0437",
"primary_transaction_guid": "TRN-3e5919b3-c9c9-4346-b187-2ff235d371ec",
"template": "BillAmountNotStandard",
"title": "Bill lower than usual",
"transaction_guids": [
"TRN-3e5919b3-c9c9-4346-b187-2ff235d371ec"
],
"updated_at": "2020-03-31T18:41:32.000Z",
"user_guid": "USR-29dfffe5-296e-4784-89fd-6e81c8e682e6"
}
}Update beat (deprecated)
Use this endpoint to update the attributes of a particular beat according to its unique GUID. No specific parameter is required, but the request body cannot be empty.
curl --request PUT \
--url https://int-data.moneydesktop.com/beats/{beat_guid} \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
{
"beat": {
"has_been_displayed": true,
"is_dismissed": false
}
}
'import requests
url = "https://int-data.moneydesktop.com/beats/{beat_guid}"
payload = { "beat": {
"has_been_displayed": True,
"is_dismissed": False
} }
headers = {
"MD-SESSION-TOKEN": "<api-key>",
"Content-Type": "application/vnd.mx.nexus.v1+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
'MD-SESSION-TOKEN': '<api-key>',
'Content-Type': 'application/vnd.mx.nexus.v1+json'
},
body: JSON.stringify({beat: {has_been_displayed: true, is_dismissed: false}})
};
fetch('https://int-data.moneydesktop.com/beats/{beat_guid}', 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/beats/{beat_guid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'beat' => [
'has_been_displayed' => true,
'is_dismissed' => false
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/vnd.mx.nexus.v1+json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://int-data.moneydesktop.com/beats/{beat_guid}"
payload := strings.NewReader("{\n \"beat\": {\n \"has_been_displayed\": true,\n \"is_dismissed\": false\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("MD-SESSION-TOKEN", "<api-key>")
req.Header.Add("Content-Type", "application/vnd.mx.nexus.v1+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://int-data.moneydesktop.com/beats/{beat_guid}")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("{\n \"beat\": {\n \"has_been_displayed\": true,\n \"is_dismissed\": false\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/beats/{beat_guid}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["MD-SESSION-TOKEN"] = '<api-key>'
request["Content-Type"] = 'application/vnd.mx.nexus.v1+json'
request.body = "{\n \"beat\": {\n \"has_been_displayed\": true,\n \"is_dismissed\": false\n }\n}"
response = http.request(request)
puts response.read_body{
"beat": {
"account_guids": [
"ACT-2746bc4c-ee78-5631-5a33-062dea4b0437"
],
"created_at": "2020-03-31T18:41:32.000Z",
"description": "It looks like your most recent bill from Comcast was lower than it normally is. You paid $31.26, which is 28% lower than your recent average payment of $43.43.",
"digest": "87+y8ZLvW/TIr5tbknUtGg==",
"displayed_at": "2020-03-03T17:55:40.000Z",
"guid": "BET-725b097e-ab18-43ca-a7fe-3c98c5a1db08",
"has_been_displayed": false,
"is_dismissed": false,
"is_relevant": false,
"primary_account_guid": "ACT-2746bc4c-ee78-5631-5a33-062dea4b0437",
"primary_transaction_guid": "TRN-3e5919b3-c9c9-4346-b187-2ff235d371ec",
"template": "BillAmountNotStandard",
"title": "Bill lower than usual",
"transaction_guids": [
"TRN-3e5919b3-c9c9-4346-b187-2ff235d371ec"
],
"updated_at": "2020-03-31T18:41:32.000Z",
"user_guid": "USR-29dfffe5-296e-4784-89fd-6e81c8e682e6"
}
}Authorizations
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-TOKENHTTP 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
The ID of the beat to update.
Body
Response
OK
Hide child attributes
Hide child attributes
An array of account GUIDs that are relevant to the information delivered in the beat.
The date and time the beat was created, given in ISO 8601 with a timestamp.
"2020-03-31T18:41:32.000Z"
The human-readable information being delivered to the end user.
"It looks like your most recent bill from Comcast was lower than it normally is. You paid $31.26, which is 28% lower than your recent average payment of $43.43."
A unique identifier derived from inputs to the beat which ensures beats are not duplicated.
"87+y8ZLvW/TIr5tbknUtGg=="
The date and time at which the beat was displayed to the end user, given in ISO 8601 with a timestamp.
"2020-03-03T17:55:40.000Z"
The unique identifier for the beat. Defined by MX.
"BET-725b097e-ab18-43ca-a7fe-3c98c5a1db08"
This indicates whether the beat has been shown to the end user.
false
This indicates whether the beat has been dismissed by the end user.
false
This indicates whether a beat still contains information that is relevant, meaningful, or useable to the end user. For example, an OverdraftWarning will have is_relevant set to false if a large deposit is made into the associated account after the beat was created. Any beat which has already been displayed to or dismissed by the end user will be set to false. There are numerous examples and conditions.
false
The unique identifier for the account most relevant to the information delivered in the beat.
"ACT-2746bc4c-ee78-5631-5a33-062dea4b0437"
The unique identifier for the transaction most relevant to the information delivered in the beat.
"TRN-3e5919b3-c9c9-4346-b187-2ff235d371ec"
A short label for the type of beat being delivered, e.g., SubscriptionPriceIncrease or MonthlyCategoryTotal.
"BillAmountNotStandard"
The title for the specific beat, e.g., Price Increase or Paycheck Deposit.
"Bill lower than usual"
An array of transaction GUIDs that are relevant to the information delivered in the beat.
The date and time the beat was last updated, given in ISO 8601 without a timestamp.
"2020-03-31T18:41:32.000Z"
The unique identifier for the user to which the beat belongs. Defined by MX.
"USR-29dfffe5-296e-4784-89fd-6e81c8e682e6"

