=begin #MoneyKit API #No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) The version of the OpenAPI document: 2023-02-18 Generated by: https://openapi-generator.tech OpenAPI Generator version: 7.1.0 =end require 'cgi' module MoneyKit class LinksApi attr_accessor :api_client def initialize(api_client = ApiClient.default) @api_client = api_client end # /links/{id} # Deletes this link and disables its access token.
After deletion, the link id and access token are no longer valid and cannot be used to access any data that was associated with it. # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @return [nil] def delete_link(id, opts = {}) delete_link_with_http_info(id, opts) nil end # /links/{id} # Deletes this link and disables its access token. <p>After deletion, the link id and access token are no longer valid and cannot be used to access any data that was associated with it. # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers def delete_link_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.delete_link ...' end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling LinksApi.delete_link" end # resource path local_var_path = '/links/{id}'.sub('{' + 'id' + '}', CGI.escape(id.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] # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.delete_link", :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: LinksApi#delete_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # /links/{id} # Fetches details about a link. # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @return [LinkCommon] def get_link(id, opts = {}) data, _status_code, _headers = get_link_with_http_info(id, opts) data end # /links/{id} # Fetches details about a link. # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @return [Array<(LinkCommon, Integer, Hash)>] LinkCommon data, response status code and response headers def get_link_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.get_link ...' end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling LinksApi.get_link" end # resource path local_var_path = '/links/{id}'.sub('{' + 'id' + '}', CGI.escape(id.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] || 'LinkCommon' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.get_link", :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: LinksApi#get_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # /users/{id}/links # Fetches all links belonging to a user. # @param id [String] The unique ID for this user. This is the same ID provided in the call to <a href=/api/operation/create_link_session#customer_user-id>link-session</a> to create any link for this user. # @param [Hash] opts the optional parameters # @return [GetUserLinksResponse] def get_user_links(id, opts = {}) data, _status_code, _headers = get_user_links_with_http_info(id, opts) data end # /users/{id}/links # Fetches all links belonging to a <a href=#operation/get_user_accounts>user</a>. # @param id [String] The unique ID for this user. This is the same ID provided in the call to <a href=/api/operation/create_link_session#customer_user-id>link-session</a> to create any link for this user. # @param [Hash] opts the optional parameters # @return [Array<(GetUserLinksResponse, Integer, Hash)>] GetUserLinksResponse data, response status code and response headers def get_user_links_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.get_user_links ...' end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling LinksApi.get_user_links" end # resource path local_var_path = '/users/{id}/links'.sub('{' + 'id' + '}', CGI.escape(id.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] || 'GetUserLinksResponse' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.get_user_links", :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: LinksApi#get_user_links\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # /links/import # Creates a new link with pre-populated accounts and transactions. The new link will be created in an initially `disconnected` state, with an error code of `auth_expired`, but all data will be available. As with any disconnected link, the imported link can then be reconnected at any time by starting a new /link-session with `existing_link_id` set to the link's `link_id`. Note that the link can be reconnected using any suitable provider.
The imported data has a maximum size limit of 1MB, which corresponds very roughly to about 4000 transactions. The data is processed synchronously, so you can expect a delay of up to 10 seconds before the response is transmitted. You should set generous HTTP read timeouts to avoid disconnecting before the import is complete. # @param import_link_request [ImportLinkRequest] # @param [Hash] opts the optional parameters # @return [LinkCommon] def import_link(import_link_request, opts = {}) data, _status_code, _headers = import_link_with_http_info(import_link_request, opts) data end # /links/import # Creates a new link with pre-populated accounts and transactions. The new link will be created in an initially `disconnected` state, with an error code of `auth_expired`, but all data will be available. As with any disconnected link, the imported link can then be reconnected at any time by starting a new <a href=#operation/create_link_session>/link-session</a> with `existing_link_id` set to the link's `link_id`. Note that the link can be reconnected using any suitable provider. <p> The imported data has a maximum size limit of 1MB, which corresponds very roughly to about 4000 transactions. The data is processed synchronously, so you can expect a delay of up to 10 seconds before the response is transmitted. You should set generous HTTP read timeouts to avoid disconnecting before the import is complete. # @param import_link_request [ImportLinkRequest] # @param [Hash] opts the optional parameters # @return [Array<(LinkCommon, Integer, Hash)>] LinkCommon data, response status code and response headers def import_link_with_http_info(import_link_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.import_link ...' end # verify the required parameter 'import_link_request' is set if @api_client.config.client_side_validation && import_link_request.nil? fail ArgumentError, "Missing the required parameter 'import_link_request' when calling LinksApi.import_link" end # resource path local_var_path = '/links/import' # 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(import_link_request) # return_type return_type = opts[:debug_return_type] || 'LinkCommon' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.import_link", :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: LinksApi#import_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # Force a \"relink required\" state on a link (Test only). # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @return [LinkCommon] def reset_login(id, opts = {}) data, _status_code, _headers = reset_login_with_http_info(id, opts) data end # Force a \"relink required\" state on a link (Test only). # @param id [String] The unique ID for this link. # @param [Hash] opts the optional parameters # @return [Array<(LinkCommon, Integer, Hash)>] LinkCommon data, response status code and response headers def reset_login_with_http_info(id, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.reset_login ...' end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling LinksApi.reset_login" end # resource path local_var_path = '/links/{id}/reset'.sub('{' + 'id' + '}', CGI.escape(id.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] || 'LinkCommon' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.reset_login", :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: LinksApi#reset_login\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end # /links/{id} # Updates the link configuration. # @param id [String] The unique ID for this link. # @param update_link_request [UpdateLinkRequest] # @param [Hash] opts the optional parameters # @return [LinkCommon] def update_link(id, update_link_request, opts = {}) data, _status_code, _headers = update_link_with_http_info(id, update_link_request, opts) data end # /links/{id} # Updates the link configuration. # @param id [String] The unique ID for this link. # @param update_link_request [UpdateLinkRequest] # @param [Hash] opts the optional parameters # @return [Array<(LinkCommon, Integer, Hash)>] LinkCommon data, response status code and response headers def update_link_with_http_info(id, update_link_request, opts = {}) if @api_client.config.debugging @api_client.config.logger.debug 'Calling API: LinksApi.update_link ...' end # verify the required parameter 'id' is set if @api_client.config.client_side_validation && id.nil? fail ArgumentError, "Missing the required parameter 'id' when calling LinksApi.update_link" end # verify the required parameter 'update_link_request' is set if @api_client.config.client_side_validation && update_link_request.nil? fail ArgumentError, "Missing the required parameter 'update_link_request' when calling LinksApi.update_link" end # resource path local_var_path = '/links/{id}'.sub('{' + 'id' + '}', CGI.escape(id.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(update_link_request) # return_type return_type = opts[:debug_return_type] || 'LinkCommon' # auth_names auth_names = opts[:debug_auth_names] || ['OAuth2ClientCredentials'] new_options = opts.merge( :operation => :"LinksApi.update_link", :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: LinksApi#update_link\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}" end return data, status_code, headers end end end