moov_ruby 0.3.17 → 0.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b0f4fd547745275fd3ff7fa2682d5b1a521f76ef3811b5afdb41a89a24a34814
4
- data.tar.gz: ae1da44264c9b13044325e7243bef735472f671b909a279725a1d06ca330193f
3
+ metadata.gz: 8771cf9bd0c7937112cdb9348182567578b85be043fca0382164daf4e5dfc0c5
4
+ data.tar.gz: 3e485b0be461bdbb3cb4daa27ecc09b80e331c04712bdb2ef30cddd88197171c
5
5
  SHA512:
6
- metadata.gz: 32a55575f02f77b2a1ffe343ce9a77fc056a48b7523b3b5953cdda532a16e59108f83453482d5f679b5ebb4ca819c84797a1b1fbb89ff11f16fd7d6860609883
7
- data.tar.gz: 0e8bdf18bd0e39946e87fcd3c90240872b7fc37aaa39807a2d888726a8a8a7b3a75ff573a0936bfa76178e859d68cdf7ac66d7934794d523ec8f85f74ad5b316
6
+ metadata.gz: fe737bdaf9d152863cf082d0c7311ff704cf873e4cf9328b9711c841ef49ae820cc015511ce1f4cd4cd2cc58c25adcd880eb2f096b139254bbc164131f398df7
7
+ data.tar.gz: 05b872b10e88e25f78544e0f5b43ae3e3e2499d76bc6d4bb9c1266aa2fc340c224505bf7404293a00aea4ff3ddf8d2198fc3fa6c309cc76393e16929a1de0a0e
data/lib/moov/accounts.rb CHANGED
@@ -746,6 +746,282 @@ module Moov
746
746
  end
747
747
 
748
748
 
749
+ sig { params(request: Models::Operations::ListConnectedAccountsForAccountRequest, timeout_ms: T.nilable(Integer)).returns(Models::Operations::ListConnectedAccountsForAccountResponse) }
750
+ def list_connected(request:, timeout_ms: nil)
751
+ # list_connected - List or search accounts to which the caller is connected.
752
+ #
753
+ # All supported query parameters are optional. If none are provided the response will include all connected accounts.
754
+ # Pagination is supported via the `skip` and `count` query parameters. Searching by name and email will overlap and
755
+ # return results based on relevance. Accounts with AccountType `guest` will not be included in the response.
756
+ #
757
+ # To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/) you'll need
758
+ # to specify the `/accounts.read` scope.
759
+ url, params = @sdk_configuration.get_server_details
760
+ base_url = Utils.template_url(url, params)
761
+ url = Utils.generate_url(
762
+ Models::Operations::ListConnectedAccountsForAccountRequest,
763
+ base_url,
764
+ '/accounts/{accountID}/connected-accounts',
765
+ request,
766
+ @sdk_configuration.globals
767
+ )
768
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
769
+ headers = T.cast(headers, T::Hash[String, String])
770
+ query_params = Utils.get_query_params(Models::Operations::ListConnectedAccountsForAccountRequest, request, nil, @sdk_configuration.globals)
771
+ headers['Accept'] = 'application/json'
772
+ headers['user-agent'] = @sdk_configuration.user_agent
773
+
774
+ security = @sdk_configuration.security_source&.call
775
+
776
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
777
+ timeout ||= @sdk_configuration.timeout
778
+
779
+
780
+ connection = @sdk_configuration.client
781
+
782
+ hook_ctx = SDKHooks::HookContext.new(
783
+ config: @sdk_configuration,
784
+ base_url: base_url,
785
+ oauth2_scopes: nil,
786
+ operation_id: 'listConnectedAccountsForAccount',
787
+ security_source: @sdk_configuration.security_source
788
+ )
789
+
790
+ error = T.let(nil, T.nilable(StandardError))
791
+ http_response = T.let(nil, T.nilable(Faraday::Response))
792
+
793
+
794
+ begin
795
+ http_response = T.must(connection).get(url) do |req|
796
+ req.headers.merge!(headers)
797
+ req.options.timeout = timeout unless timeout.nil?
798
+ req.params = query_params
799
+ Utils.configure_request_security(req, security)
800
+
801
+ @sdk_configuration.hooks.before_request(
802
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
803
+ hook_ctx: hook_ctx
804
+ ),
805
+ request: req
806
+ )
807
+ end
808
+ rescue StandardError => e
809
+ error = e
810
+ ensure
811
+ if http_response.nil? || Utils.error_status?(http_response.status)
812
+ http_response = @sdk_configuration.hooks.after_error(
813
+ error: error,
814
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
815
+ hook_ctx: hook_ctx
816
+ ),
817
+ response: http_response
818
+ )
819
+ else
820
+ http_response = @sdk_configuration.hooks.after_success(
821
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
822
+ hook_ctx: hook_ctx
823
+ ),
824
+ response: http_response
825
+ )
826
+ end
827
+
828
+ if http_response.nil?
829
+ raise error if !error.nil?
830
+ raise 'no response'
831
+ end
832
+ end
833
+
834
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
835
+ if Utils.match_status_code(http_response.status, ['200'])
836
+ if Utils.match_content_type(content_type, 'application/json')
837
+ http_response = @sdk_configuration.hooks.after_success(
838
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
839
+ hook_ctx: hook_ctx
840
+ ),
841
+ response: http_response
842
+ )
843
+ response_data = http_response.env.response_body
844
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Crystalline::Array.new(Models::Components::Account))
845
+ response = Models::Operations::ListConnectedAccountsForAccountResponse.new(
846
+ status_code: http_response.status,
847
+ content_type: content_type,
848
+ raw_response: http_response,
849
+ headers: http_response.headers,
850
+ accounts: T.unsafe(obj)
851
+ )
852
+
853
+ return response
854
+ else
855
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
856
+ end
857
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '429'])
858
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
859
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
860
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
861
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
862
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
863
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
864
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
865
+ else
866
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
867
+
868
+ end
869
+ end
870
+
871
+
872
+ sig { params(share_scopes: Models::Components::ShareScopes, account_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::ConnectAccountResponse) }
873
+ def connect(share_scopes:, account_id:, x_moov_version: nil, timeout_ms: nil)
874
+ # connect - Shares access scopes from the account specified to the caller, establishing a connection
875
+ # between the two accounts with the specified permissions.
876
+ request = Models::Operations::ConnectAccountRequest.new(
877
+ account_id: account_id,
878
+ share_scopes: share_scopes,
879
+ x_moov_version: x_moov_version
880
+ )
881
+ url, params = @sdk_configuration.get_server_details
882
+ base_url = Utils.template_url(url, params)
883
+ url = Utils.generate_url(
884
+ Models::Operations::ConnectAccountRequest,
885
+ base_url,
886
+ '/accounts/{accountID}/connections',
887
+ request,
888
+ @sdk_configuration.globals
889
+ )
890
+ headers = Utils.get_headers(request, @sdk_configuration.globals)
891
+ headers = T.cast(headers, T::Hash[String, String])
892
+ req_content_type, data, form = Utils.serialize_request_body(request, false, false, :share_scopes, :json)
893
+ headers['content-type'] = req_content_type
894
+ raise StandardError, 'request body is required' if data.nil? && form.nil?
895
+
896
+ if form
897
+ body = Utils.encode_form(form)
898
+ elsif Utils.match_content_type(req_content_type, 'application/x-www-form-urlencoded')
899
+ body = URI.encode_www_form(T.cast(data, T::Hash[Symbol, Object]))
900
+ else
901
+ body = data
902
+ end
903
+ headers['Accept'] = 'application/json'
904
+ headers['user-agent'] = @sdk_configuration.user_agent
905
+
906
+ security = @sdk_configuration.security_source&.call
907
+
908
+ timeout = (timeout_ms.to_f / 1000) unless timeout_ms.nil?
909
+ timeout ||= @sdk_configuration.timeout
910
+
911
+
912
+ connection = @sdk_configuration.client
913
+
914
+ hook_ctx = SDKHooks::HookContext.new(
915
+ config: @sdk_configuration,
916
+ base_url: base_url,
917
+ oauth2_scopes: nil,
918
+ operation_id: 'connectAccount',
919
+ security_source: @sdk_configuration.security_source
920
+ )
921
+
922
+ error = T.let(nil, T.nilable(StandardError))
923
+ http_response = T.let(nil, T.nilable(Faraday::Response))
924
+
925
+
926
+ begin
927
+ http_response = T.must(connection).post(url) do |req|
928
+ req.body = body
929
+ req.headers.merge!(headers)
930
+ req.options.timeout = timeout unless timeout.nil?
931
+ Utils.configure_request_security(req, security)
932
+
933
+ @sdk_configuration.hooks.before_request(
934
+ hook_ctx: SDKHooks::BeforeRequestHookContext.new(
935
+ hook_ctx: hook_ctx
936
+ ),
937
+ request: req
938
+ )
939
+ end
940
+ rescue StandardError => e
941
+ error = e
942
+ ensure
943
+ if http_response.nil? || Utils.error_status?(http_response.status)
944
+ http_response = @sdk_configuration.hooks.after_error(
945
+ error: error,
946
+ hook_ctx: SDKHooks::AfterErrorHookContext.new(
947
+ hook_ctx: hook_ctx
948
+ ),
949
+ response: http_response
950
+ )
951
+ else
952
+ http_response = @sdk_configuration.hooks.after_success(
953
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
954
+ hook_ctx: hook_ctx
955
+ ),
956
+ response: http_response
957
+ )
958
+ end
959
+
960
+ if http_response.nil?
961
+ raise error if !error.nil?
962
+ raise 'no response'
963
+ end
964
+ end
965
+
966
+ content_type = http_response.headers.fetch('Content-Type', 'application/octet-stream')
967
+ if Utils.match_status_code(http_response.status, ['201'])
968
+ http_response = @sdk_configuration.hooks.after_success(
969
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
970
+ hook_ctx: hook_ctx
971
+ ),
972
+ response: http_response
973
+ )
974
+ return Models::Operations::ConnectAccountResponse.new(
975
+ status_code: http_response.status,
976
+ content_type: content_type,
977
+ raw_response: http_response,
978
+ headers: {}
979
+ )
980
+ elsif Utils.match_status_code(http_response.status, ['400', '409'])
981
+ if Utils.match_content_type(content_type, 'application/json')
982
+ http_response = @sdk_configuration.hooks.after_success(
983
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
984
+ hook_ctx: hook_ctx
985
+ ),
986
+ response: http_response
987
+ )
988
+ response_data = http_response.env.response_body
989
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::GenericError)
990
+ obj.raw_response = http_response
991
+ raise obj
992
+ else
993
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
994
+ end
995
+ elsif Utils.match_status_code(http_response.status, ['422'])
996
+ if Utils.match_content_type(content_type, 'application/json')
997
+ http_response = @sdk_configuration.hooks.after_success(
998
+ hook_ctx: SDKHooks::AfterSuccessHookContext.new(
999
+ hook_ctx: hook_ctx
1000
+ ),
1001
+ response: http_response
1002
+ )
1003
+ response_data = http_response.env.response_body
1004
+ obj = Crystalline.unmarshal_json(JSON.parse(response_data), Models::Errors::ConnectAccountRequestValidationError)
1005
+ obj.raw_response = http_response
1006
+ raise obj
1007
+ else
1008
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown content type received'
1009
+ end
1010
+ elsif Utils.match_status_code(http_response.status, ['401', '403', '404', '429'])
1011
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1012
+ elsif Utils.match_status_code(http_response.status, ['500', '504'])
1013
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1014
+ elsif Utils.match_status_code(http_response.status, ['4XX'])
1015
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1016
+ elsif Utils.match_status_code(http_response.status, ['5XX'])
1017
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'API error occurred'
1018
+ else
1019
+ raise ::Moov::Models::Errors::APIError.new(status_code: http_response.status, body: http_response.env.response_body, raw_response: http_response), 'Unknown status code received'
1020
+
1021
+ end
1022
+ end
1023
+
1024
+
749
1025
  sig { params(account_id: ::String, x_moov_version: T.nilable(::String), timeout_ms: T.nilable(Integer)).returns(Models::Operations::GetAccountCountriesResponse) }
750
1026
  def get_countries(account_id:, x_moov_version: nil, timeout_ms: nil)
751
1027
  # get_countries - Retrieve the specified countries of operation for an account.
@@ -0,0 +1,37 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Components
10
+
11
+ # Describes the scopes being shared from a subject account to a principal account.
12
+ class ShareScopes
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # The account ID that will receive access to the scopes.
17
+ field :principal_account_id, ::String, { 'format_json': { 'letter_case': ::Moov::Utils.field_name('principalAccountID'), required: true } }
18
+ # The list of scopes to share with the principal account. If none are provided, all intersecting scopes are added.
19
+ field :allow_scopes, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::ApplicationScope)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowScopes') } }
20
+
21
+ sig { params(principal_account_id: ::String, allow_scopes: T.nilable(T::Array[Models::Components::ApplicationScope])).void }
22
+ def initialize(principal_account_id:, allow_scopes: nil)
23
+ @principal_account_id = principal_account_id
24
+ @allow_scopes = allow_scopes
25
+ end
26
+
27
+ sig { params(other: T.untyped).returns(T::Boolean) }
28
+ def ==(other)
29
+ return false unless other.is_a? self.class
30
+ return false unless @principal_account_id == other.principal_account_id
31
+ return false unless @allow_scopes == other.allow_scopes
32
+ true
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Components::ShareScopes
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Components::ShareScopes
11
+ def principal_account_id(); end
12
+ def principal_account_id=(str_); end
13
+ def allow_scopes(); end
14
+ def allow_scopes=(str_); end
15
+ end
@@ -456,6 +456,7 @@ module Moov
456
456
  autoload :SendFundsRtpError, 'moov/models/components/sendfundsrtperror.rb'
457
457
  autoload :SentReceipt, 'moov/models/components/sentreceipt.rb'
458
458
  autoload :Settings, 'moov/models/components/settings.rb'
459
+ autoload :ShareScopes, 'moov/models/components/sharescopes.rb'
459
460
  autoload :SourceDestinationOptions, 'moov/models/components/sourcedestinationoptions.rb'
460
461
  autoload :Statement, 'moov/models/components/statement.rb'
461
462
  autoload :SubmissionIntent, 'moov/models/components/submissionintent.rb'
@@ -0,0 +1,41 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Errors
10
+
11
+
12
+ class ConnectAccountRequestValidationError < StandardError
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :principal_account_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('principalAccountID') } }
18
+
19
+ field :allow_scopes, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::String)), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('allowScopes') } }
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, Crystalline::Nilable.new(::Faraday::Response), { 'format_json': { 'letter_case': ::Moov::Utils.field_name('-') } }
22
+
23
+ sig { params(principal_account_id: T.nilable(::String), allow_scopes: T.nilable(T::Hash[Symbol, ::String]), raw_response: T.nilable(::Faraday::Response)).void }
24
+ def initialize(principal_account_id: nil, allow_scopes: nil, raw_response: nil)
25
+ @principal_account_id = principal_account_id
26
+ @allow_scopes = allow_scopes
27
+ @raw_response = raw_response
28
+ end
29
+
30
+ sig { params(other: T.untyped).returns(T::Boolean) }
31
+ def ==(other)
32
+ return false unless other.is_a? self.class
33
+ return false unless @principal_account_id == other.principal_account_id
34
+ return false unless @allow_scopes == other.allow_scopes
35
+ return false unless @raw_response == other.raw_response
36
+ true
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Errors::ConnectAccountRequestValidationError
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Errors::ConnectAccountRequestValidationError
11
+ def principal_account_id(); end
12
+ def principal_account_id=(str_); end
13
+ def allow_scopes(); end
14
+ def allow_scopes=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ end
@@ -14,6 +14,7 @@ module Moov
14
14
  autoload :BankAccountValidationError, 'moov/models/errors/bankaccountvalidationerror.rb'
15
15
  autoload :BrandValidationError, 'moov/models/errors/brandvalidationerror.rb'
16
16
  autoload :CardAcquiringRefundError, 'moov/models/errors/cardacquiringrefund_error.rb'
17
+ autoload :ConnectAccountRequestValidationError, 'moov/models/errors/connectaccountrequestvalidationerror.rb'
17
18
  autoload :CreateAccountError, 'moov/models/errors/createaccounterror.rb'
18
19
  autoload :CreateInvoiceError, 'moov/models/errors/createinvoiceerror.rb'
19
20
  autoload :CreatePaymentLinkError, 'moov/models/errors/createpaymentlinkerror.rb'
@@ -0,0 +1,50 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class ConnectAccountRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
+
19
+ field :share_scopes, Models::Components::ShareScopes, { 'request': { 'media_type': 'application/json' } }
20
+ # Specify an API version.
21
+ #
22
+ # API versioning follows the format `vYYYY.QQ.BB`, where
23
+ # - `YYYY` is the year
24
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
25
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
26
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
27
+ #
28
+ # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
29
+ # When no version is specified, the API defaults to `v2024.01.00`.
30
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Moov-Version', 'style': 'simple', 'explode': false } }
31
+
32
+ sig { params(account_id: ::String, share_scopes: Models::Components::ShareScopes, x_moov_version: T.nilable(::String)).void }
33
+ def initialize(account_id:, share_scopes:, x_moov_version: nil)
34
+ @account_id = account_id
35
+ @share_scopes = share_scopes
36
+ @x_moov_version = x_moov_version
37
+ end
38
+
39
+ sig { params(other: T.untyped).returns(T::Boolean) }
40
+ def ==(other)
41
+ return false unless other.is_a? self.class
42
+ return false unless @account_id == other.account_id
43
+ return false unless @share_scopes == other.share_scopes
44
+ return false unless @x_moov_version == other.x_moov_version
45
+ true
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::ConnectAccountRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::ConnectAccountRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def share_scopes(); end
14
+ def share_scopes=(str_); end
15
+ def x_moov_version(); end
16
+ def x_moov_version=(str_); end
17
+ end
@@ -0,0 +1,45 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class ConnectAccountResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+
23
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
+
25
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]]).void }
26
+ def initialize(content_type:, status_code:, raw_response:, headers:)
27
+ @content_type = content_type
28
+ @status_code = status_code
29
+ @raw_response = raw_response
30
+ @headers = headers
31
+ end
32
+
33
+ sig { params(other: T.untyped).returns(T::Boolean) }
34
+ def ==(other)
35
+ return false unless other.is_a? self.class
36
+ return false unless @content_type == other.content_type
37
+ return false unless @status_code == other.status_code
38
+ return false unless @raw_response == other.raw_response
39
+ return false unless @headers == other.headers
40
+ true
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::ConnectAccountResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::ConnectAccountResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def headers(); end
18
+ def headers=(str_); end
19
+ end
@@ -0,0 +1,101 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class ListConnectedAccountsForAccountRequest
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+
17
+ field :account_id, ::String, { 'path_param': { 'field_name': 'accountID', 'style': 'simple', 'explode': false } }
18
+ # Specify an API version.
19
+ #
20
+ # API versioning follows the format `vYYYY.QQ.BB`, where
21
+ # - `YYYY` is the year
22
+ # - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
23
+ # - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
24
+ # - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
25
+ #
26
+ # The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
27
+ # When no version is specified, the API defaults to `v2024.01.00`.
28
+ field :x_moov_version, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Moov-Version', 'style': 'simple', 'explode': false } }
29
+ # Filter connected accounts by name.
30
+ #
31
+ # If provided, this query will attempt to find matches against the following Account and Profile fields:
32
+ # <ul>
33
+ # <li>Account `displayName`</li>
34
+ # <li>Individual Profile `firstName`, `middleName`, and `lastName`</li>
35
+ # <li>Business Profile `legalBusinessName`</li>
36
+ # </ul>
37
+ #
38
+ # Filtering by Guest Profile `name` is not currently supported.
39
+ field :name, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'name', 'style': 'form', 'explode': false } }
40
+ # Filter connected accounts by email address.
41
+ #
42
+ # Provide the full email address to filter by email.
43
+ field :email, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'email', 'style': 'form', 'explode': false } }
44
+ # Filter connected accounts by AccountType.
45
+ #
46
+ # If the `type` parameter is used in combination with `name`, only the corresponding type's name fields will
47
+ # be searched. For example, if `type=business` and `name=moov`, the search will attempt to find matches against
48
+ # the display name and Business Profile name fields (`legalBusinessName`, and `doingBusinessAs`).
49
+ #
50
+ # Filtering by `type=guest` is not currently supported.
51
+ field :type, Crystalline::Nilable.new(Models::Components::CreateAccountType), { 'query_param': { 'field_name': 'type', 'style': 'form', 'explode': false } }
52
+ # Serves as an optional alias from a foreign/external system which can be used to reference this resource.
53
+ field :foreign_id, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'foreignID', 'style': 'form', 'explode': false } }
54
+ # Filter disconnected accounts.
55
+ #
56
+ # If true, the response will include disconnected accounts.
57
+ field :include_disconnected, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'query_param': { 'field_name': 'includeDisconnected', 'style': 'form', 'explode': false } }
58
+ # Filter connected accounts by the capability.
59
+ field :capability, Crystalline::Nilable.new(Models::Components::CapabilityID), { 'query_param': { 'field_name': 'capability', 'style': 'form', 'explode': false } }
60
+ # Filter connected accounts by the capability.
61
+ field :capability_status, Crystalline::Nilable.new(Models::Components::CapabilityStatus), { 'query_param': { 'field_name': 'capabilityStatus', 'style': 'form', 'explode': false } }
62
+
63
+ field :skip, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': false } }
64
+
65
+ field :count, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'count', 'style': 'form', 'explode': false } }
66
+
67
+ sig { params(account_id: ::String, x_moov_version: T.nilable(::String), name: T.nilable(::String), email: T.nilable(::String), type: T.nilable(Models::Components::CreateAccountType), foreign_id: T.nilable(::String), include_disconnected: T.nilable(T::Boolean), capability: T.nilable(Models::Components::CapabilityID), capability_status: T.nilable(Models::Components::CapabilityStatus), skip: T.nilable(::Integer), count: T.nilable(::Integer)).void }
68
+ def initialize(account_id:, x_moov_version: nil, name: nil, email: nil, type: nil, foreign_id: nil, include_disconnected: nil, capability: nil, capability_status: nil, skip: nil, count: nil)
69
+ @account_id = account_id
70
+ @x_moov_version = x_moov_version
71
+ @name = name
72
+ @email = email
73
+ @type = type
74
+ @foreign_id = foreign_id
75
+ @include_disconnected = include_disconnected
76
+ @capability = capability
77
+ @capability_status = capability_status
78
+ @skip = skip
79
+ @count = count
80
+ end
81
+
82
+ sig { params(other: T.untyped).returns(T::Boolean) }
83
+ def ==(other)
84
+ return false unless other.is_a? self.class
85
+ return false unless @account_id == other.account_id
86
+ return false unless @x_moov_version == other.x_moov_version
87
+ return false unless @name == other.name
88
+ return false unless @email == other.email
89
+ return false unless @type == other.type
90
+ return false unless @foreign_id == other.foreign_id
91
+ return false unless @include_disconnected == other.include_disconnected
92
+ return false unless @capability == other.capability
93
+ return false unless @capability_status == other.capability_status
94
+ return false unless @skip == other.skip
95
+ return false unless @count == other.count
96
+ true
97
+ end
98
+ end
99
+ end
100
+ end
101
+ end
@@ -0,0 +1,33 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::ListConnectedAccountsForAccountRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::ListConnectedAccountsForAccountRequest
11
+ def account_id(); end
12
+ def account_id=(str_); end
13
+ def x_moov_version(); end
14
+ def x_moov_version=(str_); end
15
+ def name(); end
16
+ def name=(str_); end
17
+ def email(); end
18
+ def email=(str_); end
19
+ def type(); end
20
+ def type=(str_); end
21
+ def foreign_id(); end
22
+ def foreign_id=(str_); end
23
+ def include_disconnected(); end
24
+ def include_disconnected=(str_); end
25
+ def capability(); end
26
+ def capability=(str_); end
27
+ def capability_status(); end
28
+ def capability_status=(str_); end
29
+ def skip(); end
30
+ def skip=(str_); end
31
+ def count(); end
32
+ def count=(str_); end
33
+ end
@@ -0,0 +1,49 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Moov
8
+ module Models
9
+ module Operations
10
+
11
+
12
+ class ListConnectedAccountsForAccountResponse
13
+ extend T::Sig
14
+ include Crystalline::MetadataFields
15
+
16
+ # HTTP response content type for this operation
17
+ field :content_type, ::String
18
+ # HTTP response status code for this operation
19
+ field :status_code, ::Integer
20
+ # Raw HTTP response; suitable for custom response parsing
21
+ field :raw_response, ::Faraday::Response
22
+
23
+ field :headers, Crystalline::Hash.new(Symbol, Crystalline::Array.new(::String))
24
+ # The request completed successfully.
25
+ field :accounts, Crystalline::Nilable.new(Crystalline::Array.new(Models::Components::Account))
26
+
27
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, headers: T::Hash[Symbol, T::Array[::String]], accounts: T.nilable(T::Array[Models::Components::Account])).void }
28
+ def initialize(content_type:, status_code:, raw_response:, headers:, accounts: nil)
29
+ @content_type = content_type
30
+ @status_code = status_code
31
+ @raw_response = raw_response
32
+ @headers = headers
33
+ @accounts = accounts
34
+ end
35
+
36
+ sig { params(other: T.untyped).returns(T::Boolean) }
37
+ def ==(other)
38
+ return false unless other.is_a? self.class
39
+ return false unless @content_type == other.content_type
40
+ return false unless @status_code == other.status_code
41
+ return false unless @raw_response == other.raw_response
42
+ return false unless @headers == other.headers
43
+ return false unless @accounts == other.accounts
44
+ true
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Moov::Models::Operations::ListConnectedAccountsForAccountResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Moov::Models::Operations::ListConnectedAccountsForAccountResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def headers(); end
18
+ def headers=(str_); end
19
+ def accounts(); end
20
+ def accounts=(str_); end
21
+ end
@@ -16,6 +16,8 @@ module Moov
16
16
  autoload :CompleteBankAccountVerificationResponse, 'moov/models/operations/completebankaccountverification_response.rb'
17
17
  autoload :CompleteMicroDepositsRequest, 'moov/models/operations/completemicrodeposits_request.rb'
18
18
  autoload :CompleteMicroDepositsResponse, 'moov/models/operations/completemicrodeposits_response.rb'
19
+ autoload :ConnectAccountRequest, 'moov/models/operations/connectaccount_request.rb'
20
+ autoload :ConnectAccountResponse, 'moov/models/operations/connectaccount_response.rb'
19
21
  autoload :CreateAccessTokenRequest, 'moov/models/operations/createaccesstoken_request.rb'
20
22
  autoload :CreateAccessTokenResponse, 'moov/models/operations/createaccesstoken_response.rb'
21
23
  autoload :CreateAccountRequest, 'moov/models/operations/createaccount_request.rb'
@@ -201,6 +203,8 @@ module Moov
201
203
  autoload :ListCapabilitiesResponse, 'moov/models/operations/listcapabilities_response.rb'
202
204
  autoload :ListCardsRequest, 'moov/models/operations/listcards_request.rb'
203
205
  autoload :ListCardsResponse, 'moov/models/operations/listcards_response.rb'
206
+ autoload :ListConnectedAccountsForAccountRequest, 'moov/models/operations/listconnectedaccountsforaccount_request.rb'
207
+ autoload :ListConnectedAccountsForAccountResponse, 'moov/models/operations/listconnectedaccountsforaccount_response.rb'
204
208
  autoload :ListDisputeEvidenceRequest, 'moov/models/operations/listdisputeevidence_request.rb'
205
209
  autoload :ListDisputeEvidenceResponse, 'moov/models/operations/listdisputeevidence_response.rb'
206
210
  autoload :ListDisputesRequest, 'moov/models/operations/listdisputes_request.rb'
@@ -95,9 +95,9 @@ module Moov
95
95
  @globals = globals.nil? ? {} : globals
96
96
  @language = 'ruby'
97
97
  @openapi_doc_version = 'latest'
98
- @sdk_version = '0.3.17'
99
- @gen_version = '2.788.4'
100
- @user_agent = 'speakeasy-sdk/ruby 0.3.17 2.788.4 latest moov_ruby'
98
+ @sdk_version = '0.3.18'
99
+ @gen_version = '2.788.5'
100
+ @user_agent = 'speakeasy-sdk/ruby 0.3.18 2.788.5 latest moov_ruby'
101
101
  end
102
102
 
103
103
  sig { returns([String, T::Hash[Symbol, String]]) }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moov_ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.17
4
+ version: 0.3.18
5
5
  platform: ruby
6
6
  authors:
7
7
  - Speakeasy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-12-18 00:00:00.000000000 Z
11
+ date: 2025-12-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: base64
@@ -1146,6 +1146,8 @@ files:
1146
1146
  - lib/moov/models/components/sentreceipt.rbi
1147
1147
  - lib/moov/models/components/settings.rb
1148
1148
  - lib/moov/models/components/settings.rbi
1149
+ - lib/moov/models/components/sharescopes.rb
1150
+ - lib/moov/models/components/sharescopes.rbi
1149
1151
  - lib/moov/models/components/sourcedestinationoptions.rb
1150
1152
  - lib/moov/models/components/sourcedestinationoptions.rbi
1151
1153
  - lib/moov/models/components/statement.rb
@@ -1425,6 +1427,8 @@ files:
1425
1427
  - lib/moov/models/errors/brandvalidationerror.rbi
1426
1428
  - lib/moov/models/errors/cardacquiringrefund_error.rb
1427
1429
  - lib/moov/models/errors/cardacquiringrefund_error.rbi
1430
+ - lib/moov/models/errors/connectaccountrequestvalidationerror.rb
1431
+ - lib/moov/models/errors/connectaccountrequestvalidationerror.rbi
1428
1432
  - lib/moov/models/errors/createaccounterror.rb
1429
1433
  - lib/moov/models/errors/createaccounterror.rbi
1430
1434
  - lib/moov/models/errors/createinvoiceerror.rb
@@ -1532,6 +1536,10 @@ files:
1532
1536
  - lib/moov/models/operations/completemicrodeposits_request.rbi
1533
1537
  - lib/moov/models/operations/completemicrodeposits_response.rb
1534
1538
  - lib/moov/models/operations/completemicrodeposits_response.rbi
1539
+ - lib/moov/models/operations/connectaccount_request.rb
1540
+ - lib/moov/models/operations/connectaccount_request.rbi
1541
+ - lib/moov/models/operations/connectaccount_response.rb
1542
+ - lib/moov/models/operations/connectaccount_response.rbi
1535
1543
  - lib/moov/models/operations/createaccesstoken_request.rb
1536
1544
  - lib/moov/models/operations/createaccesstoken_request.rbi
1537
1545
  - lib/moov/models/operations/createaccesstoken_response.rb
@@ -1902,6 +1910,10 @@ files:
1902
1910
  - lib/moov/models/operations/listcards_request.rbi
1903
1911
  - lib/moov/models/operations/listcards_response.rb
1904
1912
  - lib/moov/models/operations/listcards_response.rbi
1913
+ - lib/moov/models/operations/listconnectedaccountsforaccount_request.rb
1914
+ - lib/moov/models/operations/listconnectedaccountsforaccount_request.rbi
1915
+ - lib/moov/models/operations/listconnectedaccountsforaccount_response.rb
1916
+ - lib/moov/models/operations/listconnectedaccountsforaccount_response.rbi
1905
1917
  - lib/moov/models/operations/listdisputeevidence_request.rb
1906
1918
  - lib/moov/models/operations/listdisputeevidence_request.rbi
1907
1919
  - lib/moov/models/operations/listdisputeevidence_response.rb