moovio_sdk 0.11.1__py3-none-any.whl → 0.11.2__py3-none-any.whl

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.
moovio_sdk/_version.py CHANGED
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "moovio_sdk"
6
- __version__: str = "0.11.1"
6
+ __version__: str = "0.11.2"
7
7
  __openapi_doc_version__: str = "latest"
8
- __gen_version__: str = "2.618.0"
9
- __user_agent__: str = "speakeasy-sdk/python 0.11.1 2.618.0 latest moovio_sdk"
8
+ __gen_version__: str = "2.621.3"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.11.2 2.621.3 latest moovio_sdk"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -10,6 +10,252 @@ from typing import Any, Mapping, Optional
10
10
 
11
11
 
12
12
  class Institutions(BaseSDK):
13
+ def search_institutions(
14
+ self,
15
+ *,
16
+ name: Optional[str] = None,
17
+ routing_number: Optional[str] = None,
18
+ limit: Optional[int] = None,
19
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
20
+ server_url: Optional[str] = None,
21
+ timeout_ms: Optional[int] = None,
22
+ http_headers: Optional[Mapping[str, str]] = None,
23
+ ) -> operations.SearchInstitutionsResponse:
24
+ r"""Search for financial institutions by name or routing number.
25
+
26
+ This endpoint returns metadata about each matched institution, including basic identifying details (such as name, routing number, and address) and information about which payment services they support (e.g., ACH, RTP, and Wire).
27
+
28
+ This can be used to validate a financial institution before initiating payment activity, or to check which payment rails are available for a given routing number.
29
+
30
+ To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
31
+ you'll need to specify the `/institutions.read` scope.
32
+
33
+ :param name: Name of the financial institution. Either `name` or `routingNumber` is required.
34
+ :param routing_number: Routing number for a financial institution. Either `routingNumber` or `name` is required.
35
+ :param limit: Maximum results returned by a search.
36
+ :param retries: Override the default retry configuration for this method
37
+ :param server_url: Override the default server URL for this method
38
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
39
+ :param http_headers: Additional headers to set or replace on requests.
40
+ """
41
+ base_url = None
42
+ url_variables = None
43
+ if timeout_ms is None:
44
+ timeout_ms = self.sdk_configuration.timeout_ms
45
+
46
+ if server_url is not None:
47
+ base_url = server_url
48
+ else:
49
+ base_url = self._get_url(base_url, url_variables)
50
+
51
+ request = operations.SearchInstitutionsRequest(
52
+ name=name,
53
+ routing_number=routing_number,
54
+ limit=limit,
55
+ )
56
+
57
+ req = self._build_request(
58
+ method="GET",
59
+ path="/institutions",
60
+ base_url=base_url,
61
+ url_variables=url_variables,
62
+ request=request,
63
+ request_body_required=False,
64
+ request_has_path_params=False,
65
+ request_has_query_params=True,
66
+ user_agent_header="user-agent",
67
+ accept_header_value="application/json",
68
+ http_headers=http_headers,
69
+ _globals=operations.SearchInstitutionsGlobals(
70
+ x_moov_version=self.sdk_configuration.globals.x_moov_version,
71
+ ),
72
+ security=self.sdk_configuration.security,
73
+ timeout_ms=timeout_ms,
74
+ )
75
+
76
+ if retries == UNSET:
77
+ if self.sdk_configuration.retry_config is not UNSET:
78
+ retries = self.sdk_configuration.retry_config
79
+
80
+ retry_config = None
81
+ if isinstance(retries, utils.RetryConfig):
82
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
83
+
84
+ http_res = self.do_request(
85
+ hook_ctx=HookContext(
86
+ config=self.sdk_configuration,
87
+ base_url=base_url or "",
88
+ operation_id="searchInstitutions",
89
+ oauth2_scopes=[],
90
+ security_source=get_security_from_env(
91
+ self.sdk_configuration.security, components.Security
92
+ ),
93
+ ),
94
+ request=req,
95
+ error_status_codes=["401", "403", "404", "429", "4XX", "500", "504", "5XX"],
96
+ retry_config=retry_config,
97
+ )
98
+
99
+ if utils.match_response(http_res, "200", "application/json"):
100
+ return operations.SearchInstitutionsResponse(
101
+ result=utils.unmarshal_json(
102
+ http_res.text, components.InstitutionsSearchResponse
103
+ ),
104
+ headers=utils.get_response_headers(http_res.headers),
105
+ )
106
+ if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
107
+ http_res_text = utils.stream_to_text(http_res)
108
+ raise errors.APIError(
109
+ "API error occurred", http_res.status_code, http_res_text, http_res
110
+ )
111
+ if utils.match_response(http_res, ["500", "504"], "*"):
112
+ http_res_text = utils.stream_to_text(http_res)
113
+ raise errors.APIError(
114
+ "API error occurred", http_res.status_code, http_res_text, http_res
115
+ )
116
+ if utils.match_response(http_res, "4XX", "*"):
117
+ http_res_text = utils.stream_to_text(http_res)
118
+ raise errors.APIError(
119
+ "API error occurred", http_res.status_code, http_res_text, http_res
120
+ )
121
+ if utils.match_response(http_res, "5XX", "*"):
122
+ http_res_text = utils.stream_to_text(http_res)
123
+ raise errors.APIError(
124
+ "API error occurred", http_res.status_code, http_res_text, http_res
125
+ )
126
+
127
+ content_type = http_res.headers.get("Content-Type")
128
+ http_res_text = utils.stream_to_text(http_res)
129
+ raise errors.APIError(
130
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
131
+ http_res.status_code,
132
+ http_res_text,
133
+ http_res,
134
+ )
135
+
136
+ async def search_institutions_async(
137
+ self,
138
+ *,
139
+ name: Optional[str] = None,
140
+ routing_number: Optional[str] = None,
141
+ limit: Optional[int] = None,
142
+ retries: OptionalNullable[utils.RetryConfig] = UNSET,
143
+ server_url: Optional[str] = None,
144
+ timeout_ms: Optional[int] = None,
145
+ http_headers: Optional[Mapping[str, str]] = None,
146
+ ) -> operations.SearchInstitutionsResponse:
147
+ r"""Search for financial institutions by name or routing number.
148
+
149
+ This endpoint returns metadata about each matched institution, including basic identifying details (such as name, routing number, and address) and information about which payment services they support (e.g., ACH, RTP, and Wire).
150
+
151
+ This can be used to validate a financial institution before initiating payment activity, or to check which payment rails are available for a given routing number.
152
+
153
+ To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
154
+ you'll need to specify the `/institutions.read` scope.
155
+
156
+ :param name: Name of the financial institution. Either `name` or `routingNumber` is required.
157
+ :param routing_number: Routing number for a financial institution. Either `routingNumber` or `name` is required.
158
+ :param limit: Maximum results returned by a search.
159
+ :param retries: Override the default retry configuration for this method
160
+ :param server_url: Override the default server URL for this method
161
+ :param timeout_ms: Override the default request timeout configuration for this method in milliseconds
162
+ :param http_headers: Additional headers to set or replace on requests.
163
+ """
164
+ base_url = None
165
+ url_variables = None
166
+ if timeout_ms is None:
167
+ timeout_ms = self.sdk_configuration.timeout_ms
168
+
169
+ if server_url is not None:
170
+ base_url = server_url
171
+ else:
172
+ base_url = self._get_url(base_url, url_variables)
173
+
174
+ request = operations.SearchInstitutionsRequest(
175
+ name=name,
176
+ routing_number=routing_number,
177
+ limit=limit,
178
+ )
179
+
180
+ req = self._build_request_async(
181
+ method="GET",
182
+ path="/institutions",
183
+ base_url=base_url,
184
+ url_variables=url_variables,
185
+ request=request,
186
+ request_body_required=False,
187
+ request_has_path_params=False,
188
+ request_has_query_params=True,
189
+ user_agent_header="user-agent",
190
+ accept_header_value="application/json",
191
+ http_headers=http_headers,
192
+ _globals=operations.SearchInstitutionsGlobals(
193
+ x_moov_version=self.sdk_configuration.globals.x_moov_version,
194
+ ),
195
+ security=self.sdk_configuration.security,
196
+ timeout_ms=timeout_ms,
197
+ )
198
+
199
+ if retries == UNSET:
200
+ if self.sdk_configuration.retry_config is not UNSET:
201
+ retries = self.sdk_configuration.retry_config
202
+
203
+ retry_config = None
204
+ if isinstance(retries, utils.RetryConfig):
205
+ retry_config = (retries, ["429", "500", "502", "503", "504"])
206
+
207
+ http_res = await self.do_request_async(
208
+ hook_ctx=HookContext(
209
+ config=self.sdk_configuration,
210
+ base_url=base_url or "",
211
+ operation_id="searchInstitutions",
212
+ oauth2_scopes=[],
213
+ security_source=get_security_from_env(
214
+ self.sdk_configuration.security, components.Security
215
+ ),
216
+ ),
217
+ request=req,
218
+ error_status_codes=["401", "403", "404", "429", "4XX", "500", "504", "5XX"],
219
+ retry_config=retry_config,
220
+ )
221
+
222
+ if utils.match_response(http_res, "200", "application/json"):
223
+ return operations.SearchInstitutionsResponse(
224
+ result=utils.unmarshal_json(
225
+ http_res.text, components.InstitutionsSearchResponse
226
+ ),
227
+ headers=utils.get_response_headers(http_res.headers),
228
+ )
229
+ if utils.match_response(http_res, ["401", "403", "404", "429"], "*"):
230
+ http_res_text = await utils.stream_to_text_async(http_res)
231
+ raise errors.APIError(
232
+ "API error occurred", http_res.status_code, http_res_text, http_res
233
+ )
234
+ if utils.match_response(http_res, ["500", "504"], "*"):
235
+ http_res_text = await utils.stream_to_text_async(http_res)
236
+ raise errors.APIError(
237
+ "API error occurred", http_res.status_code, http_res_text, http_res
238
+ )
239
+ if utils.match_response(http_res, "4XX", "*"):
240
+ http_res_text = await utils.stream_to_text_async(http_res)
241
+ raise errors.APIError(
242
+ "API error occurred", http_res.status_code, http_res_text, http_res
243
+ )
244
+ if utils.match_response(http_res, "5XX", "*"):
245
+ http_res_text = await utils.stream_to_text_async(http_res)
246
+ raise errors.APIError(
247
+ "API error occurred", http_res.status_code, http_res_text, http_res
248
+ )
249
+
250
+ content_type = http_res.headers.get("Content-Type")
251
+ http_res_text = await utils.stream_to_text_async(http_res)
252
+ raise errors.APIError(
253
+ f"Unexpected response received (code: {http_res.status_code}, type: {content_type})",
254
+ http_res.status_code,
255
+ http_res_text,
256
+ http_res,
257
+ )
258
+
13
259
  def search(
14
260
  self,
15
261
  *,
@@ -34,6 +34,7 @@ if TYPE_CHECKING:
34
34
  AchDebitFundPaymentMethodTypedDict,
35
35
  )
36
36
  from .achexception import ACHException, ACHExceptionTypedDict
37
+ from .achinstitution import ACHInstitution, ACHInstitutionTypedDict
37
38
  from .achlocation import AchLocation, AchLocationTypedDict
38
39
  from .achparticipant import (
39
40
  AchParticipant,
@@ -202,6 +203,7 @@ if TYPE_CHECKING:
202
203
  CompleteMicroDeposits,
203
204
  CompleteMicroDepositsTypedDict,
204
205
  )
206
+ from .contact import Contact, ContactTypedDict
205
207
  from .countrieserrors import CountriesErrors, CountriesErrorsTypedDict
206
208
  from .createaccount import (
207
209
  CreateAccount,
@@ -450,6 +452,10 @@ if TYPE_CHECKING:
450
452
  from .individualprofile import IndividualProfile, IndividualProfileTypedDict
451
453
  from .industrycodes import IndustryCodes, IndustryCodesTypedDict
452
454
  from .industrytaxonomy import IndustryTaxonomy, IndustryTaxonomyTypedDict
455
+ from .institutionssearchresponse import (
456
+ InstitutionsSearchResponse,
457
+ InstitutionsSearchResponseTypedDict,
458
+ )
453
459
  from .issuedcard import IssuedCard, IssuedCardTypedDict
454
460
  from .issuedcardauthorization import (
455
461
  IssuedCardAuthorization,
@@ -702,7 +708,9 @@ if TYPE_CHECKING:
702
708
  RtpCreditPaymentMethodTypedDict,
703
709
  )
704
710
  from .rtpfailurecode import RTPFailureCode
711
+ from .rtpinstitution import RTPInstitution, RTPInstitutionTypedDict
705
712
  from .rtprejectioncode import RTPRejectionCode
713
+ from .rtpservices import RTPServices, RTPServicesTypedDict
706
714
  from .rtptransactiondetails import (
707
715
  RTPTransactionDetails,
708
716
  RTPTransactionDetailsTypedDict,
@@ -966,10 +974,14 @@ if TYPE_CHECKING:
966
974
  WebhookWalletAvailableBalance,
967
975
  WebhookWalletAvailableBalanceTypedDict,
968
976
  )
977
+ from .wireinstitution import WireInstitution, WireInstitutionTypedDict
978
+ from .wireservices import WireServices, WireServicesTypedDict
969
979
 
970
980
  __all__ = [
971
981
  "ACHException",
972
982
  "ACHExceptionTypedDict",
983
+ "ACHInstitution",
984
+ "ACHInstitutionTypedDict",
973
985
  "ACHPaymentDetails",
974
986
  "ACHPaymentDetailsError",
975
987
  "ACHPaymentDetailsErrorTypedDict",
@@ -1161,6 +1173,8 @@ __all__ = [
1161
1173
  "CompleteMicroDepositsTypedDict",
1162
1174
  "CompletedMicroDeposits",
1163
1175
  "CompletedMicroDepositsTypedDict",
1176
+ "Contact",
1177
+ "ContactTypedDict",
1164
1178
  "CountriesErrors",
1165
1179
  "CountriesErrorsTypedDict",
1166
1180
  "CreateAccount",
@@ -1357,6 +1371,8 @@ __all__ = [
1357
1371
  "IndustryCodesTypedDict",
1358
1372
  "IndustryTaxonomy",
1359
1373
  "IndustryTaxonomyTypedDict",
1374
+ "InstitutionsSearchResponse",
1375
+ "InstitutionsSearchResponseTypedDict",
1360
1376
  "IssuedCard",
1361
1377
  "IssuedCardAuthorization",
1362
1378
  "IssuedCardAuthorizationEvent",
@@ -1534,7 +1550,11 @@ __all__ = [
1534
1550
  "QRCode",
1535
1551
  "QRCodeTypedDict",
1536
1552
  "RTPFailureCode",
1553
+ "RTPInstitution",
1554
+ "RTPInstitutionTypedDict",
1537
1555
  "RTPRejectionCode",
1556
+ "RTPServices",
1557
+ "RTPServicesTypedDict",
1538
1558
  "RTPTransactionDetails",
1539
1559
  "RTPTransactionDetailsTypedDict",
1540
1560
  "RTPTransactionStatus",
@@ -1776,6 +1796,10 @@ __all__ = [
1776
1796
  "WebhookTransferPaymentMethodDetailsTypedDict",
1777
1797
  "WebhookWalletAvailableBalance",
1778
1798
  "WebhookWalletAvailableBalanceTypedDict",
1799
+ "WireInstitution",
1800
+ "WireInstitutionTypedDict",
1801
+ "WireServices",
1802
+ "WireServicesTypedDict",
1779
1803
  ]
1780
1804
 
1781
1805
  _dynamic_imports: dict[str, str] = {
@@ -1803,6 +1827,8 @@ _dynamic_imports: dict[str, str] = {
1803
1827
  "AchDebitFundPaymentMethodTypedDict": ".achdebitfundpaymentmethod",
1804
1828
  "ACHException": ".achexception",
1805
1829
  "ACHExceptionTypedDict": ".achexception",
1830
+ "ACHInstitution": ".achinstitution",
1831
+ "ACHInstitutionTypedDict": ".achinstitution",
1806
1832
  "AchLocation": ".achlocation",
1807
1833
  "AchLocationTypedDict": ".achlocation",
1808
1834
  "AchParticipant": ".achparticipant",
@@ -1966,6 +1992,8 @@ _dynamic_imports: dict[str, str] = {
1966
1992
  "CompletedMicroDepositsTypedDict": ".completedmicrodeposits",
1967
1993
  "CompleteMicroDeposits": ".completemicrodeposits",
1968
1994
  "CompleteMicroDepositsTypedDict": ".completemicrodeposits",
1995
+ "Contact": ".contact",
1996
+ "ContactTypedDict": ".contact",
1969
1997
  "CountriesErrors": ".countrieserrors",
1970
1998
  "CountriesErrorsTypedDict": ".countrieserrors",
1971
1999
  "CreateAccount": ".createaccount",
@@ -2164,6 +2192,8 @@ _dynamic_imports: dict[str, str] = {
2164
2192
  "IndustryCodesTypedDict": ".industrycodes",
2165
2193
  "IndustryTaxonomy": ".industrytaxonomy",
2166
2194
  "IndustryTaxonomyTypedDict": ".industrytaxonomy",
2195
+ "InstitutionsSearchResponse": ".institutionssearchresponse",
2196
+ "InstitutionsSearchResponseTypedDict": ".institutionssearchresponse",
2167
2197
  "IssuedCard": ".issuedcard",
2168
2198
  "IssuedCardTypedDict": ".issuedcard",
2169
2199
  "IssuedCardAuthorization": ".issuedcardauthorization",
@@ -2379,7 +2409,11 @@ _dynamic_imports: dict[str, str] = {
2379
2409
  "RtpCreditPaymentMethodPaymentMethodType": ".rtpcreditpaymentmethod",
2380
2410
  "RtpCreditPaymentMethodTypedDict": ".rtpcreditpaymentmethod",
2381
2411
  "RTPFailureCode": ".rtpfailurecode",
2412
+ "RTPInstitution": ".rtpinstitution",
2413
+ "RTPInstitutionTypedDict": ".rtpinstitution",
2382
2414
  "RTPRejectionCode": ".rtprejectioncode",
2415
+ "RTPServices": ".rtpservices",
2416
+ "RTPServicesTypedDict": ".rtpservices",
2383
2417
  "RTPTransactionDetails": ".rtptransactiondetails",
2384
2418
  "RTPTransactionDetailsTypedDict": ".rtptransactiondetails",
2385
2419
  "RTPTransactionStatus": ".rtptransactionstatus",
@@ -2587,6 +2621,10 @@ _dynamic_imports: dict[str, str] = {
2587
2621
  "WebhookTransferPaymentMethodDetailsTypedDict": ".webhooktransferpaymentmethoddetails",
2588
2622
  "WebhookWalletAvailableBalance": ".webhookwalletavailablebalance",
2589
2623
  "WebhookWalletAvailableBalanceTypedDict": ".webhookwalletavailablebalance",
2624
+ "WireInstitution": ".wireinstitution",
2625
+ "WireInstitutionTypedDict": ".wireinstitution",
2626
+ "WireServices": ".wireservices",
2627
+ "WireServicesTypedDict": ".wireservices",
2590
2628
  }
2591
2629
 
2592
2630
 
@@ -0,0 +1,28 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .address import Address, AddressTypedDict
5
+ from .contact import Contact, ContactTypedDict
6
+ from moovio_sdk.types import BaseModel
7
+ import pydantic
8
+ from typing import Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class ACHInstitutionTypedDict(TypedDict):
13
+ name: str
14
+ r"""Name of the financial institution."""
15
+ routing_number: str
16
+ address: NotRequired[AddressTypedDict]
17
+ contact: NotRequired[ContactTypedDict]
18
+
19
+
20
+ class ACHInstitution(BaseModel):
21
+ name: str
22
+ r"""Name of the financial institution."""
23
+
24
+ routing_number: Annotated[str, pydantic.Field(alias="routingNumber")]
25
+
26
+ address: Optional[Address] = None
27
+
28
+ contact: Optional[Contact] = None
@@ -0,0 +1,15 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .phonenumber import PhoneNumber, PhoneNumberTypedDict
5
+ from moovio_sdk.types import BaseModel
6
+ from typing import Optional
7
+ from typing_extensions import NotRequired, TypedDict
8
+
9
+
10
+ class ContactTypedDict(TypedDict):
11
+ phone: NotRequired[PhoneNumberTypedDict]
12
+
13
+
14
+ class Contact(BaseModel):
15
+ phone: Optional[PhoneNumber] = None
@@ -0,0 +1,23 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .achinstitution import ACHInstitution, ACHInstitutionTypedDict
5
+ from .rtpinstitution import RTPInstitution, RTPInstitutionTypedDict
6
+ from .wireinstitution import WireInstitution, WireInstitutionTypedDict
7
+ from moovio_sdk.types import BaseModel
8
+ from typing import List
9
+ from typing_extensions import TypedDict
10
+
11
+
12
+ class InstitutionsSearchResponseTypedDict(TypedDict):
13
+ ach: List[ACHInstitutionTypedDict]
14
+ rtp: List[RTPInstitutionTypedDict]
15
+ wire: List[WireInstitutionTypedDict]
16
+
17
+
18
+ class InstitutionsSearchResponse(BaseModel):
19
+ ach: List[ACHInstitution]
20
+
21
+ rtp: List[RTPInstitution]
22
+
23
+ wire: List[WireInstitution]
@@ -0,0 +1,23 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .rtpservices import RTPServices, RTPServicesTypedDict
5
+ from moovio_sdk.types import BaseModel
6
+ import pydantic
7
+ from typing_extensions import Annotated, TypedDict
8
+
9
+
10
+ class RTPInstitutionTypedDict(TypedDict):
11
+ name: str
12
+ r"""Name of the financial institution."""
13
+ routing_number: str
14
+ services: RTPServicesTypedDict
15
+
16
+
17
+ class RTPInstitution(BaseModel):
18
+ name: str
19
+ r"""Name of the financial institution."""
20
+
21
+ routing_number: Annotated[str, pydantic.Field(alias="routingNumber")]
22
+
23
+ services: RTPServices
@@ -0,0 +1,23 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from moovio_sdk.types import BaseModel
5
+ import pydantic
6
+ from typing_extensions import Annotated, TypedDict
7
+
8
+
9
+ class RTPServicesTypedDict(TypedDict):
10
+ receive_payments: bool
11
+ r"""Can the institution receive payments"""
12
+ receive_request_for_payment: bool
13
+ r"""Can the institution receive request for payment messages"""
14
+
15
+
16
+ class RTPServices(BaseModel):
17
+ receive_payments: Annotated[bool, pydantic.Field(alias="receivePayments")]
18
+ r"""Can the institution receive payments"""
19
+
20
+ receive_request_for_payment: Annotated[
21
+ bool, pydantic.Field(alias="receiveRequestForPayment")
22
+ ]
23
+ r"""Can the institution receive request for payment messages"""
@@ -0,0 +1,28 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from .address import Address, AddressTypedDict
5
+ from .wireservices import WireServices, WireServicesTypedDict
6
+ from moovio_sdk.types import BaseModel
7
+ import pydantic
8
+ from typing import Optional
9
+ from typing_extensions import Annotated, NotRequired, TypedDict
10
+
11
+
12
+ class WireInstitutionTypedDict(TypedDict):
13
+ name: str
14
+ r"""Name of the financial institution."""
15
+ routing_number: str
16
+ services: WireServicesTypedDict
17
+ address: NotRequired[AddressTypedDict]
18
+
19
+
20
+ class WireInstitution(BaseModel):
21
+ name: str
22
+ r"""Name of the financial institution."""
23
+
24
+ routing_number: Annotated[str, pydantic.Field(alias="routingNumber")]
25
+
26
+ services: WireServices
27
+
28
+ address: Optional[Address] = None
@@ -0,0 +1,30 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from moovio_sdk.types import BaseModel
5
+ import pydantic
6
+ from typing_extensions import Annotated, TypedDict
7
+
8
+
9
+ class WireServicesTypedDict(TypedDict):
10
+ funds_transfer_status: bool
11
+ r"""The institution's capability to process standard Fedwire funds transfers."""
12
+ funds_settlement_only_status: bool
13
+ r"""The institution's capability for settlement-only transfers."""
14
+ book_entry_securities_transfer_status: bool
15
+ r"""The institution's capability to handle transfers of securities."""
16
+
17
+
18
+ class WireServices(BaseModel):
19
+ funds_transfer_status: Annotated[bool, pydantic.Field(alias="fundsTransferStatus")]
20
+ r"""The institution's capability to process standard Fedwire funds transfers."""
21
+
22
+ funds_settlement_only_status: Annotated[
23
+ bool, pydantic.Field(alias="fundsSettlementOnlyStatus")
24
+ ]
25
+ r"""The institution's capability for settlement-only transfers."""
26
+
27
+ book_entry_securities_transfer_status: Annotated[
28
+ bool, pydantic.Field(alias="bookEntrySecuritiesTransferStatus")
29
+ ]
30
+ r"""The institution's capability to handle transfers of securities."""
@@ -935,6 +935,14 @@ if TYPE_CHECKING:
935
935
  RevokeOnboardingInviteResponse,
936
936
  RevokeOnboardingInviteResponseTypedDict,
937
937
  )
938
+ from .searchinstitutions import (
939
+ SearchInstitutionsGlobals,
940
+ SearchInstitutionsGlobalsTypedDict,
941
+ SearchInstitutionsRequest,
942
+ SearchInstitutionsRequestTypedDict,
943
+ SearchInstitutionsResponse,
944
+ SearchInstitutionsResponseTypedDict,
945
+ )
938
946
  from .submitdisputeevidence import (
939
947
  SubmitDisputeEvidenceGlobals,
940
948
  SubmitDisputeEvidenceGlobalsTypedDict,
@@ -1776,6 +1784,12 @@ __all__ = [
1776
1784
  "RevokeOnboardingInviteRequestTypedDict",
1777
1785
  "RevokeOnboardingInviteResponse",
1778
1786
  "RevokeOnboardingInviteResponseTypedDict",
1787
+ "SearchInstitutionsGlobals",
1788
+ "SearchInstitutionsGlobalsTypedDict",
1789
+ "SearchInstitutionsRequest",
1790
+ "SearchInstitutionsRequestTypedDict",
1791
+ "SearchInstitutionsResponse",
1792
+ "SearchInstitutionsResponseTypedDict",
1779
1793
  "SubmitDisputeEvidenceGlobals",
1780
1794
  "SubmitDisputeEvidenceGlobalsTypedDict",
1781
1795
  "SubmitDisputeEvidenceRequest",
@@ -2582,6 +2596,12 @@ _dynamic_imports: dict[str, str] = {
2582
2596
  "RevokeOnboardingInviteRequestTypedDict": ".revokeonboardinginvite",
2583
2597
  "RevokeOnboardingInviteResponse": ".revokeonboardinginvite",
2584
2598
  "RevokeOnboardingInviteResponseTypedDict": ".revokeonboardinginvite",
2599
+ "SearchInstitutionsGlobals": ".searchinstitutions",
2600
+ "SearchInstitutionsGlobalsTypedDict": ".searchinstitutions",
2601
+ "SearchInstitutionsRequest": ".searchinstitutions",
2602
+ "SearchInstitutionsRequestTypedDict": ".searchinstitutions",
2603
+ "SearchInstitutionsResponse": ".searchinstitutions",
2604
+ "SearchInstitutionsResponseTypedDict": ".searchinstitutions",
2585
2605
  "SubmitDisputeEvidenceGlobals": ".submitdisputeevidence",
2586
2606
  "SubmitDisputeEvidenceGlobalsTypedDict": ".submitdisputeevidence",
2587
2607
  "SubmitDisputeEvidenceRequest": ".submitdisputeevidence",
@@ -0,0 +1,84 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from __future__ import annotations
4
+ from moovio_sdk.models.components import (
5
+ institutionssearchresponse as components_institutionssearchresponse,
6
+ )
7
+ from moovio_sdk.types import BaseModel
8
+ from moovio_sdk.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata
9
+ import pydantic
10
+ from typing import Dict, List, Optional
11
+ from typing_extensions import Annotated, NotRequired, TypedDict
12
+
13
+
14
+ class SearchInstitutionsGlobalsTypedDict(TypedDict):
15
+ x_moov_version: NotRequired[str]
16
+ r"""Specify an API version.
17
+
18
+ API versioning follows the format `vYYYY.QQ.BB`, where
19
+ - `YYYY` is the year
20
+ - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
21
+ - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
22
+ - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
23
+
24
+ The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
25
+ """
26
+
27
+
28
+ class SearchInstitutionsGlobals(BaseModel):
29
+ x_moov_version: Annotated[
30
+ Optional[str],
31
+ pydantic.Field(alias="x-moov-version"),
32
+ FieldMetadata(header=HeaderMetadata(style="simple", explode=False)),
33
+ ] = "v2024.01.00"
34
+ r"""Specify an API version.
35
+
36
+ API versioning follows the format `vYYYY.QQ.BB`, where
37
+ - `YYYY` is the year
38
+ - `QQ` is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
39
+ - `BB` is the build number, starting at `.01`, for subsequent builds in the same quarter.
40
+ - For example, `v2024.01.00` is the initial release of the first quarter of 2024.
41
+
42
+ The `latest` version represents the most recent development state. It may include breaking changes and should be treated as a beta release.
43
+ """
44
+
45
+
46
+ class SearchInstitutionsRequestTypedDict(TypedDict):
47
+ name: NotRequired[str]
48
+ r"""Name of the financial institution. Either `name` or `routingNumber` is required."""
49
+ routing_number: NotRequired[str]
50
+ r"""Routing number for a financial institution. Either `routingNumber` or `name` is required."""
51
+ limit: NotRequired[int]
52
+ r"""Maximum results returned by a search."""
53
+
54
+
55
+ class SearchInstitutionsRequest(BaseModel):
56
+ name: Annotated[
57
+ Optional[str],
58
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=False)),
59
+ ] = None
60
+ r"""Name of the financial institution. Either `name` or `routingNumber` is required."""
61
+
62
+ routing_number: Annotated[
63
+ Optional[str],
64
+ pydantic.Field(alias="routingNumber"),
65
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=False)),
66
+ ] = None
67
+ r"""Routing number for a financial institution. Either `routingNumber` or `name` is required."""
68
+
69
+ limit: Annotated[
70
+ Optional[int],
71
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=False)),
72
+ ] = None
73
+ r"""Maximum results returned by a search."""
74
+
75
+
76
+ class SearchInstitutionsResponseTypedDict(TypedDict):
77
+ headers: Dict[str, List[str]]
78
+ result: components_institutionssearchresponse.InstitutionsSearchResponseTypedDict
79
+
80
+
81
+ class SearchInstitutionsResponse(BaseModel):
82
+ headers: Dict[str, List[str]]
83
+
84
+ result: components_institutionssearchresponse.InstitutionsSearchResponse
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: moovio_sdk
3
- Version: 0.11.1
3
+ Version: 0.11.2
4
4
  Summary: Python Client SDK Generated by Speakeasy.
5
5
  Author: Speakeasy
6
6
  Requires-Python: >=3.9.2
@@ -140,6 +140,7 @@ from moovio_sdk.utils import parse_datetime
140
140
 
141
141
 
142
142
  with Moov(
143
+ x_moov_version="v2024.01.00",
143
144
  security=components.Security(
144
145
  username="",
145
146
  password="",
@@ -197,6 +198,7 @@ from moovio_sdk.utils import parse_datetime
197
198
  async def main():
198
199
 
199
200
  async with Moov(
201
+ x_moov_version="v2024.01.00",
200
202
  security=components.Security(
201
203
  username="",
202
204
  password="",
@@ -210,10 +212,10 @@ async def main():
210
212
  ), metadata={
211
213
  "optional": "metadata",
212
214
  }, terms_of_service={
213
- "accepted_date": parse_datetime("2024-08-23T23:57:42.538Z"),
215
+ "accepted_date": parse_datetime("2023-05-21T04:53:54.554Z"),
214
216
  "accepted_ip": "172.217.2.46",
215
217
  "accepted_user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36",
216
- "accepted_domain": "https://flowery-marketplace.com",
218
+ "accepted_domain": "https://esteemed-velocity.net",
217
219
  }, customer_support={
218
220
  "phone": {
219
221
  "number": "8185551212",
@@ -267,6 +269,7 @@ with Moov(
267
269
  username="",
268
270
  password="",
269
271
  ),
272
+ x_moov_version="v2024.01.00",
270
273
  ) as moov:
271
274
 
272
275
  res = moov.accounts.create(account_type=components.CreateAccountType.BUSINESS, profile=components.CreateProfile(
@@ -821,6 +824,14 @@ you'll need to specify the `/profile-enrichment.read` scope.
821
824
 
822
825
  ### [institutions](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/institutions/README.md)
823
826
 
827
+ * [search_institutions](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/institutions/README.md#search_institutions) - Search for financial institutions by name or routing number.
828
+
829
+ This endpoint returns metadata about each matched institution, including basic identifying details (such as name, routing number, and address) and information about which payment services they support (e.g., ACH, RTP, and Wire).
830
+
831
+ This can be used to validate a financial institution before initiating payment activity, or to check which payment rails are available for a given routing number.
832
+
833
+ To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
834
+ you'll need to specify the `/institutions.read` scope.
824
835
  * [search](https://github.com/moovfinancial/moov-python/blob/master/docs/sdks/institutions/README.md#search) - Search for institutions by either their name or routing number.
825
836
 
826
837
  To access this endpoint using an [access token](https://docs.moov.io/api/authentication/access-tokens/)
@@ -1175,6 +1186,7 @@ from moovio_sdk.models import components
1175
1186
 
1176
1187
 
1177
1188
  with Moov(
1189
+ x_moov_version="v2024.01.00",
1178
1190
  security=components.Security(
1179
1191
  username="",
1180
1192
  password="",
@@ -1205,6 +1217,7 @@ from moovio_sdk.utils import BackoffStrategy, RetryConfig, parse_datetime
1205
1217
 
1206
1218
 
1207
1219
  with Moov(
1220
+ x_moov_version="v2024.01.00",
1208
1221
  security=components.Security(
1209
1222
  username="",
1210
1223
  password="",
@@ -1260,6 +1273,7 @@ from moovio_sdk.utils import BackoffStrategy, RetryConfig, parse_datetime
1260
1273
 
1261
1274
  with Moov(
1262
1275
  retry_config=RetryConfig("backoff", BackoffStrategy(1, 50, 1.1, 100), False),
1276
+ x_moov_version="v2024.01.00",
1263
1277
  security=components.Security(
1264
1278
  username="",
1265
1279
  password="",
@@ -1337,6 +1351,7 @@ from moovio_sdk.utils import parse_datetime
1337
1351
 
1338
1352
 
1339
1353
  with Moov(
1354
+ x_moov_version="v2024.01.00",
1340
1355
  security=components.Security(
1341
1356
  username="",
1342
1357
  password="",
@@ -1408,6 +1423,7 @@ from moovio_sdk.utils import parse_datetime
1408
1423
 
1409
1424
  with Moov(
1410
1425
  server_url="https://api.moov.io",
1426
+ x_moov_version="v2024.01.00",
1411
1427
  security=components.Security(
1412
1428
  username="",
1413
1429
  password="",
@@ -1548,6 +1564,7 @@ from moovio_sdk.models import components
1548
1564
  def main():
1549
1565
 
1550
1566
  with Moov(
1567
+ x_moov_version="v2024.01.00",
1551
1568
  security=components.Security(
1552
1569
  username="",
1553
1570
  password="",
@@ -1560,6 +1577,7 @@ def main():
1560
1577
  async def amain():
1561
1578
 
1562
1579
  async with Moov(
1580
+ x_moov_version="v2024.01.00",
1563
1581
  security=components.Security(
1564
1582
  username="",
1565
1583
  password="",
@@ -3,7 +3,7 @@ moovio_sdk/_hooks/__init__.py,sha256=9_7W5jAYw8rcO8Kfc-Ty-lB82BHfksAJJpVFb_UeU1c
3
3
  moovio_sdk/_hooks/registration.py,sha256=1QZB41w6If7I9dXiOSQx6dhSc6BPWrnI5Q5bMOr4iVA,624
4
4
  moovio_sdk/_hooks/sdkhooks.py,sha256=2XuMgiV2N7UE7lN00Is-c3spxVWigYitXS6xSmS_Qow,2560
5
5
  moovio_sdk/_hooks/types.py,sha256=Yi9LD8_sd4zG7_idzCZY4MTxTXMhDlmCdpQvU4dXFI4,3049
6
- moovio_sdk/_version.py,sha256=t0VwxN8fQPxW1kB6yf1W4yX9BbbUc8e2ovky0fmN44k,466
6
+ moovio_sdk/_version.py,sha256=O1sJNuJ1fnvp7J-cKF4v3nZxiYqDyldghFWEupE3r6c,466
7
7
  moovio_sdk/account_terminal_applications.py,sha256=QYvrGYr0btoK5uCZYngGA2qDbwzSb9jDcNULW23qtDA,42239
8
8
  moovio_sdk/accounts.py,sha256=GU155vJqo6C__ll5XcyntnDsuQ20rsdcI5jB57I2g7Y,109095
9
9
  moovio_sdk/adjustments.py,sha256=ZGmgUTm53He6-6lvOMgmx1eLJ5TjCgAvn5ULgHpMgNc,19460
@@ -24,10 +24,10 @@ moovio_sdk/fee_plans.py,sha256=z3KCQpEWSADp9DP_HM_FO3iXG0flfavArF9zQ3pJKco,74414
24
24
  moovio_sdk/files.py,sha256=FdoICN-Mo0Fe-_3Kzia2-Ki5M3ua2OgZBk1kU9-S9Ug,32424
25
25
  moovio_sdk/httpclient.py,sha256=Eu73urOAiZQtdUIyOUnPccxCiBbWEKrXG-JrRG3SLM4,3946
26
26
  moovio_sdk/industries.py,sha256=cj1Q3c64ztMkpW8LM5goCowlEp6frPAl_koJ2iWGqAg,10333
27
- moovio_sdk/institutions.py,sha256=UJ6kOjBf-Jc8acmB79gURmXWX15p-IOPmeEKc0pykbA,11332
27
+ moovio_sdk/institutions.py,sha256=Pb-3GEP9HvMWYUDYWY0Jf_Yp-J0Nah_1j070U1gAzWY,22364
28
28
  moovio_sdk/issuing_transactions.py,sha256=wIEDq-pbgTIJDJ8XVGCzTqkyFKXQZNmeQzpK3cTxmGs,53682
29
29
  moovio_sdk/models/__init__.py,sha256=wIW9sbvSKlrGyoPY4mXvHqw-_Inpl6zqpN6U6j-w6SU,83
30
- moovio_sdk/models/components/__init__.py,sha256=JBWlLsyfWeV8zSS5j3znwbMtx0vm_9lkFTajByvbrAo,108345
30
+ moovio_sdk/models/components/__init__.py,sha256=1i0D3cbmeaus4WvRbg7340uswOA8hVJzwQiicpOF8Uw,109891
31
31
  moovio_sdk/models/components/account.py,sha256=QejMoPHYyHF-6TRrUVKYyfD_6Qbl7lFVOEaE8zlOgmI,4181
32
32
  moovio_sdk/models/components/accountcapability.py,sha256=LJ908Zr4lw2qtMwUMLWoscTUjj5wV7YlZ4Z0Vv_abjg,527
33
33
  moovio_sdk/models/components/accountcountries.py,sha256=sI1VAu3PqS2HTOarkT7f6FbkgUT55NL57PvAZKcbRHw,456
@@ -39,6 +39,7 @@ moovio_sdk/models/components/achcreditstandardpaymentmethod.py,sha256=WFJGhW0XDs
39
39
  moovio_sdk/models/components/achdebitcollectpaymentmethod.py,sha256=tloygdPdlRMokw5d4RC5qUg-FZ0KP7c-U_6ugKW_C8s,1255
40
40
  moovio_sdk/models/components/achdebitfundpaymentmethod.py,sha256=i0j7Q6vN4ur98-gArXKdDom9o5wX9Lj0aA9mBku2rjw,1234
41
41
  moovio_sdk/models/components/achexception.py,sha256=ZG9ibMCFO3MlghW1cbOnCDXaToQP8UEFyJ_LhySwfCw,497
42
+ moovio_sdk/models/components/achinstitution.py,sha256=CxA2fHhgCZddGsFF6foT1gs6EIRVGZIhhXumZXwmIbc,811
42
43
  moovio_sdk/models/components/achlocation.py,sha256=NrxJn_ylB0DYhD1eAq1aaS5yQ-acLYFXacGjjBgvr4Q,590
43
44
  moovio_sdk/models/components/achparticipant.py,sha256=rREThqWkzw5Iz72--0IZFg-qZbNBDrcovTonH2VAIso,2609
44
45
  moovio_sdk/models/components/achpaymentdetails.py,sha256=ImR3HWJxVzbdXq_QuMTmfs-_DxQFxTez4s7kczFwlfs,1180
@@ -130,6 +131,7 @@ moovio_sdk/models/components/colorsvalidationerror.py,sha256=g2cRZvwM1Fj68K-KYn1
130
131
  moovio_sdk/models/components/completebankaccountverification.py,sha256=lkKTBvwBDCLY0nbd6kmm_4Ozr1B133pUq1Rii0n9jZA,468
131
132
  moovio_sdk/models/components/completedmicrodeposits.py,sha256=HKa1agwiNZuBX8PbVxt3JANnmDbUPyyizWc825fgopg,395
132
133
  moovio_sdk/models/components/completemicrodeposits.py,sha256=POm5oRn9d3RKRr6hfaqRBYm3v38KYZ8A1i0OMpFN_rE,720
134
+ moovio_sdk/models/components/contact.py,sha256=c7PSjU5QezG4QjGNbsh0mmhbGOh1iyM9W8rfzkDWp5o,437
133
135
  moovio_sdk/models/components/countrieserrors.py,sha256=Dti0Kd5Z3IXq4de3BfQxXOQbT989RU43ZI62WSztsEA,352
134
136
  moovio_sdk/models/components/createaccount.py,sha256=E4Csx_VK6kkIOLksGmhFzrVd-LwzpIQCujLv3LyBPws,3202
135
137
  moovio_sdk/models/components/createaccounterror.py,sha256=ZvhavI3PIu-dzPGS3Zr2rgQVXYzvd4-Jsm9aoh05w30,1686
@@ -222,6 +224,7 @@ moovio_sdk/models/components/individualnameupdate.py,sha256=1rgPVODNASPCbVtWe1Qu
222
224
  moovio_sdk/models/components/individualprofile.py,sha256=9XYieNlD3tDvoAgR1yU5VvtSWyKXcIIWUqZcULwpqH0,1561
223
225
  moovio_sdk/models/components/industrycodes.py,sha256=dxRs-_R5VFy1SdRvihjk2AOcmVaylbViJvECmzJ4yRc,479
224
226
  moovio_sdk/models/components/industrytaxonomy.py,sha256=NUOOo4LqN-yTUtGz6PVmFjhnSYrBFGFZfTJmbEjw6Es,1258
227
+ moovio_sdk/models/components/institutionssearchresponse.py,sha256=5iZdgsojwvCdt5XyVEaBMwp7iEGGASNHOvOQtKcfgp8,734
225
228
  moovio_sdk/models/components/issuedcard.py,sha256=J6LJANU1CqtziTW_kw38R483nJTpICmNBAKq2emfc6c,3845
226
229
  moovio_sdk/models/components/issuedcardauthorization.py,sha256=CBs07Xy6Zj6SycF0dUFCA7yiqiH_pW9GzRJX5vkKQN4,2252
227
230
  moovio_sdk/models/components/issuedcardauthorizationevent.py,sha256=e_2iichL1mRfAPhLDYJZRSsynYlyTdNcBKBJ3FseXpY,1711
@@ -327,7 +330,9 @@ moovio_sdk/models/components/reversedwithrefund.py,sha256=iMxQZylVqD0kKvhxiDOvF5
327
330
  moovio_sdk/models/components/revoketokenrequest.py,sha256=eKZw_KGUzDJCMALIwMapG4_6T45r4gk0SJG7vUFeJEU,1537
328
331
  moovio_sdk/models/components/rtpcreditpaymentmethod.py,sha256=xlAp107CAC3vjxSNP5F6ty-13__-29EMWOU3TI56OWY,1211
329
332
  moovio_sdk/models/components/rtpfailurecode.py,sha256=N33j24TuZ-NkdzQPaQi8o0Q6qYGPM9bUNl8ZbmoWSTo,604
333
+ moovio_sdk/models/components/rtpinstitution.py,sha256=iW__EloLCrraULxX7Rq3X0sOeLNsKSYrFSH7o-WkkUQ,633
330
334
  moovio_sdk/models/components/rtprejectioncode.py,sha256=dsTWcHKMmR4SwsWqxEVZEl6ULQiaCt2KnoGEE7JjKvI,643
335
+ moovio_sdk/models/components/rtpservices.py,sha256=Kb4EPBStQ3BD3M_Ki4dkwI2rxDdqZYOod51lMo11XpI,777
331
336
  moovio_sdk/models/components/rtptransactiondetails.py,sha256=pjcNxWtz1-EaEebpuhs4zNoHyDmQotbQJXg6shUCjF4,1908
332
337
  moovio_sdk/models/components/rtptransactionstatus.py,sha256=aWbQtbT8CJOU-FrbzcotCFPP5h71RxbTyXcBtlDCFZo,369
333
338
  moovio_sdk/models/components/runtransfer.py,sha256=6CxqaWcJT6UvhUsJGw51IwQc6pkPvtr3wwIuEIkq7Hk,998
@@ -427,6 +432,8 @@ moovio_sdk/models/components/webhookevent.py,sha256=MNjoiBZwOPr0oDzpK7elJRa1w_RJ
427
432
  moovio_sdk/models/components/webhookeventtype.py,sha256=8_yAiclty6MJpZh4fmfZouxxkSc0KA0FYXEmpdUHfd8,1576
428
433
  moovio_sdk/models/components/webhooktransferpaymentmethoddetails.py,sha256=UW1IFVidGtC0bOT5sV0m0uiJwblvbP6KopkTqkj5SYg,688
429
434
  moovio_sdk/models/components/webhookwalletavailablebalance.py,sha256=asDto4Ap7EWBnbFLl1a9QcHtFU6gF8nIHReKuswrQac,580
435
+ moovio_sdk/models/components/wireinstitution.py,sha256=HAouMCzuM9UtkAW9hgtRW8cMq8vBgYuxj_NFQxsiCbY,810
436
+ moovio_sdk/models/components/wireservices.py,sha256=5LbfeTazeWxrCRk2HBCtyByTZSeg9g4fdhK81lmYICo,1207
430
437
  moovio_sdk/models/errors/__init__.py,sha256=F8ie8g1kKJRSmDWp3Ijj42JabtGhCbIqHimzbVfk7M4,11106
431
438
  moovio_sdk/models/errors/accountterminalapplicationerror.py,sha256=WG8srFSdwI4-cm--EYa8vC1JNL0oJJkyrW3KQWElQzg,742
432
439
  moovio_sdk/models/errors/addcapabilitieserror.py,sha256=kdp29Khv0aN1bgoa7RXQxbFKDpGcXlPcwHID0JC1Mjw,684
@@ -465,7 +472,7 @@ moovio_sdk/models/errors/updatepaymentlinkerror.py,sha256=FrRZvrNFtNBuaKyZKStjEM
465
472
  moovio_sdk/models/errors/updateunderwritingerror.py,sha256=A8XDduhlAQo6xcZE29atSa7UsQ9uEg2xbbur-V1yUbg,2409
466
473
  moovio_sdk/models/internal/__init__.py,sha256=7kjDhcmI428H0YHeZHJRcKSXQE1N2dTPHi3FtLVFaMM,1120
467
474
  moovio_sdk/models/internal/globals.py,sha256=uz3scUHVTLawU2bzU4ov4C3bSRwoNolTJ5O27QSMIgA,1701
468
- moovio_sdk/models/operations/__init__.py,sha256=H3bq9gCAY3kMc31aGrR54kvVGsrc5xQeCvnanIG4E3g,116429
475
+ moovio_sdk/models/operations/__init__.py,sha256=N8k6Z6pUK2tBPuYiNSIgPugPDGOlvddoH5fYDLK16Xs,117304
469
476
  moovio_sdk/models/operations/acceptdispute.py,sha256=imJTeB7PuXqfKBqA-VkIAFFNpW92U7DMxPx7CEb9eDQ,2544
470
477
  moovio_sdk/models/operations/assignaccountcountries.py,sha256=NIGZ5oNIW7Ei4Y7WNnMVqcYUSQgIq3o_TlR0_ptwLJg,2753
471
478
  moovio_sdk/models/operations/cancelschedule.py,sha256=X0vmSDaW6vyM387Tf02KSBCZNggKxNYm_T0W5zJY494,2394
@@ -583,6 +590,7 @@ moovio_sdk/models/operations/requestcard.py,sha256=80Er9het_DbqLa885WTfQONNApodd
583
590
  moovio_sdk/models/operations/retrievefees.py,sha256=FxJ1G5TmeE2suHC9RJ0OaHPjY74OXX338mUtDsuClWs,4248
584
591
  moovio_sdk/models/operations/revokeaccesstoken.py,sha256=iQh2kXKudIgZ4rYW9WF3XbYsUvqkj2BauALJ30PlVG4,1916
585
592
  moovio_sdk/models/operations/revokeonboardinginvite.py,sha256=Wtzx9hiHwHnaIqLwB6PkIUeT29wJ-ZZGnsAP1o_3E6s,2187
593
+ moovio_sdk/models/operations/searchinstitutions.py,sha256=0ampEadvf0MjiJJ1BJGnEQVxYW7lUTt7B8vls27m2xY,3364
586
594
  moovio_sdk/models/operations/submitdisputeevidence.py,sha256=2Giy1cV5pJyrftgJpgLEo0DTKHaskAess58KSSkmR58,2592
587
595
  moovio_sdk/models/operations/testendtoendtoken.py,sha256=6Ng5A-wTyNXaaRLFRD_sEKsy2oscmP925EBC4XG1dDI,2092
588
596
  moovio_sdk/models/operations/updateaccount.py,sha256=l2boXlxUCTIXrNvHBdEzquycRrOZFj2BRqI7Sc28ikY,2675
@@ -635,6 +643,6 @@ moovio_sdk/utils/url.py,sha256=BgGPgcTA6MRK4bF8fjP2dUopN3NzEzxWMXPBVg8NQUA,5254
635
643
  moovio_sdk/utils/values.py,sha256=CcaCXEa3xHhkUDROyXZocN8f0bdITftv9Y0P9lTf0YM,3517
636
644
  moovio_sdk/wallet_transactions.py,sha256=WVfhf2iPS5qJ3ZWEYn5e3XXKpc-tNgoKUSsD9Q-8LIM,25131
637
645
  moovio_sdk/wallets.py,sha256=uGrFzCj6wCmdsEleXWF77njq9L185aWNHlRzFekKs98,19438
638
- moovio_sdk-0.11.1.dist-info/METADATA,sha256=FRBNqveMkIZBck-biBuOTyWJnqiEAzKhHw1K1RqACjE,93548
639
- moovio_sdk-0.11.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
640
- moovio_sdk-0.11.1.dist-info/RECORD,,
646
+ moovio_sdk-0.11.2.dist-info/METADATA,sha256=LG9NQlzWZP6bsr8RL2azoaeEJJ0DtnVOf8YP8SOuCm4,94650
647
+ moovio_sdk-0.11.2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
648
+ moovio_sdk-0.11.2.dist-info/RECORD,,