curl --request PUT \
--url https://int-data.moneydesktop.com/members/{member_guid}/resume \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
[
{
"challenges": [
{
"guid": "institution-credential-guid",
"value": "user-entered-value"
}
]
}
]
'import requests
url = "https://int-data.moneydesktop.com/members/{member_guid}/resume"
payload = [{ "challenges": [
{
"guid": "institution-credential-guid",
"value": "user-entered-value"
}
] }]
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([
{
challenges: [{guid: 'institution-credential-guid', value: 'user-entered-value'}]
}
])
};
fetch('https://int-data.moneydesktop.com/members/{member_guid}/resume', 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/members/{member_guid}/resume",
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([
[
'challenges' => [
[
'guid' => 'institution-credential-guid',
'value' => 'user-entered-value'
]
]
]
]),
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/members/{member_guid}/resume"
payload := strings.NewReader("[\n {\n \"challenges\": [\n {\n \"guid\": \"institution-credential-guid\",\n \"value\": \"user-entered-value\"\n }\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/members/{member_guid}/resume")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("[\n {\n \"challenges\": [\n {\n \"guid\": \"institution-credential-guid\",\n \"value\": \"user-entered-value\"\n }\n ]\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/members/{member_guid}/resume")
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 {\n \"challenges\": [\n {\n \"guid\": \"institution-credential-guid\",\n \"value\": \"user-entered-value\"\n }\n ]\n }\n]"
response = http.request(request)
puts response.read_body{
"members": [
{
"aggregated_at": "2016-10-13T18:07:57.000Z",
"background_aggregation_is_disabled": false,
"connection_status": "CONNECTED",
"external_guid": null,
"guid": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b",
"institution_code": "chase",
"institution_guid": "INS-1572a04c-912b-59bf-5841-332c7dfafaef",
"is_being_aggregated": false,
"is_managed_by_user": false,
"is_oauth": false,
"is_user_created": true,
"most_recent_job_guid": "JOB-d6bb804b-6d12-44f1-b0ad-403441c03372",
"metadata": "\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\\"",
"name": "Chase Bank",
"successfully_aggregated_at": "2016-10-13T17:57:38.000Z",
"use_cases": [
"PFM"
],
"user_guid": "USR-fa7537f3-48aa-a683-a02a-b18940482f54"
}
]
}Resume aggregation
curl --request PUT \
--url https://int-data.moneydesktop.com/members/{member_guid}/resume \
--header 'Content-Type: application/vnd.mx.nexus.v1+json' \
--header 'MD-SESSION-TOKEN: <api-key>' \
--data '
[
{
"challenges": [
{
"guid": "institution-credential-guid",
"value": "user-entered-value"
}
]
}
]
'import requests
url = "https://int-data.moneydesktop.com/members/{member_guid}/resume"
payload = [{ "challenges": [
{
"guid": "institution-credential-guid",
"value": "user-entered-value"
}
] }]
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([
{
challenges: [{guid: 'institution-credential-guid', value: 'user-entered-value'}]
}
])
};
fetch('https://int-data.moneydesktop.com/members/{member_guid}/resume', 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/members/{member_guid}/resume",
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([
[
'challenges' => [
[
'guid' => 'institution-credential-guid',
'value' => 'user-entered-value'
]
]
]
]),
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/members/{member_guid}/resume"
payload := strings.NewReader("[\n {\n \"challenges\": [\n {\n \"guid\": \"institution-credential-guid\",\n \"value\": \"user-entered-value\"\n }\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/members/{member_guid}/resume")
.header("MD-SESSION-TOKEN", "<api-key>")
.header("Content-Type", "application/vnd.mx.nexus.v1+json")
.body("[\n {\n \"challenges\": [\n {\n \"guid\": \"institution-credential-guid\",\n \"value\": \"user-entered-value\"\n }\n ]\n }\n]")
.asString();require 'uri'
require 'net/http'
url = URI("https://int-data.moneydesktop.com/members/{member_guid}/resume")
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 {\n \"challenges\": [\n {\n \"guid\": \"institution-credential-guid\",\n \"value\": \"user-entered-value\"\n }\n ]\n }\n]"
response = http.request(request)
puts response.read_body{
"members": [
{
"aggregated_at": "2016-10-13T18:07:57.000Z",
"background_aggregation_is_disabled": false,
"connection_status": "CONNECTED",
"external_guid": null,
"guid": "MBR-7c6f361b-e582-15b6-60c0-358f12466b4b",
"institution_code": "chase",
"institution_guid": "INS-1572a04c-912b-59bf-5841-332c7dfafaef",
"is_being_aggregated": false,
"is_managed_by_user": false,
"is_oauth": false,
"is_user_created": true,
"most_recent_job_guid": "JOB-d6bb804b-6d12-44f1-b0ad-403441c03372",
"metadata": "\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\\"",
"name": "Chase Bank",
"successfully_aggregated_at": "2016-10-13T17:57:38.000Z",
"use_cases": [
"PFM"
],
"user_guid": "USR-fa7537f3-48aa-a683-a02a-b18940482f54"
}
]
}member must have a connection_status of CHALLENGED in order to successfully use the resume aggregation endpoint; a 405 Method Not Allowed error will be returned otherwise. A 400 Bad Request error will be returned if the credentials provided are invalid.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 member. Defined by MX.
Body
Response
OK
Hide child attributes
Hide child attributes
The date and time the most recent aggregation-type job was started, given in ISO 8601 format with a time component. A job will automatically be started when a member is created or its credentials are updated, unless the skip_aggregation parameter is used. Jobs can also be started via manual aggregations, background aggregations, API endpoints, or when opening an MX widget. A job can be a normal aggregation, or a premium job such as identification, verification, fetching statements, or fetching an extended transaction history. If a member is deleted and then re-created with the skip_aggregation parameter set to true or if it is re-created within the throttle window (typically three hours), the previous value will be returned.
"2016-10-13T18:07:57.000Z"
This field indicates whether background aggregation is disabled for the member.
false
This field indicates the state of a member's aggregation, provided as a string.
"CONNECTED"
Partner created identifier for the member. It must be unique for all members belonging to all users within the client.
null
Unique identifier for the member. Defined by MX.
"MBR-7c6f361b-e582-15b6-60c0-358f12466b4b"
The code identifier for the institution.
"chase"
The unique identifier for the institution. Defined by MX.
"INS-1572a04c-912b-59bf-5841-332c7dfafaef"
This field will be true if the member is being aggregated at the time of the request. Otherwise, this field will be false.
false
If the member is managed by the user, this field will be true. Otherwise, the member is managed by the MX partner, and this field will be false. Members created with Nexus are considered to be managed by the user. This field should be used in place of is_user_created.
false
This indicates whether the member uses OAuth to authenticate the member. Defaults to false. authentication.
false
If the member is user created, this field will be true. Otherwise, this field will be false. Members created with Nexus are considered user created. You should use the field is_managed_by_user instead of this field as it is being deprecated.
true
Unique identifier for the most recent job. Defined by MX.
"JOB-d6bb804b-6d12-44f1-b0ad-403441c03372"
Additional information a partner can store on the member.
"\\\"credentials_last_refreshed_at\\\": \\\"2015-10-15\\\""
Name of the given member. If omitted in a member create request, the institution name within the MX Platform will be used.
"Chase Bank"
Date and time the account was last successfully aggregated, represented in ISO 8601 format with timestamp (e.g., 2015-04-13T12:01:23-00:00).
"2016-10-13T17:57:38.000Z"
The use case associated with the member. Valid values are PFM and/or MONEY_MOVEMENT. Only set this if you've met with MX and have opted in to using this field. For more info, see Member Use Cases.
MONEY_MOVEMENT, PFM ["PFM"]
Unique identifier for the user the member is attached to. Defined by MX.
"USR-fa7537f3-48aa-a683-a02a-b18940482f54"

