curl --request PUT \
--url https://int-data.moneydesktop.com/categories/{category_guid} \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
{
"category": {
"name": "March Madness",
"metadata": "Additional information",
"skip_webhook": true
}
}
'import requests
url = "https://int-data.moneydesktop.com/categories/{category_guid}"
payload = { "category": {
"name": "March Madness",
"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({
category: {name: 'March Madness', metadata: 'Additional information', skip_webhook: true}
})
};
fetch('https://int-data.moneydesktop.com/categories/{category_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/categories/{category_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([
'category' => [
'name' => 'March Madness',
'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/categories/{category_guid}"
payload := strings.NewReader("{\n \"category\": {\n \"name\": \"March Madness\",\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\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/categories/{category_guid}")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("{\n \"category\": {\n \"name\": \"March Madness\",\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/categories/{category_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 \"category\": {\n \"name\": \"March Madness\",\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"category": {
"created_at": "2015-04-13T12:01:23.000Z",
"guid": "CAT-de7c2dc7-90e6-85a2-6509-5ec10942e887",
"is_default": true,
"is_income": true,
"metadata": "Additional information",
"name": "Auto Insurance",
"parent_guid": "CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874",
"updated_at": "2015-04-13T12:01:23.000Z"
}
}Update a subcategory
Only user-defined subcategories can be updated, i.e., those where the is_default field is false.
The metadata field can be used to add information to user-defined subcategories. For default categories, this field will be null and can not be changed via Nexus.
This endpoint accepts the optional MX-Skip-Webhook header and skip_webhook parameter.
curl --request PUT \
--url https://int-data.moneydesktop.com/categories/{category_guid} \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
{
"category": {
"name": "March Madness",
"metadata": "Additional information",
"skip_webhook": true
}
}
'import requests
url = "https://int-data.moneydesktop.com/categories/{category_guid}"
payload = { "category": {
"name": "March Madness",
"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({
category: {name: 'March Madness', metadata: 'Additional information', skip_webhook: true}
})
};
fetch('https://int-data.moneydesktop.com/categories/{category_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/categories/{category_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([
'category' => [
'name' => 'March Madness',
'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/categories/{category_guid}"
payload := strings.NewReader("{\n \"category\": {\n \"name\": \"March Madness\",\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\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/categories/{category_guid}")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("{\n \"category\": {\n \"name\": \"March Madness\",\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/categories/{category_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 \"category\": {\n \"name\": \"March Madness\",\n \"metadata\": \"Additional information\",\n \"skip_webhook\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"category": {
"created_at": "2015-04-13T12:01:23.000Z",
"guid": "CAT-de7c2dc7-90e6-85a2-6509-5ec10942e887",
"is_default": true,
"is_income": true,
"metadata": "Additional information",
"name": "Auto Insurance",
"parent_guid": "CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874",
"updated_at": "2015-04-13T12:01:23.000Z"
}
}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 category. Defined by MX.
Body
Hide child attributes
Hide child attributes
Name of the subcategory.
"March Madness"
Additional information a partner can store on the category.
"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
Date and time the category was created, represented in ISO 8601 format with timestamp (e.g. 2015-04-13T12:01:23-00:00). This field will always be null when is_default is true.
"2015-04-13T12:01:23.000Z"
Unique identifier for the category. Defined by MX.
"CAT-de7c2dc7-90e6-85a2-6509-5ec10942e887"
If the category is a default category, this field will be true. Otherwise, this field will be false.
true
If the category is income, this field will be true. Otherwise, this field will be false.
true
Additional information a partner can store on the category.
"Additional information"
Name of the sub-category.
"Auto Insurance"
Unique identifier for the parent category. If the category is a default category, this field will be "null". Defined by MX.
"CAT-7829f71c-2e8c-afa5-2f55-fa3634b89874"
Date and time the category was last updated, represented in ISO 8601 format with timestamp (e.g. 2015-04-13T12:01:23-00:00). This field will always be null when is_default is true.
"2015-04-13T12:01:23.000Z"

