=begin
#MX API
#The MX Atrium API supports over 48,000 data connections to thousands of financial institutions. It provides secure access to your users' accounts and transactions with industry-leading cleansing, categorization, and classification. Atrium is designed according to resource-oriented REST architecture and responds with JSON bodies and HTTP response codes. Use Atrium's development environment, vestibule.mx.com, to quickly get up and running. The development environment limits are 100 users, 25 members per user, and access to the top 15 institutions. Contact MX to purchase production access.
=end
require 'uri'
module Atrium
class MembersApi
attr_accessor :api_client
def initialize(api_client = ApiClient.default)
@api_client = api_client
end
# Aggregate member
# Calling this endpoint initiates an aggregation event for the member. This brings in the latest account and transaction data from the connected institution. If this data has recently been updated, MX may not initiate an aggregation event.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [String] :type An optional parameter which determines the type of aggregation to be peformed. Possible values are `statement` and `history`.
# @return [MemberResponseBody]
def aggregate_member(member_guid, user_guid, opts = {})
data, _status_code, _headers = aggregate_member_with_http_info(member_guid, user_guid, opts)
data
end
# Create member
# This endpoint allows you to create a new member. Members are created with the required parameters credentials and institution_code, and the optional parameters identifier and metadata.
When creating a member, you'll need to include the correct type of credential required by the financial institution and provided by the user. You can find out which credential type is required with the /institutions/{institution_code}/credentials endpoint.
If successful, Atrium will respond with the newly-created member object.
Once you successfully create a member, MX will immediately validate the provided credentials and attempt to aggregate data for accounts and transactions.
# @param user_guid The unique identifier for a `user`.
# @param body Member object to be created with optional parameters (identifier and metadata) and required parameters (credentials and institution_code)
# @param [Hash] opts the optional parameters
# @return [MemberResponseBody]
def create_member(user_guid, body, opts = {})
data, _status_code, _headers = create_member_with_http_info(user_guid, body, opts)
data
end
# Delete member
# Accessing this endpoint will permanently delete a member.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [nil]
def delete_member(member_guid, user_guid, opts = {})
delete_member_with_http_info(member_guid, user_guid, opts)
nil
end
# List member accounts
# This endpoint returns an array with information about every account associated with a particular member.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [Integer] :page Specify current page.
# @option opts [Integer] :records_per_page Specify records per page.
# @return [AccountsResponseBody]
def list_member_accounts(member_guid, user_guid, opts = {})
data, _status_code, _headers = list_member_accounts_with_http_info(member_guid, user_guid, opts)
data
end
# List member credentials
# This endpoint returns an array which contains information on every non-MFA credential associated with a specific member.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [CredentialsResponseBody]
def list_member_credentials(member_guid, user_guid, opts = {})
data, _status_code, _headers = list_member_credentials_with_http_info(member_guid, user_guid, opts)
data
end
# List member MFA challenges
# Use this endpoint for information on what multi-factor authentication challenges need to be answered in order to aggregate a member.
If the aggregation is not challenged, i.e., the member does not have a connection status of CHALLENGED, then code 204 No Content will be returned.
If the aggregation has been challenged, i.e., the member does have a connection status of CHALLENGED, then code 200 OK will be returned — along with the corresponding credentials.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [ChallengesResponseBody]
def list_member_mfa_challenges(member_guid, user_guid, opts = {})
data, _status_code, _headers = list_member_mfa_challenges_with_http_info(member_guid, user_guid, opts)
data
end
# List member statements
# Certain institutions in Atrium allow developers to access account statements associated with a particular `member`. Use this endpoint to get an array of available statements. Before this endpoint can be used, an aggregation of type `statement` should be performed on the relevant `member`.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [Integer] :page Specify current page.
# @option opts [Integer] :records_per_page Specify records per page.
# @return [StatementsResponseBody]
def list_member_statements(member_guid, user_guid, opts = {})
data, _status_code, _headers = list_member_statements_with_http_info(member_guid, user_guid, opts)
data
end
# List member transactions
# Use this endpoint to get all transactions from all accounts associated with a specific member.
This endpoint accepts optional URL query parameters — from_date and to_date — which are used to filter transactions according to the date they were posted. If no values are given for the query parameters, from_date will default to 90 days prior to the request and to_date will default to 5 days from the time of the request.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [String] :from_date Filter transactions from this date.
# @option opts [String] :to_date Filter transactions to this date.
# @option opts [Integer] :page Specify current page.
# @option opts [Integer] :records_per_page Specify records per page.
# @return [TransactionsResponseBody]
def list_member_transactions(member_guid, user_guid, opts = {})
data, _status_code, _headers = list_member_transactions_with_http_info(member_guid, user_guid, opts)
data
end
# List members
# This endpoint returns an array which contains information on every member associated with a specific user.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [Integer] :page Specify current page.
# @option opts [Integer] :records_per_page Specify records per page.
# @return [MembersResponseBody]
def list_members(user_guid, opts = {})
data, _status_code, _headers = list_members_with_http_info(user_guid, opts)
data
end
# Read member
# Use this endpoint to read the attributes of a specific member.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [MemberResponseBody]
def read_member(member_guid, user_guid, opts = {})
data, _status_code, _headers = read_member_with_http_info(member_guid, user_guid, opts)
data
end
# Read member connection status
# This endpoint provides the status of the member's most recent aggregation event. This is an important step in the aggregation process, and the results returned by this endpoint should determine what you do next in order to successfully aggregate a member.
MX has introduced new, more detailed information on the current status of a member's connection to a financial institution and the state of its aggregation: the connection_status field. These are intended to replace and expand upon the information provided in the status field, which will soon be deprecated; support for the status field remains for the time being.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [MemberConnectionStatusResponseBody]
def read_member_status(member_guid, user_guid, opts = {})
data, _status_code, _headers = read_member_status_with_http_info(member_guid, user_guid, opts)
data
end
# Resume aggregation from MFA
# This endpoint answers the challenges needed when a member has been challenged by multi-factor authentication.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param body Member object with MFA challenge answers
# @param [Hash] opts the optional parameters
# @return [MemberResponseBody]
def resume_member(member_guid, user_guid, body, opts = {})
data, _status_code, _headers = resume_member_with_http_info(member_guid, user_guid, body, opts)
data
end
# Update member
# Use this endpoint to update a member's attributes. Only the credentials, identifier, and metadata parameters can be updated. To get a list of the required credentials for the member, use the list member credentials endpoint.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [MemberUpdateRequestBody] :body Member object to be updated with optional parameters (credentials, identifier, metadata)
# @return [MemberResponseBody]
def update_member(member_guid, user_guid, opts = {})
data, _status_code, _headers = update_member_with_http_info(member_guid, user_guid, opts)
data
end
private
# Aggregate member
# Calling this endpoint initiates an aggregation event for the member. This brings in the latest account and transaction data from the connected institution. If this data has recently been updated, MX may not initiate an aggregation event.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [String] :type An optional parameter which determines the type of aggregation to be peformed. Possible values are `statement` and `history`.
# @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
def aggregate_member_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.aggregate_member ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.aggregate_member"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.aggregate_member"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}/aggregate'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
query_params[:'type'] = opts[:'type'] if !opts[:'type'].nil?
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# HTTP header 'Content-Type'
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'MemberResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#aggregate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Create member
# This endpoint allows you to create a new member. Members are created with the required parameters credentials and institution_code, and the optional parameters identifier and metadata.<br> When creating a member, you'll need to include the correct type of credential required by the financial institution and provided by the user. You can find out which credential type is required with the /institutions/{institution_code}/credentials endpoint.<br> If successful, Atrium will respond with the newly-created member object.<br> Once you successfully create a member, MX will immediately validate the provided credentials and attempt to aggregate data for accounts and transactions.
# @param user_guid The unique identifier for a `user`.
# @param body Member object to be created with optional parameters (identifier and metadata) and required parameters (credentials and institution_code)
# @param [Hash] opts the optional parameters
# @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
def create_member_with_http_info(user_guid, body, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.create_member ...'
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.create_member"
end
# verify the required parameter 'body' is set
if @api_client.config.client_side_validation && body.nil?
fail ArgumentError, "Missing the required parameter 'body' when calling MembersApi.create_member"
end
# resource path
local_var_path = '/users/{user_guid}/members'.sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# HTTP header 'Content-Type'
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
# form parameters
form_params = {}
# http body (model)
post_body = @api_client.object_to_http_body(body)
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:POST, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'MemberResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#create_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Delete member
# Accessing this endpoint will permanently delete a member.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
def delete_member_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.delete_member ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.delete_member"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.delete_member"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names)
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#delete_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# List member accounts
# This endpoint returns an array with information about every account associated with a particular member.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [Integer] :page Specify current page.
# @option opts [Integer] :records_per_page Specify records per page.
# @return [Array<(AccountsResponseBody, Fixnum, Hash)>] AccountsResponseBody data, response status code and response headers
def list_member_accounts_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.list_member_accounts ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_accounts"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_accounts"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}/accounts'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'AccountsResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#list_member_accounts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# List member credentials
# This endpoint returns an array which contains information on every non-MFA credential associated with a specific member.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [Array<(CredentialsResponseBody, Fixnum, Hash)>] CredentialsResponseBody data, response status code and response headers
def list_member_credentials_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.list_member_credentials ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_credentials"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_credentials"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}/credentials'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'CredentialsResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#list_member_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# List member MFA challenges
# Use this endpoint for information on what multi-factor authentication challenges need to be answered in order to aggregate a member.<br> If the aggregation is not challenged, i.e., the member does not have a connection status of CHALLENGED, then code 204 No Content will be returned.<br> If the aggregation has been challenged, i.e., the member does have a connection status of CHALLENGED, then code 200 OK will be returned — along with the corresponding credentials.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [Array<(ChallengesResponseBody, Fixnum, Hash)>] ChallengesResponseBody data, response status code and response headers
def list_member_mfa_challenges_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.list_member_mfa_challenges ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_mfa_challenges"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_mfa_challenges"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}/challenges'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'ChallengesResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#list_member_mfa_challenges\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# List member statements
# Certain institutions in Atrium allow developers to access account statements associated with a particular `member`. Use this endpoint to get an array of available statements. Before this endpoint can be used, an aggregation of type `statement` should be performed on the relevant `member`.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [Integer] :page Specify current page.
# @option opts [Integer] :records_per_page Specify records per page.
# @return [Array<(StatementsResponseBody, Fixnum, Hash)>] StatementsResponseBody data, response status code and response headers
def list_member_statements_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.list_member_statements ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_statements"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_statements"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}/statements'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'StatementsResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#list_member_statements\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# List member transactions
# Use this endpoint to get all transactions from all accounts associated with a specific member.<br> This endpoint accepts optional URL query parameters — from_date and to_date — which are used to filter transactions according to the date they were posted. If no values are given for the query parameters, from_date will default to 90 days prior to the request and to_date will default to 5 days from the time of the request.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [String] :from_date Filter transactions from this date.
# @option opts [String] :to_date Filter transactions to this date.
# @option opts [Integer] :page Specify current page.
# @option opts [Integer] :records_per_page Specify records per page.
# @return [Array<(TransactionsResponseBody, Fixnum, Hash)>] TransactionsResponseBody data, response status code and response headers
def list_member_transactions_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.list_member_transactions ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_transactions"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_transactions"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}/transactions'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
query_params[:'from_date'] = opts[:'from_date'] if !opts[:'from_date'].nil?
query_params[:'to_date'] = opts[:'to_date'] if !opts[:'to_date'].nil?
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'TransactionsResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#list_member_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# List members
# This endpoint returns an array which contains information on every member associated with a specific user.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [Integer] :page Specify current page.
# @option opts [Integer] :records_per_page Specify records per page.
# @return [Array<(MembersResponseBody, Fixnum, Hash)>] MembersResponseBody data, response status code and response headers
def list_members_with_http_info(user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.list_members ...'
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_members"
end
# resource path
local_var_path = '/users/{user_guid}/members'.sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'MembersResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#list_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Read member
# Use this endpoint to read the attributes of a specific member.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
def read_member_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.read_member ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.read_member"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.read_member"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'MemberResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#read_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Read member connection status
# This endpoint provides the status of the member's most recent aggregation event. This is an important step in the aggregation process, and the results returned by this endpoint should determine what you do next in order to successfully aggregate a member.<br> MX has introduced new, more detailed information on the current status of a member's connection to a financial institution and the state of its aggregation: the connection_status field. These are intended to replace and expand upon the information provided in the status field, which will soon be deprecated; support for the status field remains for the time being.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @return [Array<(MemberConnectionStatusResponseBody, Fixnum, Hash)>] MemberConnectionStatusResponseBody data, response status code and response headers
def read_member_status_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.read_member_status ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.read_member_status"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.read_member_status"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}/status'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# form parameters
form_params = {}
# http body (model)
post_body = nil
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:GET, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'MemberConnectionStatusResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#read_member_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Resume aggregation from MFA
# This endpoint answers the challenges needed when a member has been challenged by multi-factor authentication.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param body Member object with MFA challenge answers
# @param [Hash] opts the optional parameters
# @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
def resume_member_with_http_info(member_guid, user_guid, body, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.resume_member ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.resume_member"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.resume_member"
end
# verify the required parameter 'body' is set
if @api_client.config.client_side_validation && body.nil?
fail ArgumentError, "Missing the required parameter 'body' when calling MembersApi.resume_member"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}/resume'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# HTTP header 'Content-Type'
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
# form parameters
form_params = {}
# http body (model)
post_body = @api_client.object_to_http_body(body)
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'MemberResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#resume_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
# Update member
# Use this endpoint to update a member's attributes. Only the credentials, identifier, and metadata parameters can be updated. To get a list of the required credentials for the member, use the list member credentials endpoint.
# @param member_guid The unique identifier for a `member`.
# @param user_guid The unique identifier for a `user`.
# @param [Hash] opts the optional parameters
# @option opts [MemberUpdateRequestBody] :body Member object to be updated with optional parameters (credentials, identifier, metadata)
# @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
def update_member_with_http_info(member_guid, user_guid, opts = {})
if @api_client.config.debugging
@api_client.config.logger.debug 'Calling API: MembersApi.update_member ...'
end
# verify the required parameter 'member_guid' is set
if @api_client.config.client_side_validation && member_guid.nil?
fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.update_member"
end
# verify the required parameter 'user_guid' is set
if @api_client.config.client_side_validation && user_guid.nil?
fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.update_member"
end
# resource path
local_var_path = '/users/{user_guid}/members/{member_guid}'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
# query parameters
query_params = {}
# header parameters
header_params = {}
# HTTP header 'Accept' (if needed)
header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
# HTTP header 'Content-Type'
header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
# form parameters
form_params = {}
# http body (model)
post_body = @api_client.object_to_http_body(opts[:'body'])
auth_names = ['apiKey', 'clientID']
data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
:header_params => header_params,
:query_params => query_params,
:form_params => form_params,
:body => post_body,
:auth_names => auth_names,
:return_type => 'MemberResponseBody')
if @api_client.config.debugging
@api_client.config.logger.debug "API called: MembersApi#update_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
end
return data, status_code, headers
end
end
end