atrium-ruby 1.3.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. checksums.yaml +5 -5
  2. data/Gemfile +5 -2
  3. data/README.md +132 -66
  4. data/Rakefile +7 -4
  5. data/atrium-ruby.gemspec +40 -32
  6. data/docs/Account.md +35 -0
  7. data/docs/AccountNumber.md +12 -0
  8. data/docs/AccountNumbersResponseBody.md +8 -0
  9. data/docs/AccountOwner.md +18 -0
  10. data/docs/AccountOwnersResponseBody.md +8 -0
  11. data/docs/AccountResponseBody.md +8 -0
  12. data/docs/AccountsApi.md +174 -0
  13. data/docs/AccountsResponseBody.md +9 -0
  14. data/docs/Challenge.md +13 -0
  15. data/docs/ChallengeOption.md +10 -0
  16. data/docs/ChallengesResponseBody.md +8 -0
  17. data/docs/ConnectWidget.md +9 -0
  18. data/docs/ConnectWidgetApi.md +44 -0
  19. data/docs/ConnectWidgetRequestBody.md +11 -0
  20. data/docs/ConnectWidgetResponseBody.md +8 -0
  21. data/docs/CredentialOption.md +9 -0
  22. data/docs/CredentialRequest.md +9 -0
  23. data/docs/CredentialResponse.md +12 -0
  24. data/docs/CredentialsResponseBody.md +8 -0
  25. data/docs/IdentityApi.md +82 -0
  26. data/docs/Institution.md +14 -0
  27. data/docs/InstitutionResponseBody.md +8 -0
  28. data/docs/InstitutionsApi.md +120 -0
  29. data/docs/InstitutionsResponseBody.md +9 -0
  30. data/docs/Member.md +18 -0
  31. data/docs/MemberConnectionStatus.md +16 -0
  32. data/docs/MemberConnectionStatusResponseBody.md +8 -0
  33. data/docs/MemberCreateRequest.md +11 -0
  34. data/docs/MemberCreateRequestBody.md +8 -0
  35. data/docs/MemberResponseBody.md +8 -0
  36. data/docs/MemberResumeRequest.md +8 -0
  37. data/docs/MemberResumeRequestBody.md +8 -0
  38. data/docs/MemberUpdateRequest.md +10 -0
  39. data/docs/MemberUpdateRequestBody.md +8 -0
  40. data/docs/MembersApi.md +487 -0
  41. data/docs/MembersResponseBody.md +9 -0
  42. data/docs/Pagination.md +11 -0
  43. data/docs/Transaction.md +38 -0
  44. data/docs/TransactionCleanseAndCategorizeRequest.md +11 -0
  45. data/docs/TransactionCleanseAndCategorizeResponse.md +20 -0
  46. data/docs/TransactionResponseBody.md +8 -0
  47. data/docs/TransactionsApi.md +126 -0
  48. data/docs/TransactionsCleanseAndCategorizeRequestBody.md +8 -0
  49. data/docs/TransactionsCleanseAndCategorizeResponseBody.md +8 -0
  50. data/docs/TransactionsResponseBody.md +9 -0
  51. data/docs/User.md +11 -0
  52. data/docs/UserCreateRequestBody.md +8 -0
  53. data/docs/UserResponseBody.md +8 -0
  54. data/docs/UserUpdateRequestBody.md +8 -0
  55. data/docs/UsersApi.md +193 -0
  56. data/docs/UsersResponseBody.md +9 -0
  57. data/docs/VerificationApi.md +120 -0
  58. data/git_push.sh +49 -0
  59. data/lib/atrium-ruby.rb +88 -0
  60. data/lib/atrium-ruby/api/accounts_api.rb +272 -0
  61. data/lib/atrium-ruby/api/atrium_client.rb +28 -0
  62. data/lib/atrium-ruby/api/connect_widget_api.rb +82 -0
  63. data/lib/atrium-ruby/api/identity_api.rb +140 -0
  64. data/lib/atrium-ruby/api/institutions_api.rb +181 -0
  65. data/lib/atrium-ruby/api/members_api.rb +749 -0
  66. data/lib/atrium-ruby/api/transactions_api.rb +198 -0
  67. data/lib/atrium-ruby/api/users_api.rb +287 -0
  68. data/lib/atrium-ruby/api/verification_api.rb +198 -0
  69. data/lib/atrium-ruby/api_client.rb +384 -0
  70. data/lib/atrium-ruby/api_error.rb +34 -0
  71. data/lib/atrium-ruby/configuration.rb +212 -0
  72. data/lib/atrium-ruby/models/account.rb +422 -0
  73. data/lib/atrium-ruby/models/account_number.rb +215 -0
  74. data/lib/atrium-ruby/models/account_numbers_response_body.rb +181 -0
  75. data/lib/atrium-ruby/models/account_owner.rb +269 -0
  76. data/lib/atrium-ruby/models/account_owners_response_body.rb +181 -0
  77. data/lib/atrium-ruby/models/account_response_body.rb +179 -0
  78. data/lib/atrium-ruby/models/accounts_response_body.rb +190 -0
  79. data/lib/atrium-ruby/models/challenge.rb +226 -0
  80. data/lib/atrium-ruby/models/challenge_option.rb +197 -0
  81. data/lib/atrium-ruby/models/challenges_response_body.rb +181 -0
  82. data/lib/atrium-ruby/models/connect_widget.rb +188 -0
  83. data/lib/atrium-ruby/models/connect_widget_request_body.rb +206 -0
  84. data/lib/atrium-ruby/models/connect_widget_response_body.rb +179 -0
  85. data/lib/atrium-ruby/models/credential_option.rb +188 -0
  86. data/lib/atrium-ruby/models/credential_request.rb +188 -0
  87. data/lib/atrium-ruby/models/credential_response.rb +217 -0
  88. data/lib/atrium-ruby/models/credentials_response_body.rb +181 -0
  89. data/lib/atrium-ruby/models/institution.rb +233 -0
  90. data/lib/atrium-ruby/models/institution_response_body.rb +179 -0
  91. data/lib/atrium-ruby/models/institutions_response_body.rb +190 -0
  92. data/lib/atrium-ruby/models/member.rb +269 -0
  93. data/lib/atrium-ruby/models/member_connection_status.rb +253 -0
  94. data/lib/atrium-ruby/models/member_connection_status_response_body.rb +179 -0
  95. data/lib/atrium-ruby/models/member_create_request.rb +218 -0
  96. data/lib/atrium-ruby/models/member_create_request_body.rb +179 -0
  97. data/lib/atrium-ruby/models/member_response_body.rb +179 -0
  98. data/lib/atrium-ruby/models/member_resume_request.rb +181 -0
  99. data/lib/atrium-ruby/models/member_resume_request_body.rb +179 -0
  100. data/lib/atrium-ruby/models/member_update_request.rb +199 -0
  101. data/lib/atrium-ruby/models/member_update_request_body.rb +179 -0
  102. data/lib/atrium-ruby/models/members_response_body.rb +190 -0
  103. data/lib/atrium-ruby/models/pagination.rb +206 -0
  104. data/lib/atrium-ruby/models/transaction.rb +449 -0
  105. data/lib/atrium-ruby/models/transaction_cleanse_and_categorize_request.rb +206 -0
  106. data/lib/atrium-ruby/models/transaction_cleanse_and_categorize_response.rb +287 -0
  107. data/lib/atrium-ruby/models/transaction_response_body.rb +179 -0
  108. data/lib/atrium-ruby/models/transactions_cleanse_and_categorize_request_body.rb +181 -0
  109. data/lib/atrium-ruby/models/transactions_cleanse_and_categorize_response_body.rb +181 -0
  110. data/lib/atrium-ruby/models/transactions_response_body.rb +190 -0
  111. data/lib/atrium-ruby/models/user.rb +206 -0
  112. data/lib/atrium-ruby/models/user_create_request_body.rb +179 -0
  113. data/lib/atrium-ruby/models/user_response_body.rb +179 -0
  114. data/lib/atrium-ruby/models/user_update_request_body.rb +179 -0
  115. data/lib/atrium-ruby/models/users_response_body.rb +190 -0
  116. data/lib/atrium-ruby/version.rb +11 -0
  117. data/spec/api/accounts_api_spec.rb +88 -0
  118. data/spec/api/connect_widget_api_spec.rb +43 -0
  119. data/spec/api/identity_api_spec.rb +56 -0
  120. data/spec/api/institutions_api_spec.rb +68 -0
  121. data/spec/api/members_api_spec.rb +195 -0
  122. data/spec/api/transactions_api_spec.rb +71 -0
  123. data/spec/api/users_api_spec.rb +92 -0
  124. data/spec/api/verification_api_spec.rb +69 -0
  125. data/spec/api_client_spec.rb +222 -0
  126. data/spec/configuration_spec.rb +38 -0
  127. data/spec/models/account_number_spec.rb +60 -0
  128. data/spec/models/account_numbers_response_body_spec.rb +36 -0
  129. data/spec/models/account_owner_spec.rb +96 -0
  130. data/spec/models/account_owners_response_body_spec.rb +36 -0
  131. data/spec/models/account_response_body_spec.rb +36 -0
  132. data/spec/models/account_spec.rb +198 -0
  133. data/spec/models/accounts_response_body_spec.rb +42 -0
  134. data/spec/models/challenge_option_spec.rb +48 -0
  135. data/spec/models/challenge_spec.rb +66 -0
  136. data/spec/models/challenges_response_body_spec.rb +36 -0
  137. data/spec/models/connect_widget_request_body_spec.rb +54 -0
  138. data/spec/models/connect_widget_response_body_spec.rb +36 -0
  139. data/spec/models/connect_widget_spec.rb +42 -0
  140. data/spec/models/credential_option_spec.rb +42 -0
  141. data/spec/models/credential_request_spec.rb +42 -0
  142. data/spec/models/credential_response_spec.rb +60 -0
  143. data/spec/models/credentials_response_body_spec.rb +36 -0
  144. data/spec/models/institution_response_body_spec.rb +36 -0
  145. data/spec/models/institution_spec.rb +72 -0
  146. data/spec/models/institutions_response_body_spec.rb +42 -0
  147. data/spec/models/member_connection_status_response_body_spec.rb +36 -0
  148. data/spec/models/member_connection_status_spec.rb +84 -0
  149. data/spec/models/member_create_request_body_spec.rb +36 -0
  150. data/spec/models/member_create_request_spec.rb +54 -0
  151. data/spec/models/member_response_body_spec.rb +36 -0
  152. data/spec/models/member_resume_request_body_spec.rb +36 -0
  153. data/spec/models/member_resume_request_spec.rb +36 -0
  154. data/spec/models/member_spec.rb +96 -0
  155. data/spec/models/member_update_request_body_spec.rb +36 -0
  156. data/spec/models/member_update_request_spec.rb +48 -0
  157. data/spec/models/members_response_body_spec.rb +42 -0
  158. data/spec/models/pagination_spec.rb +54 -0
  159. data/spec/models/transaction_cleanse_and_categorize_request_spec.rb +54 -0
  160. data/spec/models/transaction_cleanse_and_categorize_response_spec.rb +108 -0
  161. data/spec/models/transaction_response_body_spec.rb +36 -0
  162. data/spec/models/transaction_spec.rb +216 -0
  163. data/spec/models/transactions_cleanse_and_categorize_request_body_spec.rb +36 -0
  164. data/spec/models/transactions_cleanse_and_categorize_response_body_spec.rb +36 -0
  165. data/spec/models/transactions_response_body_spec.rb +42 -0
  166. data/spec/models/user_create_request_body_spec.rb +36 -0
  167. data/spec/models/user_response_body_spec.rb +36 -0
  168. data/spec/models/user_spec.rb +54 -0
  169. data/spec/models/user_update_request_body_spec.rb +36 -0
  170. data/spec/models/users_response_body_spec.rb +42 -0
  171. data/spec/spec_helper.rb +107 -0
  172. metadata +323 -91
  173. data/.gitignore +0 -10
  174. data/.rubocop.yml +0 -12
  175. data/.travis.yml +0 -12
  176. data/bin/console +0 -14
  177. data/bin/demo +0 -49
  178. data/bin/setup +0 -8
  179. data/examples/accounts_and_transactions.rb +0 -49
  180. data/examples/all_endpoints.rb +0 -226
  181. data/examples/example_workflow.rb +0 -176
  182. data/examples/multi_factor_authentication.rb +0 -57
  183. data/examples/update_credentials.rb +0 -58
  184. data/examples/user_and_member_creation.rb +0 -53
  185. data/lib/atrium.rb +0 -40
  186. data/lib/atrium/account.rb +0 -100
  187. data/lib/atrium/account_number.rb +0 -13
  188. data/lib/atrium/account_owner.rb +0 -19
  189. data/lib/atrium/challenge.rb +0 -13
  190. data/lib/atrium/client.rb +0 -51
  191. data/lib/atrium/connect.rb +0 -34
  192. data/lib/atrium/credential.rb +0 -11
  193. data/lib/atrium/error.rb +0 -4
  194. data/lib/atrium/institution.rb +0 -38
  195. data/lib/atrium/member.rb +0 -264
  196. data/lib/atrium/pageable.rb +0 -74
  197. data/lib/atrium/paginate.rb +0 -92
  198. data/lib/atrium/ruby.rb +0 -3
  199. data/lib/atrium/transaction.rb +0 -74
  200. data/lib/atrium/user.rb +0 -150
  201. data/lib/atrium/version.rb +0 -3
@@ -0,0 +1,28 @@
1
+ module Atrium
2
+ class AtriumClient
3
+ attr_accessor :accounts
4
+ attr_accessor :connectWidget
5
+ attr_accessor :identity
6
+ attr_accessor :institutions
7
+ attr_accessor :members
8
+ attr_accessor :transactions
9
+ attr_accessor :users
10
+ attr_accessor :verification
11
+
12
+ def initialize(api_key, client_id)
13
+ Atrium.configure do |config|
14
+ config.api_key['MX-API-Key'] = api_key
15
+ config.api_key['MX-Client-ID'] = client_id
16
+ end
17
+
18
+ @accounts = Atrium::AccountsApi.new()
19
+ @connectWidget = Atrium::ConnectWidgetApi.new()
20
+ @identity = Atrium::IdentityApi.new()
21
+ @institutions = Atrium::InstitutionsApi.new()
22
+ @members = Atrium::MembersApi.new()
23
+ @transactions = Atrium::TransactionsApi.new()
24
+ @users = Atrium::UsersApi.new()
25
+ @verification = Atrium::VerificationApi.new()
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,82 @@
1
+ =begin
2
+ #MX API
3
+
4
+ #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.
5
+
6
+
7
+ =end
8
+
9
+ require 'uri'
10
+
11
+ module Atrium
12
+ class ConnectWidgetApi
13
+ attr_accessor :api_client
14
+
15
+ def initialize(api_client = ApiClient.default)
16
+ @api_client = api_client
17
+ end
18
+ # Embedding in a website
19
+ # This endpoint will return a URL for an embeddable version of MX Connect.
20
+ # @param user_guid The unique identifier for a `user`.
21
+ # @param body Optional config options for WebView (is_mobile_webview, current_institution_code, current_member_guid, update_credentials)
22
+ # @param [Hash] opts the optional parameters
23
+ # @return [ConnectWidgetResponseBody]
24
+ def get_connect_widget(user_guid, body, opts = {})
25
+ data, _status_code, _headers = get_connect_widget_with_http_info(user_guid, body, opts)
26
+ data
27
+ end
28
+
29
+
30
+ private
31
+
32
+ # Embedding in a website
33
+ # This endpoint will return a URL for an embeddable version of MX Connect.
34
+ # @param user_guid The unique identifier for a `user`.
35
+ # @param body Optional config options for WebView (is_mobile_webview, current_institution_code, current_member_guid, update_credentials)
36
+ # @param [Hash] opts the optional parameters
37
+ # @return [Array<(ConnectWidgetResponseBody, Fixnum, Hash)>] ConnectWidgetResponseBody data, response status code and response headers
38
+ def get_connect_widget_with_http_info(user_guid, body, opts = {})
39
+ if @api_client.config.debugging
40
+ @api_client.config.logger.debug 'Calling API: ConnectWidgetApi.get_connect_widget ...'
41
+ end
42
+ # verify the required parameter 'user_guid' is set
43
+ if @api_client.config.client_side_validation && user_guid.nil?
44
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling ConnectWidgetApi.get_connect_widget"
45
+ end
46
+ # verify the required parameter 'body' is set
47
+ if @api_client.config.client_side_validation && body.nil?
48
+ fail ArgumentError, "Missing the required parameter 'body' when calling ConnectWidgetApi.get_connect_widget"
49
+ end
50
+ # resource path
51
+ local_var_path = '/users/{user_guid}/connect_widget_url'.sub('{' + 'user_guid' + '}', user_guid.to_s)
52
+
53
+ # query parameters
54
+ query_params = {}
55
+
56
+ # header parameters
57
+ header_params = {}
58
+ # HTTP header 'Accept' (if needed)
59
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
60
+ # HTTP header 'Content-Type'
61
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
62
+
63
+ # form parameters
64
+ form_params = {}
65
+
66
+ # http body (model)
67
+ post_body = @api_client.object_to_http_body(body)
68
+ auth_names = ['apiKey', 'clientID']
69
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
70
+ :header_params => header_params,
71
+ :query_params => query_params,
72
+ :form_params => form_params,
73
+ :body => post_body,
74
+ :auth_names => auth_names,
75
+ :return_type => 'ConnectWidgetResponseBody')
76
+ if @api_client.config.debugging
77
+ @api_client.config.logger.debug "API called: ConnectWidgetApi#get_connect_widget\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
78
+ end
79
+ return data, status_code, headers
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,140 @@
1
+ =begin
2
+ #MX API
3
+
4
+ #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.
5
+
6
+
7
+ =end
8
+
9
+ require 'uri'
10
+
11
+ module Atrium
12
+ class IdentityApi
13
+ attr_accessor :api_client
14
+
15
+ def initialize(api_client = ApiClient.default)
16
+ @api_client = api_client
17
+ end
18
+ # Identify
19
+ # The identify endpoint begins an identification process for an already-existing member.
20
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
21
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
22
+ # @param [Hash] opts the optional parameters
23
+ # @return [MemberResponseBody]
24
+ def identify_member(member_guid, user_guid, opts = {})
25
+ data, _status_code, _headers = identify_member_with_http_info(member_guid, user_guid, opts)
26
+ data
27
+ end
28
+
29
+ # List member account owners
30
+ # This endpoint returns an array with information about every account associated with a particular member.
31
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
32
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [AccountOwnersResponseBody]
35
+ def list_account_owners(member_guid, user_guid, opts = {})
36
+ data, _status_code, _headers = list_account_owners_with_http_info(member_guid, user_guid, opts)
37
+ data
38
+ end
39
+
40
+
41
+ private
42
+
43
+ # Identify
44
+ # The identify endpoint begins an identification process for an already-existing member.
45
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
46
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
47
+ # @param [Hash] opts the optional parameters
48
+ # @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
49
+ def identify_member_with_http_info(member_guid, user_guid, opts = {})
50
+ if @api_client.config.debugging
51
+ @api_client.config.logger.debug 'Calling API: IdentityApi.identify_member ...'
52
+ end
53
+ # verify the required parameter 'member_guid' is set
54
+ if @api_client.config.client_side_validation && member_guid.nil?
55
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling IdentityApi.identify_member"
56
+ end
57
+ # verify the required parameter 'user_guid' is set
58
+ if @api_client.config.client_side_validation && user_guid.nil?
59
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling IdentityApi.identify_member"
60
+ end
61
+ # resource path
62
+ local_var_path = '/users/{user_guid}/members/{member_guid}/identify'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
63
+
64
+ # query parameters
65
+ query_params = {}
66
+
67
+ # header parameters
68
+ header_params = {}
69
+ # HTTP header 'Accept' (if needed)
70
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
71
+ # HTTP header 'Content-Type'
72
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
73
+
74
+ # form parameters
75
+ form_params = {}
76
+
77
+ # http body (model)
78
+ post_body = nil
79
+ auth_names = ['apiKey', 'clientID']
80
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
81
+ :header_params => header_params,
82
+ :query_params => query_params,
83
+ :form_params => form_params,
84
+ :body => post_body,
85
+ :auth_names => auth_names,
86
+ :return_type => 'MemberResponseBody')
87
+ if @api_client.config.debugging
88
+ @api_client.config.logger.debug "API called: IdentityApi#identify_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
89
+ end
90
+ return data, status_code, headers
91
+ end
92
+ # List member account owners
93
+ # This endpoint returns an array with information about every account associated with a particular member.
94
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
95
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
96
+ # @param [Hash] opts the optional parameters
97
+ # @return [Array<(AccountOwnersResponseBody, Fixnum, Hash)>] AccountOwnersResponseBody data, response status code and response headers
98
+ def list_account_owners_with_http_info(member_guid, user_guid, opts = {})
99
+ if @api_client.config.debugging
100
+ @api_client.config.logger.debug 'Calling API: IdentityApi.list_account_owners ...'
101
+ end
102
+ # verify the required parameter 'member_guid' is set
103
+ if @api_client.config.client_side_validation && member_guid.nil?
104
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling IdentityApi.list_account_owners"
105
+ end
106
+ # verify the required parameter 'user_guid' is set
107
+ if @api_client.config.client_side_validation && user_guid.nil?
108
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling IdentityApi.list_account_owners"
109
+ end
110
+ # resource path
111
+ local_var_path = '/users/{user_guid}/members/{member_guid}/account_owners'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
112
+
113
+ # query parameters
114
+ query_params = {}
115
+
116
+ # header parameters
117
+ header_params = {}
118
+ # HTTP header 'Accept' (if needed)
119
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
120
+
121
+ # form parameters
122
+ form_params = {}
123
+
124
+ # http body (model)
125
+ post_body = nil
126
+ auth_names = ['apiKey', 'clientID']
127
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
128
+ :header_params => header_params,
129
+ :query_params => query_params,
130
+ :form_params => form_params,
131
+ :body => post_body,
132
+ :auth_names => auth_names,
133
+ :return_type => 'AccountOwnersResponseBody')
134
+ if @api_client.config.debugging
135
+ @api_client.config.logger.debug "API called: IdentityApi#list_account_owners\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
136
+ end
137
+ return data, status_code, headers
138
+ end
139
+ end
140
+ end
@@ -0,0 +1,181 @@
1
+ =begin
2
+ #MX API
3
+
4
+ #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.
5
+
6
+
7
+ =end
8
+
9
+ require 'uri'
10
+
11
+ module Atrium
12
+ class InstitutionsApi
13
+ attr_accessor :api_client
14
+
15
+ def initialize(api_client = ApiClient.default)
16
+ @api_client = api_client
17
+ end
18
+ # List institutions
19
+ # This endpoint allows you to see what institutions are available for connection. Information returned will include the institution_code assigned to a particular institution, URLs for the financial institution's logo, and the URL for its website.<br> This endpoint takes an optional query string, name={string}. This will list only institutions in which the appended string appears.
20
+ # @param [Hash] opts the optional parameters
21
+ # @option opts [String] :name This will list only institutions in which the appended string appears.
22
+ # @option opts [Integer] :page Specify current page.
23
+ # @option opts [Integer] :records_per_page Specify records per page.
24
+ # @return [InstitutionsResponseBody]
25
+ def list_institutions(opts = {})
26
+ data, _status_code, _headers = list_institutions_with_http_info(opts)
27
+ data
28
+ end
29
+
30
+ # Read institution
31
+ # This endpoint allows you to see information for a specific institution.
32
+ # @param institution_code The institution_code of the institution.
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [InstitutionResponseBody]
35
+ def read_institution(institution_code, opts = {})
36
+ data, _status_code, _headers = read_institution_with_http_info(institution_code, opts)
37
+ data
38
+ end
39
+
40
+ # Read institution credentials
41
+ # Use this endpoint to see which credentials will be needed to create a member for a specific institution.
42
+ # @param institution_code The institution_code of the institution.
43
+ # @param [Hash] opts the optional parameters
44
+ # @return [CredentialsResponseBody]
45
+ def read_institution_credentials(institution_code, opts = {})
46
+ data, _status_code, _headers = read_institution_credentials_with_http_info(institution_code, opts)
47
+ data
48
+ end
49
+
50
+
51
+ private
52
+
53
+ # List institutions
54
+ # This endpoint allows you to see what institutions are available for connection. Information returned will include the institution_code assigned to a particular institution, URLs for the financial institution&#39;s logo, and the URL for its website.&lt;br&gt; This endpoint takes an optional query string, name&#x3D;{string}. This will list only institutions in which the appended string appears.
55
+ # @param [Hash] opts the optional parameters
56
+ # @option opts [String] :name This will list only institutions in which the appended string appears.
57
+ # @option opts [Integer] :page Specify current page.
58
+ # @option opts [Integer] :records_per_page Specify records per page.
59
+ # @return [Array<(InstitutionsResponseBody, Fixnum, Hash)>] InstitutionsResponseBody data, response status code and response headers
60
+ def list_institutions_with_http_info(opts = {})
61
+ if @api_client.config.debugging
62
+ @api_client.config.logger.debug 'Calling API: InstitutionsApi.list_institutions ...'
63
+ end
64
+ # resource path
65
+ local_var_path = '/institutions'
66
+
67
+ # query parameters
68
+ query_params = {}
69
+ query_params[:'name'] = opts[:'name'] if !opts[:'name'].nil?
70
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
71
+ query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
72
+
73
+ # header parameters
74
+ header_params = {}
75
+ # HTTP header 'Accept' (if needed)
76
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
77
+
78
+ # form parameters
79
+ form_params = {}
80
+
81
+ # http body (model)
82
+ post_body = nil
83
+ auth_names = ['apiKey', 'clientID']
84
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
85
+ :header_params => header_params,
86
+ :query_params => query_params,
87
+ :form_params => form_params,
88
+ :body => post_body,
89
+ :auth_names => auth_names,
90
+ :return_type => 'InstitutionsResponseBody')
91
+ if @api_client.config.debugging
92
+ @api_client.config.logger.debug "API called: InstitutionsApi#list_institutions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
93
+ end
94
+ return data, status_code, headers
95
+ end
96
+ # Read institution
97
+ # This endpoint allows you to see information for a specific institution.
98
+ # @param institution_code The institution_code of the institution.
99
+ # @param [Hash] opts the optional parameters
100
+ # @return [Array<(InstitutionResponseBody, Fixnum, Hash)>] InstitutionResponseBody data, response status code and response headers
101
+ def read_institution_with_http_info(institution_code, opts = {})
102
+ if @api_client.config.debugging
103
+ @api_client.config.logger.debug 'Calling API: InstitutionsApi.read_institution ...'
104
+ end
105
+ # verify the required parameter 'institution_code' is set
106
+ if @api_client.config.client_side_validation && institution_code.nil?
107
+ fail ArgumentError, "Missing the required parameter 'institution_code' when calling InstitutionsApi.read_institution"
108
+ end
109
+ # resource path
110
+ local_var_path = '/institutions/{institution_code}'.sub('{' + 'institution_code' + '}', institution_code.to_s)
111
+
112
+ # query parameters
113
+ query_params = {}
114
+
115
+ # header parameters
116
+ header_params = {}
117
+ # HTTP header 'Accept' (if needed)
118
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
119
+
120
+ # form parameters
121
+ form_params = {}
122
+
123
+ # http body (model)
124
+ post_body = nil
125
+ auth_names = ['apiKey', 'clientID']
126
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
127
+ :header_params => header_params,
128
+ :query_params => query_params,
129
+ :form_params => form_params,
130
+ :body => post_body,
131
+ :auth_names => auth_names,
132
+ :return_type => 'InstitutionResponseBody')
133
+ if @api_client.config.debugging
134
+ @api_client.config.logger.debug "API called: InstitutionsApi#read_institution\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
135
+ end
136
+ return data, status_code, headers
137
+ end
138
+ # Read institution credentials
139
+ # Use this endpoint to see which credentials will be needed to create a member for a specific institution.
140
+ # @param institution_code The institution_code of the institution.
141
+ # @param [Hash] opts the optional parameters
142
+ # @return [Array<(CredentialsResponseBody, Fixnum, Hash)>] CredentialsResponseBody data, response status code and response headers
143
+ def read_institution_credentials_with_http_info(institution_code, opts = {})
144
+ if @api_client.config.debugging
145
+ @api_client.config.logger.debug 'Calling API: InstitutionsApi.read_institution_credentials ...'
146
+ end
147
+ # verify the required parameter 'institution_code' is set
148
+ if @api_client.config.client_side_validation && institution_code.nil?
149
+ fail ArgumentError, "Missing the required parameter 'institution_code' when calling InstitutionsApi.read_institution_credentials"
150
+ end
151
+ # resource path
152
+ local_var_path = '/institutions/{institution_code}/credentials'.sub('{' + 'institution_code' + '}', institution_code.to_s)
153
+
154
+ # query parameters
155
+ query_params = {}
156
+
157
+ # header parameters
158
+ header_params = {}
159
+ # HTTP header 'Accept' (if needed)
160
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
161
+
162
+ # form parameters
163
+ form_params = {}
164
+
165
+ # http body (model)
166
+ post_body = nil
167
+ auth_names = ['apiKey', 'clientID']
168
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
169
+ :header_params => header_params,
170
+ :query_params => query_params,
171
+ :form_params => form_params,
172
+ :body => post_body,
173
+ :auth_names => auth_names,
174
+ :return_type => 'CredentialsResponseBody')
175
+ if @api_client.config.debugging
176
+ @api_client.config.logger.debug "API called: InstitutionsApi#read_institution_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
177
+ end
178
+ return data, status_code, headers
179
+ end
180
+ end
181
+ end
@@ -0,0 +1,749 @@
1
+ =begin
2
+ #MX API
3
+
4
+ #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.
5
+
6
+
7
+ =end
8
+
9
+ require 'uri'
10
+
11
+ module Atrium
12
+ class MembersApi
13
+ attr_accessor :api_client
14
+
15
+ def initialize(api_client = ApiClient.default)
16
+ @api_client = api_client
17
+ end
18
+ # Aggregate member
19
+ # 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.
20
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
21
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
22
+ # @param [Hash] opts the optional parameters
23
+ # @return [MemberResponseBody]
24
+ def aggregate_member(member_guid, user_guid, opts = {})
25
+ data, _status_code, _headers = aggregate_member_with_http_info(member_guid, user_guid, opts)
26
+ data
27
+ end
28
+
29
+ # Create member
30
+ # 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.
31
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
32
+ # @param body Member object to be created with optional parameters (identifier and metadata) and required parameters (credentials and institution_code)
33
+ # @param [Hash] opts the optional parameters
34
+ # @return [MemberResponseBody]
35
+ def create_member(user_guid, body, opts = {})
36
+ data, _status_code, _headers = create_member_with_http_info(user_guid, body, opts)
37
+ data
38
+ end
39
+
40
+ # Delete member
41
+ # Accessing this endpoint will permanently delete a member.
42
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
43
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
44
+ # @param [Hash] opts the optional parameters
45
+ # @return [nil]
46
+ def delete_member(member_guid, user_guid, opts = {})
47
+ delete_member_with_http_info(member_guid, user_guid, opts)
48
+ nil
49
+ end
50
+
51
+ # List member accounts
52
+ # This endpoint returns an array with information about every account associated with a particular member.
53
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
54
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
55
+ # @param [Hash] opts the optional parameters
56
+ # @option opts [Integer] :page Specify current page.
57
+ # @option opts [Integer] :records_per_page Specify records per page.
58
+ # @return [AccountsResponseBody]
59
+ def list_member_accounts(member_guid, user_guid, opts = {})
60
+ data, _status_code, _headers = list_member_accounts_with_http_info(member_guid, user_guid, opts)
61
+ data
62
+ end
63
+
64
+ # List member credentials
65
+ # This endpoint returns an array which contains information on every non-MFA credential associated with a specific member.
66
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
67
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
68
+ # @param [Hash] opts the optional parameters
69
+ # @return [CredentialsResponseBody]
70
+ def list_member_credentials(member_guid, user_guid, opts = {})
71
+ data, _status_code, _headers = list_member_credentials_with_http_info(member_guid, user_guid, opts)
72
+ data
73
+ end
74
+
75
+ # List member MFA challenges
76
+ # 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.
77
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
78
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
79
+ # @param [Hash] opts the optional parameters
80
+ # @return [ChallengesResponseBody]
81
+ def list_member_mfa_challenges(member_guid, user_guid, opts = {})
82
+ data, _status_code, _headers = list_member_mfa_challenges_with_http_info(member_guid, user_guid, opts)
83
+ data
84
+ end
85
+
86
+ # List member transactions
87
+ # 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.
88
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
89
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
90
+ # @param [Hash] opts the optional parameters
91
+ # @option opts [String] :from_date Filter transactions from this date.
92
+ # @option opts [String] :to_date Filter transactions to this date.
93
+ # @option opts [Integer] :page Specify current page.
94
+ # @option opts [Integer] :records_per_page Specify records per page.
95
+ # @return [TransactionsResponseBody]
96
+ def list_member_transactions(member_guid, user_guid, opts = {})
97
+ data, _status_code, _headers = list_member_transactions_with_http_info(member_guid, user_guid, opts)
98
+ data
99
+ end
100
+
101
+ # List members
102
+ # This endpoint returns an array which contains information on every member associated with a specific user.
103
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
104
+ # @param [Hash] opts the optional parameters
105
+ # @option opts [Integer] :page Specify current page.
106
+ # @option opts [Integer] :records_per_page Specify records per page.
107
+ # @return [MembersResponseBody]
108
+ def list_members(user_guid, opts = {})
109
+ data, _status_code, _headers = list_members_with_http_info(user_guid, opts)
110
+ data
111
+ end
112
+
113
+ # Read member
114
+ # Use this endpoint to read the attributes of a specific member.
115
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
116
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
117
+ # @param [Hash] opts the optional parameters
118
+ # @return [MemberResponseBody]
119
+ def read_member(member_guid, user_guid, opts = {})
120
+ data, _status_code, _headers = read_member_with_http_info(member_guid, user_guid, opts)
121
+ data
122
+ end
123
+
124
+ # Read member connection status
125
+ # 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.
126
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
127
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
128
+ # @param [Hash] opts the optional parameters
129
+ # @return [MemberConnectionStatusResponseBody]
130
+ def read_member_status(member_guid, user_guid, opts = {})
131
+ data, _status_code, _headers = read_member_status_with_http_info(member_guid, user_guid, opts)
132
+ data
133
+ end
134
+
135
+ # Resume aggregation from MFA
136
+ # This endpoint answers the challenges needed when a member has been challenged by multi-factor authentication.
137
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
138
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
139
+ # @param body Member object with MFA challenge answers
140
+ # @param [Hash] opts the optional parameters
141
+ # @return [MemberResponseBody]
142
+ def resume_member(member_guid, user_guid, body, opts = {})
143
+ data, _status_code, _headers = resume_member_with_http_info(member_guid, user_guid, body, opts)
144
+ data
145
+ end
146
+
147
+ # Update member
148
+ # 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.
149
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
150
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
151
+ # @param [Hash] opts the optional parameters
152
+ # @option opts [MemberUpdateRequestBody] :body Member object to be updated with optional parameters (credentials, identifier, metadata)
153
+ # @return [MemberResponseBody]
154
+ def update_member(member_guid, user_guid, opts = {})
155
+ data, _status_code, _headers = update_member_with_http_info(member_guid, user_guid, opts)
156
+ data
157
+ end
158
+
159
+
160
+ private
161
+
162
+ # Aggregate member
163
+ # 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.
164
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
165
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
166
+ # @param [Hash] opts the optional parameters
167
+ # @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
168
+ def aggregate_member_with_http_info(member_guid, user_guid, opts = {})
169
+ if @api_client.config.debugging
170
+ @api_client.config.logger.debug 'Calling API: MembersApi.aggregate_member ...'
171
+ end
172
+ # verify the required parameter 'member_guid' is set
173
+ if @api_client.config.client_side_validation && member_guid.nil?
174
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.aggregate_member"
175
+ end
176
+ # verify the required parameter 'user_guid' is set
177
+ if @api_client.config.client_side_validation && user_guid.nil?
178
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.aggregate_member"
179
+ end
180
+ # resource path
181
+ local_var_path = '/users/{user_guid}/members/{member_guid}/aggregate'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
182
+
183
+ # query parameters
184
+ query_params = {}
185
+
186
+ # header parameters
187
+ header_params = {}
188
+ # HTTP header 'Accept' (if needed)
189
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
190
+
191
+ # form parameters
192
+ form_params = {}
193
+
194
+ # http body (model)
195
+ post_body = nil
196
+ auth_names = ['apiKey', 'clientID']
197
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
198
+ :header_params => header_params,
199
+ :query_params => query_params,
200
+ :form_params => form_params,
201
+ :body => post_body,
202
+ :auth_names => auth_names,
203
+ :return_type => 'MemberResponseBody')
204
+ if @api_client.config.debugging
205
+ @api_client.config.logger.debug "API called: MembersApi#aggregate_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
206
+ end
207
+ return data, status_code, headers
208
+ end
209
+ # Create member
210
+ # 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.&lt;br&gt; When creating a member, you&#39;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.&lt;br&gt; If successful, Atrium will respond with the newly-created member object.&lt;br&gt; Once you successfully create a member, MX will immediately validate the provided credentials and attempt to aggregate data for accounts and transactions.
211
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
212
+ # @param body Member object to be created with optional parameters (identifier and metadata) and required parameters (credentials and institution_code)
213
+ # @param [Hash] opts the optional parameters
214
+ # @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
215
+ def create_member_with_http_info(user_guid, body, opts = {})
216
+ if @api_client.config.debugging
217
+ @api_client.config.logger.debug 'Calling API: MembersApi.create_member ...'
218
+ end
219
+ # verify the required parameter 'user_guid' is set
220
+ if @api_client.config.client_side_validation && user_guid.nil?
221
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.create_member"
222
+ end
223
+ # verify the required parameter 'body' is set
224
+ if @api_client.config.client_side_validation && body.nil?
225
+ fail ArgumentError, "Missing the required parameter 'body' when calling MembersApi.create_member"
226
+ end
227
+ # resource path
228
+ local_var_path = '/users/{user_guid}/members'.sub('{' + 'user_guid' + '}', user_guid.to_s)
229
+
230
+ # query parameters
231
+ query_params = {}
232
+
233
+ # header parameters
234
+ header_params = {}
235
+ # HTTP header 'Accept' (if needed)
236
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
237
+ # HTTP header 'Content-Type'
238
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
239
+
240
+ # form parameters
241
+ form_params = {}
242
+
243
+ # http body (model)
244
+ post_body = @api_client.object_to_http_body(body)
245
+ auth_names = ['apiKey', 'clientID']
246
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
247
+ :header_params => header_params,
248
+ :query_params => query_params,
249
+ :form_params => form_params,
250
+ :body => post_body,
251
+ :auth_names => auth_names,
252
+ :return_type => 'MemberResponseBody')
253
+ if @api_client.config.debugging
254
+ @api_client.config.logger.debug "API called: MembersApi#create_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
255
+ end
256
+ return data, status_code, headers
257
+ end
258
+ # Delete member
259
+ # Accessing this endpoint will permanently delete a member.
260
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
261
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
262
+ # @param [Hash] opts the optional parameters
263
+ # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
264
+ def delete_member_with_http_info(member_guid, user_guid, opts = {})
265
+ if @api_client.config.debugging
266
+ @api_client.config.logger.debug 'Calling API: MembersApi.delete_member ...'
267
+ end
268
+ # verify the required parameter 'member_guid' is set
269
+ if @api_client.config.client_side_validation && member_guid.nil?
270
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.delete_member"
271
+ end
272
+ # verify the required parameter 'user_guid' is set
273
+ if @api_client.config.client_side_validation && user_guid.nil?
274
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.delete_member"
275
+ end
276
+ # resource path
277
+ local_var_path = '/users/{user_guid}/members/{member_guid}'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
278
+
279
+ # query parameters
280
+ query_params = {}
281
+
282
+ # header parameters
283
+ header_params = {}
284
+ # HTTP header 'Accept' (if needed)
285
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
286
+
287
+ # form parameters
288
+ form_params = {}
289
+
290
+ # http body (model)
291
+ post_body = nil
292
+ auth_names = ['apiKey', 'clientID']
293
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
294
+ :header_params => header_params,
295
+ :query_params => query_params,
296
+ :form_params => form_params,
297
+ :body => post_body,
298
+ :auth_names => auth_names)
299
+ if @api_client.config.debugging
300
+ @api_client.config.logger.debug "API called: MembersApi#delete_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
301
+ end
302
+ return data, status_code, headers
303
+ end
304
+ # List member accounts
305
+ # This endpoint returns an array with information about every account associated with a particular member.
306
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
307
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
308
+ # @param [Hash] opts the optional parameters
309
+ # @option opts [Integer] :page Specify current page.
310
+ # @option opts [Integer] :records_per_page Specify records per page.
311
+ # @return [Array<(AccountsResponseBody, Fixnum, Hash)>] AccountsResponseBody data, response status code and response headers
312
+ def list_member_accounts_with_http_info(member_guid, user_guid, opts = {})
313
+ if @api_client.config.debugging
314
+ @api_client.config.logger.debug 'Calling API: MembersApi.list_member_accounts ...'
315
+ end
316
+ # verify the required parameter 'member_guid' is set
317
+ if @api_client.config.client_side_validation && member_guid.nil?
318
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_accounts"
319
+ end
320
+ # verify the required parameter 'user_guid' is set
321
+ if @api_client.config.client_side_validation && user_guid.nil?
322
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_accounts"
323
+ end
324
+ # resource path
325
+ local_var_path = '/users/{user_guid}/members/{member_guid}/accounts'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
326
+
327
+ # query parameters
328
+ query_params = {}
329
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
330
+ query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
331
+
332
+ # header parameters
333
+ header_params = {}
334
+ # HTTP header 'Accept' (if needed)
335
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
336
+
337
+ # form parameters
338
+ form_params = {}
339
+
340
+ # http body (model)
341
+ post_body = nil
342
+ auth_names = ['apiKey', 'clientID']
343
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
344
+ :header_params => header_params,
345
+ :query_params => query_params,
346
+ :form_params => form_params,
347
+ :body => post_body,
348
+ :auth_names => auth_names,
349
+ :return_type => 'AccountsResponseBody')
350
+ if @api_client.config.debugging
351
+ @api_client.config.logger.debug "API called: MembersApi#list_member_accounts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
352
+ end
353
+ return data, status_code, headers
354
+ end
355
+ # List member credentials
356
+ # This endpoint returns an array which contains information on every non-MFA credential associated with a specific member.
357
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
358
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
359
+ # @param [Hash] opts the optional parameters
360
+ # @return [Array<(CredentialsResponseBody, Fixnum, Hash)>] CredentialsResponseBody data, response status code and response headers
361
+ def list_member_credentials_with_http_info(member_guid, user_guid, opts = {})
362
+ if @api_client.config.debugging
363
+ @api_client.config.logger.debug 'Calling API: MembersApi.list_member_credentials ...'
364
+ end
365
+ # verify the required parameter 'member_guid' is set
366
+ if @api_client.config.client_side_validation && member_guid.nil?
367
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_credentials"
368
+ end
369
+ # verify the required parameter 'user_guid' is set
370
+ if @api_client.config.client_side_validation && user_guid.nil?
371
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_credentials"
372
+ end
373
+ # resource path
374
+ local_var_path = '/users/{user_guid}/members/{member_guid}/credentials'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
375
+
376
+ # query parameters
377
+ query_params = {}
378
+
379
+ # header parameters
380
+ header_params = {}
381
+ # HTTP header 'Accept' (if needed)
382
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
383
+
384
+ # form parameters
385
+ form_params = {}
386
+
387
+ # http body (model)
388
+ post_body = nil
389
+ auth_names = ['apiKey', 'clientID']
390
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
391
+ :header_params => header_params,
392
+ :query_params => query_params,
393
+ :form_params => form_params,
394
+ :body => post_body,
395
+ :auth_names => auth_names,
396
+ :return_type => 'CredentialsResponseBody')
397
+ if @api_client.config.debugging
398
+ @api_client.config.logger.debug "API called: MembersApi#list_member_credentials\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
399
+ end
400
+ return data, status_code, headers
401
+ end
402
+ # List member MFA challenges
403
+ # Use this endpoint for information on what multi-factor authentication challenges need to be answered in order to aggregate a member.&lt;br&gt; 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.&lt;br&gt; 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.
404
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
405
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
406
+ # @param [Hash] opts the optional parameters
407
+ # @return [Array<(ChallengesResponseBody, Fixnum, Hash)>] ChallengesResponseBody data, response status code and response headers
408
+ def list_member_mfa_challenges_with_http_info(member_guid, user_guid, opts = {})
409
+ if @api_client.config.debugging
410
+ @api_client.config.logger.debug 'Calling API: MembersApi.list_member_mfa_challenges ...'
411
+ end
412
+ # verify the required parameter 'member_guid' is set
413
+ if @api_client.config.client_side_validation && member_guid.nil?
414
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_mfa_challenges"
415
+ end
416
+ # verify the required parameter 'user_guid' is set
417
+ if @api_client.config.client_side_validation && user_guid.nil?
418
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_mfa_challenges"
419
+ end
420
+ # resource path
421
+ local_var_path = '/users/{user_guid}/members/{member_guid}/challenges'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
422
+
423
+ # query parameters
424
+ query_params = {}
425
+
426
+ # header parameters
427
+ header_params = {}
428
+ # HTTP header 'Accept' (if needed)
429
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
430
+
431
+ # form parameters
432
+ form_params = {}
433
+
434
+ # http body (model)
435
+ post_body = nil
436
+ auth_names = ['apiKey', 'clientID']
437
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
438
+ :header_params => header_params,
439
+ :query_params => query_params,
440
+ :form_params => form_params,
441
+ :body => post_body,
442
+ :auth_names => auth_names,
443
+ :return_type => 'ChallengesResponseBody')
444
+ if @api_client.config.debugging
445
+ @api_client.config.logger.debug "API called: MembersApi#list_member_mfa_challenges\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
446
+ end
447
+ return data, status_code, headers
448
+ end
449
+ # List member transactions
450
+ # Use this endpoint to get all transactions from all accounts associated with a specific member.&lt;br&gt; 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.
451
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
452
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
453
+ # @param [Hash] opts the optional parameters
454
+ # @option opts [String] :from_date Filter transactions from this date.
455
+ # @option opts [String] :to_date Filter transactions to this date.
456
+ # @option opts [Integer] :page Specify current page.
457
+ # @option opts [Integer] :records_per_page Specify records per page.
458
+ # @return [Array<(TransactionsResponseBody, Fixnum, Hash)>] TransactionsResponseBody data, response status code and response headers
459
+ def list_member_transactions_with_http_info(member_guid, user_guid, opts = {})
460
+ if @api_client.config.debugging
461
+ @api_client.config.logger.debug 'Calling API: MembersApi.list_member_transactions ...'
462
+ end
463
+ # verify the required parameter 'member_guid' is set
464
+ if @api_client.config.client_side_validation && member_guid.nil?
465
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.list_member_transactions"
466
+ end
467
+ # verify the required parameter 'user_guid' is set
468
+ if @api_client.config.client_side_validation && user_guid.nil?
469
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_member_transactions"
470
+ end
471
+ # resource path
472
+ local_var_path = '/users/{user_guid}/members/{member_guid}/transactions'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
473
+
474
+ # query parameters
475
+ query_params = {}
476
+ query_params[:'from_date'] = opts[:'from_date'] if !opts[:'from_date'].nil?
477
+ query_params[:'to_date'] = opts[:'to_date'] if !opts[:'to_date'].nil?
478
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
479
+ query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
480
+
481
+ # header parameters
482
+ header_params = {}
483
+ # HTTP header 'Accept' (if needed)
484
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
485
+
486
+ # form parameters
487
+ form_params = {}
488
+
489
+ # http body (model)
490
+ post_body = nil
491
+ auth_names = ['apiKey', 'clientID']
492
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
493
+ :header_params => header_params,
494
+ :query_params => query_params,
495
+ :form_params => form_params,
496
+ :body => post_body,
497
+ :auth_names => auth_names,
498
+ :return_type => 'TransactionsResponseBody')
499
+ if @api_client.config.debugging
500
+ @api_client.config.logger.debug "API called: MembersApi#list_member_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
501
+ end
502
+ return data, status_code, headers
503
+ end
504
+ # List members
505
+ # This endpoint returns an array which contains information on every member associated with a specific user.
506
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
507
+ # @param [Hash] opts the optional parameters
508
+ # @option opts [Integer] :page Specify current page.
509
+ # @option opts [Integer] :records_per_page Specify records per page.
510
+ # @return [Array<(MembersResponseBody, Fixnum, Hash)>] MembersResponseBody data, response status code and response headers
511
+ def list_members_with_http_info(user_guid, opts = {})
512
+ if @api_client.config.debugging
513
+ @api_client.config.logger.debug 'Calling API: MembersApi.list_members ...'
514
+ end
515
+ # verify the required parameter 'user_guid' is set
516
+ if @api_client.config.client_side_validation && user_guid.nil?
517
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.list_members"
518
+ end
519
+ # resource path
520
+ local_var_path = '/users/{user_guid}/members'.sub('{' + 'user_guid' + '}', user_guid.to_s)
521
+
522
+ # query parameters
523
+ query_params = {}
524
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
525
+ query_params[:'records_per_page'] = opts[:'records_per_page'] if !opts[:'records_per_page'].nil?
526
+
527
+ # header parameters
528
+ header_params = {}
529
+ # HTTP header 'Accept' (if needed)
530
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
531
+
532
+ # form parameters
533
+ form_params = {}
534
+
535
+ # http body (model)
536
+ post_body = nil
537
+ auth_names = ['apiKey', 'clientID']
538
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
539
+ :header_params => header_params,
540
+ :query_params => query_params,
541
+ :form_params => form_params,
542
+ :body => post_body,
543
+ :auth_names => auth_names,
544
+ :return_type => 'MembersResponseBody')
545
+ if @api_client.config.debugging
546
+ @api_client.config.logger.debug "API called: MembersApi#list_members\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
547
+ end
548
+ return data, status_code, headers
549
+ end
550
+ # Read member
551
+ # Use this endpoint to read the attributes of a specific member.
552
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
553
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
554
+ # @param [Hash] opts the optional parameters
555
+ # @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
556
+ def read_member_with_http_info(member_guid, user_guid, opts = {})
557
+ if @api_client.config.debugging
558
+ @api_client.config.logger.debug 'Calling API: MembersApi.read_member ...'
559
+ end
560
+ # verify the required parameter 'member_guid' is set
561
+ if @api_client.config.client_side_validation && member_guid.nil?
562
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.read_member"
563
+ end
564
+ # verify the required parameter 'user_guid' is set
565
+ if @api_client.config.client_side_validation && user_guid.nil?
566
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.read_member"
567
+ end
568
+ # resource path
569
+ local_var_path = '/users/{user_guid}/members/{member_guid}'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
570
+
571
+ # query parameters
572
+ query_params = {}
573
+
574
+ # header parameters
575
+ header_params = {}
576
+ # HTTP header 'Accept' (if needed)
577
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
578
+
579
+ # form parameters
580
+ form_params = {}
581
+
582
+ # http body (model)
583
+ post_body = nil
584
+ auth_names = ['apiKey', 'clientID']
585
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
586
+ :header_params => header_params,
587
+ :query_params => query_params,
588
+ :form_params => form_params,
589
+ :body => post_body,
590
+ :auth_names => auth_names,
591
+ :return_type => 'MemberResponseBody')
592
+ if @api_client.config.debugging
593
+ @api_client.config.logger.debug "API called: MembersApi#read_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
594
+ end
595
+ return data, status_code, headers
596
+ end
597
+ # Read member connection status
598
+ # This endpoint provides the status of the member&#39;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.&lt;br&gt; MX has introduced new, more detailed information on the current status of a member&#39;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.
599
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
600
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
601
+ # @param [Hash] opts the optional parameters
602
+ # @return [Array<(MemberConnectionStatusResponseBody, Fixnum, Hash)>] MemberConnectionStatusResponseBody data, response status code and response headers
603
+ def read_member_status_with_http_info(member_guid, user_guid, opts = {})
604
+ if @api_client.config.debugging
605
+ @api_client.config.logger.debug 'Calling API: MembersApi.read_member_status ...'
606
+ end
607
+ # verify the required parameter 'member_guid' is set
608
+ if @api_client.config.client_side_validation && member_guid.nil?
609
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.read_member_status"
610
+ end
611
+ # verify the required parameter 'user_guid' is set
612
+ if @api_client.config.client_side_validation && user_guid.nil?
613
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.read_member_status"
614
+ end
615
+ # resource path
616
+ local_var_path = '/users/{user_guid}/members/{member_guid}/status'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
617
+
618
+ # query parameters
619
+ query_params = {}
620
+
621
+ # header parameters
622
+ header_params = {}
623
+ # HTTP header 'Accept' (if needed)
624
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
625
+
626
+ # form parameters
627
+ form_params = {}
628
+
629
+ # http body (model)
630
+ post_body = nil
631
+ auth_names = ['apiKey', 'clientID']
632
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
633
+ :header_params => header_params,
634
+ :query_params => query_params,
635
+ :form_params => form_params,
636
+ :body => post_body,
637
+ :auth_names => auth_names,
638
+ :return_type => 'MemberConnectionStatusResponseBody')
639
+ if @api_client.config.debugging
640
+ @api_client.config.logger.debug "API called: MembersApi#read_member_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
641
+ end
642
+ return data, status_code, headers
643
+ end
644
+ # Resume aggregation from MFA
645
+ # This endpoint answers the challenges needed when a member has been challenged by multi-factor authentication.
646
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
647
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
648
+ # @param body Member object with MFA challenge answers
649
+ # @param [Hash] opts the optional parameters
650
+ # @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
651
+ def resume_member_with_http_info(member_guid, user_guid, body, opts = {})
652
+ if @api_client.config.debugging
653
+ @api_client.config.logger.debug 'Calling API: MembersApi.resume_member ...'
654
+ end
655
+ # verify the required parameter 'member_guid' is set
656
+ if @api_client.config.client_side_validation && member_guid.nil?
657
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.resume_member"
658
+ end
659
+ # verify the required parameter 'user_guid' is set
660
+ if @api_client.config.client_side_validation && user_guid.nil?
661
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.resume_member"
662
+ end
663
+ # verify the required parameter 'body' is set
664
+ if @api_client.config.client_side_validation && body.nil?
665
+ fail ArgumentError, "Missing the required parameter 'body' when calling MembersApi.resume_member"
666
+ end
667
+ # resource path
668
+ local_var_path = '/users/{user_guid}/members/{member_guid}/resume'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
669
+
670
+ # query parameters
671
+ query_params = {}
672
+
673
+ # header parameters
674
+ header_params = {}
675
+ # HTTP header 'Accept' (if needed)
676
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
677
+ # HTTP header 'Content-Type'
678
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
679
+
680
+ # form parameters
681
+ form_params = {}
682
+
683
+ # http body (model)
684
+ post_body = @api_client.object_to_http_body(body)
685
+ auth_names = ['apiKey', 'clientID']
686
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
687
+ :header_params => header_params,
688
+ :query_params => query_params,
689
+ :form_params => form_params,
690
+ :body => post_body,
691
+ :auth_names => auth_names,
692
+ :return_type => 'MemberResponseBody')
693
+ if @api_client.config.debugging
694
+ @api_client.config.logger.debug "API called: MembersApi#resume_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
695
+ end
696
+ return data, status_code, headers
697
+ end
698
+ # Update member
699
+ # Use this endpoint to update a member&#39;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.
700
+ # @param member_guid The unique identifier for a &#x60;member&#x60;.
701
+ # @param user_guid The unique identifier for a &#x60;user&#x60;.
702
+ # @param [Hash] opts the optional parameters
703
+ # @option opts [MemberUpdateRequestBody] :body Member object to be updated with optional parameters (credentials, identifier, metadata)
704
+ # @return [Array<(MemberResponseBody, Fixnum, Hash)>] MemberResponseBody data, response status code and response headers
705
+ def update_member_with_http_info(member_guid, user_guid, opts = {})
706
+ if @api_client.config.debugging
707
+ @api_client.config.logger.debug 'Calling API: MembersApi.update_member ...'
708
+ end
709
+ # verify the required parameter 'member_guid' is set
710
+ if @api_client.config.client_side_validation && member_guid.nil?
711
+ fail ArgumentError, "Missing the required parameter 'member_guid' when calling MembersApi.update_member"
712
+ end
713
+ # verify the required parameter 'user_guid' is set
714
+ if @api_client.config.client_side_validation && user_guid.nil?
715
+ fail ArgumentError, "Missing the required parameter 'user_guid' when calling MembersApi.update_member"
716
+ end
717
+ # resource path
718
+ local_var_path = '/users/{user_guid}/members/{member_guid}'.sub('{' + 'member_guid' + '}', member_guid.to_s).sub('{' + 'user_guid' + '}', user_guid.to_s)
719
+
720
+ # query parameters
721
+ query_params = {}
722
+
723
+ # header parameters
724
+ header_params = {}
725
+ # HTTP header 'Accept' (if needed)
726
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.mx.atrium.v1+json'])
727
+ # HTTP header 'Content-Type'
728
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
729
+
730
+ # form parameters
731
+ form_params = {}
732
+
733
+ # http body (model)
734
+ post_body = @api_client.object_to_http_body(opts[:'body'])
735
+ auth_names = ['apiKey', 'clientID']
736
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
737
+ :header_params => header_params,
738
+ :query_params => query_params,
739
+ :form_params => form_params,
740
+ :body => post_body,
741
+ :auth_names => auth_names,
742
+ :return_type => 'MemberResponseBody')
743
+ if @api_client.config.debugging
744
+ @api_client.config.logger.debug "API called: MembersApi#update_member\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
745
+ end
746
+ return data, status_code, headers
747
+ end
748
+ end
749
+ end