Class: CybridApiBank::ExternalBankAccountsBankApi

Inherits:
Object
  • Object
show all
Defined in:
lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(api_client = ApiClient.default) ⇒ ExternalBankAccountsBankApi

Returns a new instance of ExternalBankAccountsBankApi.



19
20
21
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 19

def initialize(api_client = ApiClient.default)
  @api_client = api_client
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



17
18
19
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 17

def api_client
  @api_client
end

Instance Method Details

#create_external_bank_account(post_external_bank_account_bank_model, opts = {}) ⇒ ExternalBankAccountBankModel

Create ExternalBankAccount Create an ExternalBankAccount. ## Account creation Accounts can be created for a Bank or a Customer. To create accounts for your Bank, omit the ‘customer_guid` parameter in the request body. To create accounts for your Customers, include the `customer_guid` parameter in the request body. ## State | State | Description | |——-|————-| | storing | The Platform is storing the external bank account details in our private store | | completed | The Platform has created the external bank account | | unverified | The external bank account is created, but it has not yet been verified | | failed | The Platform was not able to successfully create the external bank account | | refresh_required | The Platform has created the external bank account, but needs to be refreshed | | deleting | The Platform is deleting the external bank account | | deleted | The Platform has deleted the external bank account | ## Failure codes | Code | Description | |——|————-| | invalid_routing_number | The provided routing number is invalid | | duplicate | An account with the same details already exists | | plaid_processor_token | An account could not be created due to an invalid Plaid processor token or an error with Plaid | | plaid_multiple_accounts | The supplied Plaid token is associated with multiple accounts. Must only be a single account. | | create_failed | The bank account and associated holder could not be created correctly | | unverified_counterparty | The counterparty account is unverified | Required scope: external_bank_accounts:execute

Parameters:

Returns:



27
28
29
30
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 27

def (, opts = {})
  data, _status_code, _headers = (, opts)
  data
end

#create_external_bank_account_with_http_info(post_external_bank_account_bank_model, opts = {}) ⇒ Array<(ExternalBankAccountBankModel, Integer, Hash)>

Create ExternalBankAccount Create an ExternalBankAccount. ## Account creation Accounts can be created for a Bank or a Customer. To create accounts for your Bank, omit the &#x60;customer_guid&#x60; parameter in the request body. To create accounts for your Customers, include the &#x60;customer_guid&#x60; parameter in the request body. ## State | State | Description | |——-|————-| | storing | The Platform is storing the external bank account details in our private store | | completed | The Platform has created the external bank account | | unverified | The external bank account is created, but it has not yet been verified | | failed | The Platform was not able to successfully create the external bank account | | refresh_required | The Platform has created the external bank account, but needs to be refreshed | | deleting | The Platform is deleting the external bank account | | deleted | The Platform has deleted the external bank account | ## Failure codes | Code | Description | |——|————-| | invalid_routing_number | The provided routing number is invalid | | duplicate | An account with the same details already exists | | plaid_processor_token | An account could not be created due to an invalid Plaid processor token or an error with Plaid | | plaid_multiple_accounts | The supplied Plaid token is associated with multiple accounts. Must only be a single account. | | create_failed | The bank account and associated holder could not be created correctly | | unverified_counterparty | The counterparty account is unverified | Required scope: external_bank_accounts:execute

Parameters:

Returns:



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 37

def (, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ExternalBankAccountsBankApi.create_external_bank_account ...'
  end
  # verify the required parameter 'post_external_bank_account_bank_model' is set
  if @api_client.config.client_side_validation && .nil?
    fail ArgumentError, "Missing the required parameter 'post_external_bank_account_bank_model' when calling ExternalBankAccountsBankApi.create_external_bank_account"
  end
  # resource path
  local_var_path = '/api/external_bank_accounts'

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
      header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body()

  # return_type
  return_type = opts[:debug_return_type] || 'ExternalBankAccountBankModel'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['BearerAuth', 'oauth2']

  new_options = opts.merge(
    :operation => :"ExternalBankAccountsBankApi.create_external_bank_account",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ExternalBankAccountsBankApi#create_external_bank_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end

#delete_external_bank_account(external_bank_account_guid, opts = {}) ⇒ ExternalBankAccountBankModel

Delete External Bank Account Deletes an external bank account. Required scope: external_bank_accounts:execute

Parameters:

  • external_bank_account_guid (String)

    Identifier for the external bank account.

  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



95
96
97
98
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 95

def (, opts = {})
  data, _status_code, _headers = (, opts)
  data
end

#delete_external_bank_account_with_http_info(external_bank_account_guid, opts = {}) ⇒ Array<(ExternalBankAccountBankModel, Integer, Hash)>

Delete External Bank Account Deletes an external bank account. Required scope: external_bank_accounts:execute

Parameters:

  • external_bank_account_guid (String)

    Identifier for the external bank account.

  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 105

def (, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ExternalBankAccountsBankApi.delete_external_bank_account ...'
  end
  # verify the required parameter 'external_bank_account_guid' is set
  if @api_client.config.client_side_validation && .nil?
    fail ArgumentError, "Missing the required parameter 'external_bank_account_guid' when calling ExternalBankAccountsBankApi.delete_external_bank_account"
  end
  # resource path
  local_var_path = '/api/external_bank_accounts/{external_bank_account_guid}'.sub('{' + 'external_bank_account_guid' + '}', CGI.escape(.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'ExternalBankAccountBankModel'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['BearerAuth', 'oauth2']

  new_options = opts.merge(
    :operation => :"ExternalBankAccountsBankApi.delete_external_bank_account",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ExternalBankAccountsBankApi#delete_external_bank_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end

#get_external_bank_account(external_bank_account_guid, opts = {}) ⇒ ExternalBankAccountBankModel

Get External Bank Account Retrieves an external bank account. ## ExternalBankAccount retrieval When retrieving an external bank account and include_balances is set to true, the Platform will attempt to retrieve the balance from the account’s financial institution. If force_balance_refresh is set to true, the Platform will always attempt to retrieve the most up to date balance from the account’s financial institution. If force_balance_refresh is set to false, the Platform will return the cached balance. If while getting the balance the Platform determines that the account needs to be refreshed, the Platform will return a 422 status code with the message "Bank account refresh required" and the ExternalBankAccount will be put into the refresh_required state. If while getting the balance the Platform determines that the account is no longer valid, the Platform will return a 422 status code with the message "Bank account can no longer be used and is being deleted. It must be re-added" and the ExternalBankAccount will be deleted. When retrieving an external bank account and include_pii is set to true, the Platform will include the account holder’s information in the response. Required scope: external_bank_accounts:read

Parameters:

  • external_bank_account_guid (String)

    Identifier for the external bank account.

  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :force_balance_refresh (Boolean)

    Force the balance on the account to be retrieved.

  • :include_balances (Boolean)

    Include balance information in the response. If &#x60;force_balance_refresh&#x60; is &#x60;true&#x60;, the most up to date balance will be returned. If &#x60;force_balance_refresh&#x60; is &#x60;false&#x60;, the cached balance will be returned. &#x60;balance_updated_at&#x60; in the response will provide the timestamp the balance was last updated.

  • :include_pii (Boolean)

    Include the account holder&#39;s PII in the response.

Returns:



161
162
163
164
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 161

def (, opts = {})
  data, _status_code, _headers = (, opts)
  data
end

#get_external_bank_account_with_http_info(external_bank_account_guid, opts = {}) ⇒ Array<(ExternalBankAccountBankModel, Integer, Hash)>

Get External Bank Account Retrieves an external bank account. ## ExternalBankAccount retrieval When retrieving an external bank account and include_balances is set to true, the Platform will attempt to retrieve the balance from the account&#39;s financial institution. If force_balance_refresh is set to true, the Platform will always attempt to retrieve the most up to date balance from the account&#39;s financial institution. If force_balance_refresh is set to false, the Platform will return the cached balance. If while getting the balance the Platform determines that the account needs to be refreshed, the Platform will return a 422 status code with the message &quot;Bank account refresh required&quot; and the ExternalBankAccount will be put into the refresh_required state. If while getting the balance the Platform determines that the account is no longer valid, the Platform will return a 422 status code with the message &quot;Bank account can no longer be used and is being deleted. It must be re-added&quot; and the ExternalBankAccount will be deleted. When retrieving an external bank account and include_pii is set to true, the Platform will include the account holder&#39;s information in the response. Required scope: external_bank_accounts:read

Parameters:

  • external_bank_account_guid (String)

    Identifier for the external bank account.

  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :force_balance_refresh (Boolean)

    Force the balance on the account to be retrieved.

  • :include_balances (Boolean)

    Include balance information in the response. If &#x60;force_balance_refresh&#x60; is &#x60;true&#x60;, the most up to date balance will be returned. If &#x60;force_balance_refresh&#x60; is &#x60;false&#x60;, the cached balance will be returned. &#x60;balance_updated_at&#x60; in the response will provide the timestamp the balance was last updated.

  • :include_pii (Boolean)

    Include the account holder&#39;s PII in the response.

Returns:



174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 174

def (, opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ExternalBankAccountsBankApi.get_external_bank_account ...'
  end
  # verify the required parameter 'external_bank_account_guid' is set
  if @api_client.config.client_side_validation && .nil?
    fail ArgumentError, "Missing the required parameter 'external_bank_account_guid' when calling ExternalBankAccountsBankApi.get_external_bank_account"
  end
  # resource path
  local_var_path = '/api/external_bank_accounts/{external_bank_account_guid}'.sub('{' + 'external_bank_account_guid' + '}', CGI.escape(.to_s))

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'force_balance_refresh'] = opts[:'force_balance_refresh'] if !opts[:'force_balance_refresh'].nil?
  query_params[:'include_balances'] = opts[:'include_balances'] if !opts[:'include_balances'].nil?
  query_params[:'include_pii'] = opts[:'include_pii'] if !opts[:'include_pii'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'ExternalBankAccountBankModel'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['BearerAuth', 'oauth2']

  new_options = opts.merge(
    :operation => :"ExternalBankAccountsBankApi.get_external_bank_account",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ExternalBankAccountsBankApi#get_external_bank_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end

#list_external_bank_accounts(opts = {}) ⇒ ExternalBankAccountListBankModel

Get external bank accounts list Retrieves a listing of external bank accounts. Required scope: external_bank_accounts:read

Parameters:

  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :page (Integer)

    The page index to retrieve.

  • :per_page (Integer)

    The number of entities per page to return.

  • :guid (String)

    Comma separated external_bank_account_guids to list external_bank_accounts for.

  • :bank_guid (String)

    Comma separated bank_guids to list external_bank_accounts for.

  • :customer_guid (String)

    Comma separated customer_guids to list external_bank_accounts for.

  • :asset (String)

    Comma separated assets to list external_bank_accounts for.

  • :state (String)

    Comma separated states to list external_bank_accounts for. Filtering by &quot;completed&quot; and &quot;unverified&quot; states is only supported for individual customer accounts.

Returns:



236
237
238
239
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 236

def list_external_bank_accounts(opts = {})
  data, _status_code, _headers = list_external_bank_accounts_with_http_info(opts)
  data
end

#list_external_bank_accounts_with_http_info(opts = {}) ⇒ Array<(ExternalBankAccountListBankModel, Integer, Hash)>

Get external bank accounts list Retrieves a listing of external bank accounts. Required scope: external_bank_accounts:read

Parameters:

  • opts (Hash) (defaults to: {})

    the optional parameters

Options Hash (opts):

  • :page (Integer)

    The page index to retrieve.

  • :per_page (Integer)

    The number of entities per page to return.

  • :guid (String)

    Comma separated external_bank_account_guids to list external_bank_accounts for.

  • :bank_guid (String)

    Comma separated bank_guids to list external_bank_accounts for.

  • :customer_guid (String)

    Comma separated customer_guids to list external_bank_accounts for.

  • :asset (String)

    Comma separated assets to list external_bank_accounts for.

  • :state (String)

    Comma separated states to list external_bank_accounts for. Filtering by &quot;completed&quot; and &quot;unverified&quot; states is only supported for individual customer accounts.

Returns:



252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 252

def list_external_bank_accounts_with_http_info(opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ExternalBankAccountsBankApi.list_external_bank_accounts ...'
  end
  if @api_client.config.client_side_validation && !opts[:'page'].nil? && opts[:'page'] < 0
    fail ArgumentError, 'invalid value for "opts[:"page"]" when calling ExternalBankAccountsBankApi.list_external_bank_accounts, must be greater than or equal to 0.'
  end

  if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] > 100
    fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling ExternalBankAccountsBankApi.list_external_bank_accounts, must be smaller than or equal to 100.'
  end

  if @api_client.config.client_side_validation && !opts[:'per_page'].nil? && opts[:'per_page'] < 1
    fail ArgumentError, 'invalid value for "opts[:"per_page"]" when calling ExternalBankAccountsBankApi.list_external_bank_accounts, must be greater than or equal to 1.'
  end

  # resource path
  local_var_path = '/api/external_bank_accounts'

  # query parameters
  query_params = opts[:query_params] || {}
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
  query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
  query_params[:'guid'] = opts[:'guid'] if !opts[:'guid'].nil?
  query_params[:'bank_guid'] = opts[:'bank_guid'] if !opts[:'bank_guid'].nil?
  query_params[:'customer_guid'] = opts[:'customer_guid'] if !opts[:'customer_guid'].nil?
  query_params[:'asset'] = opts[:'asset'] if !opts[:'asset'].nil?
  query_params[:'state'] = opts[:'state'] if !opts[:'state'].nil?

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body]

  # return_type
  return_type = opts[:debug_return_type] || 'ExternalBankAccountListBankModel'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['BearerAuth', 'oauth2']

  new_options = opts.merge(
    :operation => :"ExternalBankAccountsBankApi.list_external_bank_accounts",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ExternalBankAccountsBankApi#list_external_bank_accounts\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end

#patch_external_bank_account(external_bank_account_guid, patch_external_bank_account_bank_model, opts = {}) ⇒ ExternalBankAccountBankModel

Patch ExternalBankAccount Patch an external bank account. Required scope: external_bank_accounts:write

Parameters:

  • external_bank_account_guid (String)

    Identifier for the external bank account.

  • patch_external_bank_account_bank_model (PatchExternalBankAccountBankModel)
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



321
322
323
324
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 321

def (, , opts = {})
  data, _status_code, _headers = (, , opts)
  data
end

#patch_external_bank_account_with_http_info(external_bank_account_guid, patch_external_bank_account_bank_model, opts = {}) ⇒ Array<(ExternalBankAccountBankModel, Integer, Hash)>

Patch ExternalBankAccount Patch an external bank account. Required scope: external_bank_accounts:write

Parameters:

  • external_bank_account_guid (String)

    Identifier for the external bank account.

  • patch_external_bank_account_bank_model (PatchExternalBankAccountBankModel)
  • opts (Hash) (defaults to: {})

    the optional parameters

Returns:



332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
# File 'lib/cybrid_api_bank_ruby/api/external_bank_accounts_bank_api.rb', line 332

def (, , opts = {})
  if @api_client.config.debugging
    @api_client.config.logger.debug 'Calling API: ExternalBankAccountsBankApi.patch_external_bank_account ...'
  end
  # verify the required parameter 'external_bank_account_guid' is set
  if @api_client.config.client_side_validation && .nil?
    fail ArgumentError, "Missing the required parameter 'external_bank_account_guid' when calling ExternalBankAccountsBankApi.patch_external_bank_account"
  end
  # verify the required parameter 'patch_external_bank_account_bank_model' is set
  if @api_client.config.client_side_validation && .nil?
    fail ArgumentError, "Missing the required parameter 'patch_external_bank_account_bank_model' when calling ExternalBankAccountsBankApi.patch_external_bank_account"
  end
  # resource path
  local_var_path = '/api/external_bank_accounts/{external_bank_account_guid}'.sub('{' + 'external_bank_account_guid' + '}', CGI.escape(.to_s))

  # query parameters
  query_params = opts[:query_params] || {}

  # header parameters
  header_params = opts[:header_params] || {}
  # HTTP header 'Accept' (if needed)
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
  # HTTP header 'Content-Type'
  content_type = @api_client.select_header_content_type(['application/json'])
  if !content_type.nil?
      header_params['Content-Type'] = content_type
  end

  # form parameters
  form_params = opts[:form_params] || {}

  # http body (model)
  post_body = opts[:debug_body] || @api_client.object_to_http_body()

  # return_type
  return_type = opts[:debug_return_type] || 'ExternalBankAccountBankModel'

  # auth_names
  auth_names = opts[:debug_auth_names] || ['BearerAuth', 'oauth2']

  new_options = opts.merge(
    :operation => :"ExternalBankAccountsBankApi.patch_external_bank_account",
    :header_params => header_params,
    :query_params => query_params,
    :form_params => form_params,
    :body => post_body,
    :auth_names => auth_names,
    :return_type => return_type
  )

  data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
  if @api_client.config.debugging
    @api_client.config.logger.debug "API called: ExternalBankAccountsBankApi#patch_external_bank_account\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
  end
  return data, status_code, headers
end