curl --request PUT \
--url https://int-data.moneydesktop.com/budgets/{budget_guid} \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
{
"budget": [
{
"amount": 1000,
"metadata": "Additional information",
"skip_webhook": true
}
]
}
'import requests
url = "https://int-data.moneydesktop.com/budgets/{budget_guid}"
payload = { "budget": [
{
"amount": 1000,
"metadata": "Additional information",
"skip_webhook": True
}
] }
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({
budget: [{amount: 1000, metadata: 'Additional information', skip_webhook: true}]
})
};
fetch('https://int-data.moneydesktop.com/budgets/{budget_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/budgets/{budget_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([
'budget' => [
[
'amount' => 1000,
'metadata' => 'Additional information',
'skip_webhook' => true
]
]
]),
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/budgets/{budget_guid}"
payload := strings.NewReader("{\n \"budget\": [\n {\n \"amount\": 1000,\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\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/budgets/{budget_guid}")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("{\n \"budget\": [\n {\n \"amount\": 1000,\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/budgets/{budget_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 \"budget\": [\n {\n \"amount\": 1000,\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"budget": {
"amount": 153,
"category_guid": "CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a",
"created_at": "2018-10-18T19:51:26.000Z",
"guid": "BGT-6ca0e3ef-c65e-4655-8b5a-275a3c19c21d",
"is_exceeded": true,
"is_off_track": true,
"metadata": "some metadata",
"name": "Food & Dining",
"off_track_percentage": 123,
"parent_guid": "<string>",
"percent_spent": 1276.34,
"projected_spending": 3562.4,
"revision": 561,
"transaction_total": 1952.8,
"updated_at": "2022-06-14T21:17:11+00:00\"",
"user_guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
}
}Update a specific budget
Update a specific budget
curl --request PUT \
--url https://int-data.moneydesktop.com/budgets/{budget_guid} \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
{
"budget": [
{
"amount": 1000,
"metadata": "Additional information",
"skip_webhook": true
}
]
}
'import requests
url = "https://int-data.moneydesktop.com/budgets/{budget_guid}"
payload = { "budget": [
{
"amount": 1000,
"metadata": "Additional information",
"skip_webhook": True
}
] }
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({
budget: [{amount: 1000, metadata: 'Additional information', skip_webhook: true}]
})
};
fetch('https://int-data.moneydesktop.com/budgets/{budget_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/budgets/{budget_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([
'budget' => [
[
'amount' => 1000,
'metadata' => 'Additional information',
'skip_webhook' => true
]
]
]),
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/budgets/{budget_guid}"
payload := strings.NewReader("{\n \"budget\": [\n {\n \"amount\": 1000,\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\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/budgets/{budget_guid}")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("{\n \"budget\": [\n {\n \"amount\": 1000,\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/budgets/{budget_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 \"budget\": [\n {\n \"amount\": 1000,\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"budget": {
"amount": 153,
"category_guid": "CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a",
"created_at": "2018-10-18T19:51:26.000Z",
"guid": "BGT-6ca0e3ef-c65e-4655-8b5a-275a3c19c21d",
"is_exceeded": true,
"is_off_track": true,
"metadata": "some metadata",
"name": "Food & Dining",
"off_track_percentage": 123,
"parent_guid": "<string>",
"percent_spent": 1276.34,
"projected_spending": 3562.4,
"revision": 561,
"transaction_total": 1952.8,
"updated_at": "2022-06-14T21:17:11+00:00\"",
"user_guid": "USR-11141024-90b3-1bce-cac9-c06ced52ab4c"
}
}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 unique identifier for the budget. Defined by MX.
Body
Hide child attributes
Hide child attributes
A goal amount set by the user for a category's transaction total during a month.
1000
Additional information a partner can store on the budget.
"Additional information"
When set to true, this parameter will prevent a webhook from being triggered by the request.
true
Response
OK
Hide child attributes
Hide child attributes
A goal amount set by the user for a category's transaction total during a month.
153
Unique identifier for the budget category. Defined by MX.
"CAT-bd56d35a-a9a7-6e10-66c1-5b9cc1b6c81a"
Date and time the budget was created, represented in ISO 8601 format with timestamp.
"2018-10-18T19:51:26.000Z"
Unique identifier for the budget. Defined by MX.
"BGT-6ca0e3ef-c65e-4655-8b5a-275a3c19c21d"
If the budget has been exceeded, this field will be true. Otherwise, this field will be false.
true
If the budget is off track, this field will be true. Otherwise, this field will be false.
true
Additional information a partner can store on the budget.
"some metadata"
The name of the budget that is visible to the user (ie "Food", "Bills", "Entertainment", etc).
"Food & Dining"
The percentage amount of off track spending. (Deprecated).
Unique identifier for the parent budget. Defined by MX.
The percentage of a budget that has been spent during the current calendar month Calculated as the transaction total divided by the amount and then multiplied by 100.A value of zero will be returned when amount is zero.
1276.34
The projected amount of spending for the budget.
3562.4
The revision number of this budget record.
561
The cumulative amount of all transactions under the budget.
1952.8
Date and time the budget was updated, represented in ISO 8601 format with timestamp.
"2022-06-14T21:17:11+00:00\""
Unique identifier for the user. Defined by MX.
"USR-11141024-90b3-1bce-cac9-c06ced52ab4c"

