diff --git a/.stats.yml b/.stats.yml index 34095f9c8..93f240e6b 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1 +1 @@ -configured_endpoints: 141 +configured_endpoints: 144 diff --git a/api.md b/api.md index 2549e4479..849852abf 100644 --- a/api.md +++ b/api.md @@ -380,6 +380,7 @@ Methods: - client.entities.retrieve(entity_id) -> Entity - client.entities.list(\*\*params) -> SyncPage[Entity] - client.entities.archive(entity_id) -> Entity +- client.entities.update_address(entity_id, \*\*params) -> Entity ## BeneficialOwners @@ -387,6 +388,7 @@ Methods: - client.entities.beneficial_owners.create(\*\*params) -> Entity - client.entities.beneficial_owners.archive(\*\*params) -> Entity +- client.entities.beneficial_owners.update_address(\*\*params) -> Entity ## SupplementalDocuments @@ -414,6 +416,7 @@ Methods: - client.inbound_ach_transfers.retrieve(inbound_ach_transfer_id) -> InboundACHTransfer - client.inbound_ach_transfers.list(\*\*params) -> SyncPage[InboundACHTransfer] - client.inbound_ach_transfers.decline(inbound_ach_transfer_id) -> InboundACHTransfer +- client.inbound_ach_transfers.notification_of_change(inbound_ach_transfer_id, \*\*params) -> InboundACHTransfer - client.inbound_ach_transfers.transfer_return(inbound_ach_transfer_id, \*\*params) -> InboundACHTransfer # InboundWireDrawdownRequests diff --git a/src/increase/resources/entities/beneficial_owners.py b/src/increase/resources/entities/beneficial_owners.py index 632aa9c23..e2c923cf8 100644 --- a/src/increase/resources/entities/beneficial_owners.py +++ b/src/increase/resources/entities/beneficial_owners.py @@ -10,6 +10,7 @@ from ...types.entities import ( beneficial_owner_create_params, beneficial_owner_archive_params, + beneficial_owner_update_address_params, ) __all__ = ["BeneficialOwners", "AsyncBeneficialOwners"] @@ -118,6 +119,61 @@ def archive( cast_to=Entity, ) + def update_address( + self, + *, + address: beneficial_owner_update_address_params.Address, + beneficial_owner_id: str, + entity_id: str, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | None | NotGiven = NOT_GIVEN, + idempotency_key: str | None = None, + ) -> Entity: + """ + Update the address for a beneficial owner belonging to a corporate Entity + + Args: + address: The individual's physical address. Post Office Boxes are disallowed. + + beneficial_owner_id: The identifying details of anyone controlling or owning 25% or more of the + corporation. + + entity_id: The identifier of the Entity to retrieve. + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + + idempotency_key: Specify a custom idempotency key for this request + """ + return self._post( + "/entity_beneficial_owners/address", + body=maybe_transform( + { + "address": address, + "beneficial_owner_id": beneficial_owner_id, + "entity_id": entity_id, + }, + beneficial_owner_update_address_params.BeneficialOwnerUpdateAddressParams, + ), + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + idempotency_key=idempotency_key, + ), + cast_to=Entity, + ) + class AsyncBeneficialOwners(AsyncAPIResource): async def create( @@ -221,3 +277,58 @@ async def archive( ), cast_to=Entity, ) + + async def update_address( + self, + *, + address: beneficial_owner_update_address_params.Address, + beneficial_owner_id: str, + entity_id: str, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | None | NotGiven = NOT_GIVEN, + idempotency_key: str | None = None, + ) -> Entity: + """ + Update the address for a beneficial owner belonging to a corporate Entity + + Args: + address: The individual's physical address. Post Office Boxes are disallowed. + + beneficial_owner_id: The identifying details of anyone controlling or owning 25% or more of the + corporation. + + entity_id: The identifier of the Entity to retrieve. + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + + idempotency_key: Specify a custom idempotency key for this request + """ + return await self._post( + "/entity_beneficial_owners/address", + body=maybe_transform( + { + "address": address, + "beneficial_owner_id": beneficial_owner_id, + "entity_id": entity_id, + }, + beneficial_owner_update_address_params.BeneficialOwnerUpdateAddressParams, + ), + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + idempotency_key=idempotency_key, + ), + cast_to=Entity, + ) diff --git a/src/increase/resources/entities/entities.py b/src/increase/resources/entities/entities.py index 55b17b0fb..d414a9072 100644 --- a/src/increase/resources/entities/entities.py +++ b/src/increase/resources/entities/entities.py @@ -5,7 +5,12 @@ from typing import TYPE_CHECKING, List from typing_extensions import Literal -from ...types import Entity, entity_list_params, entity_create_params +from ...types import ( + Entity, + entity_list_params, + entity_create_params, + entity_update_address_params, +) from ..._types import NOT_GIVEN, Body, Query, Headers, NotGiven from ..._utils import maybe_transform from ..._resource import SyncAPIResource, AsyncAPIResource @@ -242,6 +247,50 @@ def archive( cast_to=Entity, ) + def update_address( + self, + entity_id: str, + *, + address: entity_update_address_params.Address, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | None | NotGiven = NOT_GIVEN, + idempotency_key: str | None = None, + ) -> Entity: + """ + Update a Natural Person or Corporation's address + + Args: + entity_id: The identifier of the Entity to archive. + + address: The entity's physical address. Post Office Boxes are disallowed. + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + + idempotency_key: Specify a custom idempotency key for this request + """ + return self._post( + f"/entities/{entity_id}/address", + body=maybe_transform({"address": address}, entity_update_address_params.EntityUpdateAddressParams), + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + idempotency_key=idempotency_key, + ), + cast_to=Entity, + ) + class AsyncEntities(AsyncAPIResource): beneficial_owners: AsyncBeneficialOwners @@ -464,3 +513,47 @@ async def archive( ), cast_to=Entity, ) + + async def update_address( + self, + entity_id: str, + *, + address: entity_update_address_params.Address, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | None | NotGiven = NOT_GIVEN, + idempotency_key: str | None = None, + ) -> Entity: + """ + Update a Natural Person or Corporation's address + + Args: + entity_id: The identifier of the Entity to archive. + + address: The entity's physical address. Post Office Boxes are disallowed. + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + + idempotency_key: Specify a custom idempotency key for this request + """ + return await self._post( + f"/entities/{entity_id}/address", + body=maybe_transform({"address": address}, entity_update_address_params.EntityUpdateAddressParams), + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + idempotency_key=idempotency_key, + ), + cast_to=Entity, + ) diff --git a/src/increase/resources/external_accounts.py b/src/increase/resources/external_accounts.py index b00041e13..adc4c9ff7 100644 --- a/src/increase/resources/external_accounts.py +++ b/src/increase/resources/external_accounts.py @@ -178,6 +178,7 @@ def list( *, cursor: str | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, + routing_number: str | NotGiven = NOT_GIVEN, status: external_account_list_params.Status | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -195,6 +196,8 @@ def list( limit: Limit the size of the list that is returned. The default (and maximum) is 100 objects. + routing_number: Filter External Accounts to those with the specified Routing Number. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -215,6 +218,7 @@ def list( { "cursor": cursor, "limit": limit, + "routing_number": routing_number, "status": status, }, external_account_list_params.ExternalAccountListParams, @@ -383,6 +387,7 @@ def list( *, cursor: str | NotGiven = NOT_GIVEN, limit: int | NotGiven = NOT_GIVEN, + routing_number: str | NotGiven = NOT_GIVEN, status: external_account_list_params.Status | NotGiven = NOT_GIVEN, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -400,6 +405,8 @@ def list( limit: Limit the size of the list that is returned. The default (and maximum) is 100 objects. + routing_number: Filter External Accounts to those with the specified Routing Number. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -420,6 +427,7 @@ def list( { "cursor": cursor, "limit": limit, + "routing_number": routing_number, "status": status, }, external_account_list_params.ExternalAccountListParams, diff --git a/src/increase/resources/inbound_ach_transfers.py b/src/increase/resources/inbound_ach_transfers.py index 3337d13cb..f57f3d962 100644 --- a/src/increase/resources/inbound_ach_transfers.py +++ b/src/increase/resources/inbound_ach_transfers.py @@ -8,6 +8,7 @@ InboundACHTransfer, inbound_ach_transfer_list_params, inbound_ach_transfer_transfer_return_params, + inbound_ach_transfer_notification_of_change_params, ) from .._types import NOT_GIVEN, Body, Query, Headers, NotGiven from .._utils import maybe_transform @@ -156,6 +157,60 @@ def decline( cast_to=InboundACHTransfer, ) + def notification_of_change( + self, + inbound_ach_transfer_id: str, + *, + updated_account_number: str | NotGiven = NOT_GIVEN, + updated_routing_number: str | NotGiven = NOT_GIVEN, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | None | NotGiven = NOT_GIVEN, + idempotency_key: str | None = None, + ) -> InboundACHTransfer: + """ + Create a notification of change for an Inbound ACH Transfer + + Args: + inbound_ach_transfer_id: The identifier of the Inbound ACH Transfer for which to create a notification of + change. + + updated_account_number: The updated account number to send in the notification of change. + + updated_routing_number: The updated routing number to send in the notification of change. + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + + idempotency_key: Specify a custom idempotency key for this request + """ + return self._post( + f"/inbound_ach_transfers/{inbound_ach_transfer_id}/notification_of_change", + body=maybe_transform( + { + "updated_account_number": updated_account_number, + "updated_routing_number": updated_routing_number, + }, + inbound_ach_transfer_notification_of_change_params.InboundACHTransferNotificationOfChangeParams, + ), + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + idempotency_key=idempotency_key, + ), + cast_to=InboundACHTransfer, + ) + def transfer_return( self, inbound_ach_transfer_id: str, @@ -370,6 +425,60 @@ async def decline( cast_to=InboundACHTransfer, ) + async def notification_of_change( + self, + inbound_ach_transfer_id: str, + *, + updated_account_number: str | NotGiven = NOT_GIVEN, + updated_routing_number: str | NotGiven = NOT_GIVEN, + # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. + # The extra values given here take precedence over values defined on the client or passed to this method. + extra_headers: Headers | None = None, + extra_query: Query | None = None, + extra_body: Body | None = None, + timeout: float | None | NotGiven = NOT_GIVEN, + idempotency_key: str | None = None, + ) -> InboundACHTransfer: + """ + Create a notification of change for an Inbound ACH Transfer + + Args: + inbound_ach_transfer_id: The identifier of the Inbound ACH Transfer for which to create a notification of + change. + + updated_account_number: The updated account number to send in the notification of change. + + updated_routing_number: The updated routing number to send in the notification of change. + + extra_headers: Send extra headers + + extra_query: Add additional query parameters to the request + + extra_body: Add additional JSON properties to the request + + timeout: Override the client-level default timeout for this request, in seconds + + idempotency_key: Specify a custom idempotency key for this request + """ + return await self._post( + f"/inbound_ach_transfers/{inbound_ach_transfer_id}/notification_of_change", + body=maybe_transform( + { + "updated_account_number": updated_account_number, + "updated_routing_number": updated_routing_number, + }, + inbound_ach_transfer_notification_of_change_params.InboundACHTransferNotificationOfChangeParams, + ), + options=make_request_options( + extra_headers=extra_headers, + extra_query=extra_query, + extra_body=extra_body, + timeout=timeout, + idempotency_key=idempotency_key, + ), + cast_to=InboundACHTransfer, + ) + async def transfer_return( self, inbound_ach_transfer_id: str, diff --git a/src/increase/resources/simulations/ach_transfers.py b/src/increase/resources/simulations/ach_transfers.py index da4c027b9..3d0f2eec7 100644 --- a/src/increase/resources/simulations/ach_transfers.py +++ b/src/increase/resources/simulations/ach_transfers.py @@ -226,7 +226,7 @@ def return_( - `enr_invalid_individual_name` - Code R45. The individual name field was invalid. - `returned_per_odfi_request` - Code R06. The originating financial institution - reversed the transfer. + asked for this transfer to be returned. - `limited_participation_dfi` - Code R34. The receiving bank's regulatory supervisor has limited their participation. - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound @@ -313,7 +313,7 @@ def return_( bank disputes that an earlier `duplicate_entry` return was actually a duplicate. - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The - originating bank made a mistake earlier and this return corrects it. + originating financial institution made a mistake and this return corrects it. - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of a malformed credit entry. - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a @@ -615,7 +615,7 @@ async def return_( - `enr_invalid_individual_name` - Code R45. The individual name field was invalid. - `returned_per_odfi_request` - Code R06. The originating financial institution - reversed the transfer. + asked for this transfer to be returned. - `limited_participation_dfi` - Code R34. The receiving bank's regulatory supervisor has limited their participation. - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound @@ -702,7 +702,7 @@ async def return_( bank disputes that an earlier `duplicate_entry` return was actually a duplicate. - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The - originating bank made a mistake earlier and this return corrects it. + originating financial institution made a mistake and this return corrects it. - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of a malformed credit entry. - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a diff --git a/src/increase/types/__init__.py b/src/increase/types/__init__.py index 6a4d5e330..2fb878c32 100644 --- a/src/increase/types/__init__.py +++ b/src/increase/types/__init__.py @@ -104,6 +104,9 @@ from .check_transfer_create_params import ( CheckTransferCreateParams as CheckTransferCreateParams, ) +from .entity_update_address_params import ( + EntityUpdateAddressParams as EntityUpdateAddressParams, +) from .external_account_list_params import ( ExternalAccountListParams as ExternalAccountListParams, ) @@ -194,3 +197,6 @@ from .inbound_ach_transfer_transfer_return_params import ( InboundACHTransferTransferReturnParams as InboundACHTransferTransferReturnParams, ) +from .inbound_ach_transfer_notification_of_change_params import ( + InboundACHTransferNotificationOfChangeParams as InboundACHTransferNotificationOfChangeParams, +) diff --git a/src/increase/types/ach_prenotification.py b/src/increase/types/ach_prenotification.py index e20795c96..8568d1c28 100644 --- a/src/increase/types/ach_prenotification.py +++ b/src/increase/types/ach_prenotification.py @@ -22,7 +22,9 @@ class NotificationsOfChange(BaseModel): "addenda_format_error", "incorrect_standard_entry_class_code_for_outbound_international_payment", ] - """The type of change that occurred. + """ + The required type of change that is being signaled by the receiving financial + institution. - `incorrect_account_number` - The account number was incorrect. - `incorrect_routing_number` - The routing number was incorrect. @@ -43,7 +45,7 @@ class NotificationsOfChange(BaseModel): """ corrected_data: str - """The corrected data.""" + """The corrected data that should be used in future ACHs to this account.""" created_at: datetime """ @@ -59,8 +61,225 @@ class PrenotificationReturn(BaseModel): the Prenotification was returned. """ - return_reason_code: str - """Why the Prenotification was returned.""" + return_reason_code: Literal[ + "insufficient_fund", + "no_account", + "account_closed", + "invalid_account_number_structure", + "account_frozen_entry_returned_per_ofac_instruction", + "credit_entry_refused_by_receiver", + "unauthorized_debit_to_consumer_account_using_corporate_sec_code", + "corporate_customer_advised_not_authorized", + "payment_stopped", + "non_transaction_account", + "uncollected_funds", + "routing_number_check_digit_error", + "customer_advised_unauthorized_improper_ineligible_or_incomplete", + "amount_field_error", + "authorization_revoked_by_customer", + "invalid_ach_routing_number", + "file_record_edit_criteria", + "enr_invalid_individual_name", + "returned_per_odfi_request", + "limited_participation_dfi", + "incorrectly_coded_outbound_international_payment", + "account_sold_to_another_dfi", + "addenda_error", + "beneficiary_or_account_holder_deceased", + "customer_advised_not_within_authorization_terms", + "corrected_return", + "duplicate_entry", + "duplicate_return", + "enr_duplicate_enrollment", + "enr_invalid_dfi_account_number", + "enr_invalid_individual_id_number", + "enr_invalid_representative_payee_indicator", + "enr_invalid_transaction_code", + "enr_return_of_enr_entry", + "enr_routing_number_check_digit_error", + "entry_not_processed_by_gateway", + "field_error", + "foreign_receiving_dfi_unable_to_settle", + "iat_entry_coding_error", + "improper_effective_entry_date", + "improper_source_document_source_document_presented", + "invalid_company_id", + "invalid_foreign_receiving_dfi_identification", + "invalid_individual_id_number", + "item_and_rck_entry_presented_for_payment", + "item_related_to_rck_entry_is_ineligible", + "mandatory_field_error", + "misrouted_dishonored_return", + "misrouted_return", + "no_errors_found", + "non_acceptance_of_r62_dishonored_return", + "non_participant_in_iat_program", + "permissible_return_entry", + "permissible_return_entry_not_accepted", + "rdfi_non_settlement", + "rdfi_participant_in_check_truncation_program", + "representative_payee_deceased_or_unable_to_continue_in_that_capacity", + "return_not_a_duplicate", + "return_of_erroneous_or_reversing_debit", + "return_of_improper_credit_entry", + "return_of_improper_debit_entry", + "return_of_xck_entry", + "source_document_presented_for_payment", + "state_law_affecting_rck_acceptance", + "stop_payment_on_item_related_to_rck_entry", + "stop_payment_on_source_document", + "timely_original_return", + "trace_number_error", + "untimely_dishonored_return", + "untimely_return", + ] + """Why the Prenotification was returned. + + - `insufficient_fund` - Code R01. Insufficient funds in the source account. + - `no_account` - Code R03. The account does not exist or the receiving bank was + unable to locate it. + - `account_closed` - Code R02. The account is closed. + - `invalid_account_number_structure` - Code R04. The account number is invalid + at the receiving bank. + - `account_frozen_entry_returned_per_ofac_instruction` - Code R16. The account + was frozen per the Office of Foreign Assets Control. + - `credit_entry_refused_by_receiver` - Code R23. The receiving bank account + refused a credit transfer. + - `unauthorized_debit_to_consumer_account_using_corporate_sec_code` - Code R05. + The receiving bank rejected because of an incorrect Standard Entry Class code. + - `corporate_customer_advised_not_authorized` - Code R29. The corporate customer + reversed the transfer. + - `payment_stopped` - Code R08. The receiving bank stopped payment on this + transfer. + - `non_transaction_account` - Code R20. The receiving bank account does not + perform transfers. + - `uncollected_funds` - Code R09. The receiving bank account does not have + enough available balance for the transfer. + - `routing_number_check_digit_error` - Code R28. The routing number is + incorrect. + - `customer_advised_unauthorized_improper_ineligible_or_incomplete` - Code R10. + The customer reversed the transfer. + - `amount_field_error` - Code R19. The amount field is incorrect or too large. + - `authorization_revoked_by_customer` - Code R07. The customer who initiated the + transfer revoked authorization. + - `invalid_ach_routing_number` - Code R13. The routing number is invalid. + - `file_record_edit_criteria` - Code R17. The receiving bank is unable to + process a field in the transfer. + - `enr_invalid_individual_name` - Code R45. The individual name field was + invalid. + - `returned_per_odfi_request` - Code R06. The originating financial institution + asked for this transfer to be returned. + - `limited_participation_dfi` - Code R34. The receiving bank's regulatory + supervisor has limited their participation. + - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound + international ACH transfer was incorrect. + - `account_sold_to_another_dfi` - Code R12. A rare return reason. The account + was sold to another bank. + - `addenda_error` - Code R25. The addenda record is incorrect or missing. + - `beneficiary_or_account_holder_deceased` - Code R15. A rare return reason. The + account holder is deceased. + - `customer_advised_not_within_authorization_terms` - Code R11. A rare return + reason. The customer authorized some payment to the sender, but this payment + was not in error. + - `corrected_return` - Code R74. A rare return reason. Sent in response to a + return that was returned with code `field_error`. The latest return should + include the corrected field(s). + - `duplicate_entry` - Code R24. A rare return reason. The receiving bank + received an exact duplicate entry with the same trace number and amount. + - `duplicate_return` - Code R67. A rare return reason. The return this message + refers to was a duplicate. + - `enr_duplicate_enrollment` - Code R47. A rare return reason. Only used for US + Government agency non-monetary automatic enrollment messages. + - `enr_invalid_dfi_account_number` - Code R43. A rare return reason. Only used + for US Government agency non-monetary automatic enrollment messages. + - `enr_invalid_individual_id_number` - Code R44. A rare return reason. Only used + for US Government agency non-monetary automatic enrollment messages. + - `enr_invalid_representative_payee_indicator` - Code R46. A rare return reason. + Only used for US Government agency non-monetary automatic enrollment messages. + - `enr_invalid_transaction_code` - Code R41. A rare return reason. Only used for + US Government agency non-monetary automatic enrollment messages. + - `enr_return_of_enr_entry` - Code R40. A rare return reason. Only used for US + Government agency non-monetary automatic enrollment messages. + - `enr_routing_number_check_digit_error` - Code R42. A rare return reason. Only + used for US Government agency non-monetary automatic enrollment messages. + - `entry_not_processed_by_gateway` - Code R84. A rare return reason. The + International ACH Transfer cannot be processed by the gateway. + - `field_error` - Code R69. A rare return reason. One or more of the fields in + the ACH were malformed. + - `foreign_receiving_dfi_unable_to_settle` - Code R83. A rare return reason. The + Foreign receiving bank was unable to settle this ACH transfer. + - `iat_entry_coding_error` - Code R80. A rare return reason. The International + ACH Transfer is malformed. + - `improper_effective_entry_date` - Code R18. A rare return reason. The ACH has + an improper effective entry date field. + - `improper_source_document_source_document_presented` - Code R39. A rare return + reason. The source document related to this ACH, usually an ACH check + conversion, was presented to the bank. + - `invalid_company_id` - Code R21. A rare return reason. The Company ID field of + the ACH was invalid. + - `invalid_foreign_receiving_dfi_identification` - Code R82. A rare return + reason. The foreign receiving bank identifier for an International ACH + Transfer was invalid. + - `invalid_individual_id_number` - Code R22. A rare return reason. The + Individual ID number field of the ACH was invalid. + - `item_and_rck_entry_presented_for_payment` - Code R53. A rare return reason. + Both the Represented Check ("RCK") entry and the original check were presented + to the bank. + - `item_related_to_rck_entry_is_ineligible` - Code R51. A rare return reason. + The Represented Check ("RCK") entry is ineligible. + - `mandatory_field_error` - Code R26. A rare return reason. The ACH is missing a + required field. + - `misrouted_dishonored_return` - Code R71. A rare return reason. The receiving + bank does not recognize the routing number in a dishonored return entry. + - `misrouted_return` - Code R61. A rare return reason. The receiving bank does + not recognize the routing number in a return entry. + - `no_errors_found` - Code R76. A rare return reason. Sent in response to a + return, the bank does not find the errors alleged by the returning bank. + - `non_acceptance_of_r62_dishonored_return` - Code R77. A rare return reason. + The receiving bank does not accept the return of the erroneous debit. The + funds are not available at the receiving bank. + - `non_participant_in_iat_program` - Code R81. A rare return reason. The + receiving bank does not accept International ACH Transfers. + - `permissible_return_entry` - Code R31. A rare return reason. A return that has + been agreed to be accepted by the receiving bank, despite falling outside of + the usual return timeframe. + - `permissible_return_entry_not_accepted` - Code R70. A rare return reason. The + receiving bank had not approved this return. + - `rdfi_non_settlement` - Code R32. A rare return reason. The receiving bank + could not settle this transaction. + - `rdfi_participant_in_check_truncation_program` - Code R30. A rare return + reason. The receiving bank does not accept Check Truncation ACH transfers. + - `representative_payee_deceased_or_unable_to_continue_in_that_capacity` - Code + R14. A rare return reason. The payee is deceased. + - `return_not_a_duplicate` - Code R75. A rare return reason. The originating + bank disputes that an earlier `duplicate_entry` return was actually a + duplicate. + - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The + originating financial institution made a mistake and this return corrects it. + - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of + a malformed credit entry. + - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a + malformed debit entry. + - `return_of_xck_entry` - Code R33. A rare return reason. Return of a Destroyed + Check ("XKC") entry. + - `source_document_presented_for_payment` - Code R37. A rare return reason. The + source document related to this ACH, usually an ACH check conversion, was + presented to the bank. + - `state_law_affecting_rck_acceptance` - Code R50. A rare return reason. State + law prevents the bank from accepting the Represented Check ("RCK") entry. + - `stop_payment_on_item_related_to_rck_entry` - Code R52. A rare return reason. + A stop payment was issued on a Represented Check ("RCK") entry. + - `stop_payment_on_source_document` - Code R38. A rare return reason. The source + attached to the ACH, usually an ACH check conversion, includes a stop payment. + - `timely_original_return` - Code R73. A rare return reason. The bank receiving + an `untimely_return` believes it was on time. + - `trace_number_error` - Code R27. A rare return reason. An ACH Return's trace + number does not match an originated ACH. + - `untimely_dishonored_return` - Code R72. A rare return reason. The dishonored + return was sent too late. + - `untimely_return` - Code R68. A rare return reason. The return was sent too + late. + """ class ACHPrenotification(BaseModel): diff --git a/src/increase/types/ach_transfer.py b/src/increase/types/ach_transfer.py index ad72a4151..031b9314b 100644 --- a/src/increase/types/ach_transfer.py +++ b/src/increase/types/ach_transfer.py @@ -68,7 +68,9 @@ class NotificationsOfChange(BaseModel): "addenda_format_error", "incorrect_standard_entry_class_code_for_outbound_international_payment", ] - """The type of change that occurred. + """ + The required type of change that is being signaled by the receiving financial + institution. - `incorrect_account_number` - The account number was incorrect. - `incorrect_routing_number` - The routing number was incorrect. @@ -89,7 +91,7 @@ class NotificationsOfChange(BaseModel): """ corrected_data: str - """The corrected data.""" + """The corrected data that should be used in future ACHs to this account.""" created_at: datetime """ @@ -215,7 +217,7 @@ class Return(BaseModel): - `enr_invalid_individual_name` - Code R45. The individual name field was invalid. - `returned_per_odfi_request` - Code R06. The originating financial institution - reversed the transfer. + asked for this transfer to be returned. - `limited_participation_dfi` - Code R34. The receiving bank's regulatory supervisor has limited their participation. - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound @@ -302,7 +304,7 @@ class Return(BaseModel): bank disputes that an earlier `duplicate_entry` return was actually a duplicate. - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The - originating bank made a mistake earlier and this return corrects it. + originating financial institution made a mistake and this return corrects it. - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of a malformed credit entry. - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a @@ -348,7 +350,13 @@ class Submission(BaseModel): """When the ACH transfer was sent to FedACH.""" trace_number: str - """The trace number for the submission.""" + """ + A 15 digit number recorded in the Nacha file and transmitted to the receiving + bank. Along with the amount, date, and originating routing number, this can be + used to identify the ACH transfer at the receiving bank. ACH trace numbers are + not unique, but are + [used to correlate returns](https://increase.com/documentation/ach#returns). + """ class ACHTransfer(BaseModel): @@ -512,8 +520,8 @@ class ACHTransfer(BaseModel): After the transfer is submitted to FedACH, this will contain supplemental details. Increase batches transfers and submits a file to the Federal Reserve roughly every 30 minutes. The Federal Reserve processes ACH transfers during - weekdays according to their (posted - schedule)[https://www.frbservices.org/resources/resource-centers/same-day-ach/fedach-processing-schedule.html]. + weekdays according to their + [posted schedule](https://www.frbservices.org/resources/resource-centers/same-day-ach/fedach-processing-schedule.html). """ transaction_id: Optional[str] diff --git a/src/increase/types/check_deposit.py b/src/increase/types/check_deposit.py index 5fcfae59c..88dfe6011 100644 --- a/src/increase/types/check_deposit.py +++ b/src/increase/types/check_deposit.py @@ -142,6 +142,9 @@ class DepositReturn(BaseModel): "endorsement_irregular", ] """ + Why this check was returned by the bank holding the account it was drawn + against. + - `ach_conversion_not_supported` - The check doesn't allow ACH conversion. - `closed_account` - The account is closed. - `duplicate_submission` - The check has already been deposited. diff --git a/src/increase/types/declined_transaction.py b/src/increase/types/declined_transaction.py index bbfeb849a..41bef2f82 100644 --- a/src/increase/types/declined_transaction.py +++ b/src/increase/types/declined_transaction.py @@ -62,16 +62,22 @@ class SourceACHDecline(BaseModel): - `ach_route_canceled` - The account number is canceled. - `ach_route_disabled` - The account number is disabled. - - `breaches_limit` - The transaction would cause a limit to be exceeded. - - `credit_entry_refused_by_receiver` - A credit was refused. - - `duplicate_return` - Other. + - `breaches_limit` - The transaction would cause an Increase limit to be + exceeded. + - `credit_entry_refused_by_receiver` - A credit was refused. This is a + reasonable default reason for decline of credits. + - `duplicate_return` - A rare return reason. The return this message refers to + was a duplicate. - `entity_not_active` - The account's entity is not active. - `group_locked` - Your account is inactive. - `insufficient_funds` - Your account contains insufficient funds. - - `misrouted_return` - Other. - - `return_of_erroneous_or_reversing_debit` - Other. + - `misrouted_return` - A rare return reason. The return this message refers to + was misrouted. + - `return_of_erroneous_or_reversing_debit` - The originating financial + institution made a mistake and this return corrects it. - `no_ach_route` - The account number that was debited does not exist. - - `originator_request` - Other. + - `originator_request` - The originating financial institution asked for this + transfer to be returned. - `transaction_not_allowed` - The transaction is not allowed per Increase's terms. - `user_initiated` - The user initiated the decline. @@ -301,6 +307,11 @@ class SourceCheckDecline(BaseModel): """ auxiliary_on_us: Optional[str] + """ + A computer-readable number printed on the MICR line of business checks, usually + the check number. This is useful for positive pay checks, but can be unreliably + transmitted by the bank of first deposit. + """ reason: Literal[ "ach_route_canceled", @@ -484,34 +495,53 @@ class SourceWireDecline(BaseModel): """ beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the declined transaction.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the originating bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" reason: Literal[ "account_number_canceled", diff --git a/src/increase/types/digital_wallet_token.py b/src/increase/types/digital_wallet_token.py index 4d033ce83..250e3f226 100644 --- a/src/increase/types/digital_wallet_token.py +++ b/src/increase/types/digital_wallet_token.py @@ -31,11 +31,12 @@ class DigitalWalletToken(BaseModel): - `deactivated` - The digital wallet token has been permanently canceled. """ - token_requestor: Literal["apple_pay", "google_pay"] + token_requestor: Literal["apple_pay", "google_pay", "unknown"] """The digital wallet app being used. - `apple_pay` - Apple Pay - `google_pay` - Google Pay + - `unknown` - Unknown """ type: Literal["digital_wallet_token"] diff --git a/src/increase/types/entities/__init__.py b/src/increase/types/entities/__init__.py index e6e3724f5..8de0259c4 100644 --- a/src/increase/types/entities/__init__.py +++ b/src/increase/types/entities/__init__.py @@ -15,3 +15,6 @@ from .supplemental_document_create_params import ( SupplementalDocumentCreateParams as SupplementalDocumentCreateParams, ) +from .beneficial_owner_update_address_params import ( + BeneficialOwnerUpdateAddressParams as BeneficialOwnerUpdateAddressParams, +) diff --git a/src/increase/types/entities/beneficial_owner_update_address_params.py b/src/increase/types/entities/beneficial_owner_update_address_params.py new file mode 100644 index 000000000..96c0404da --- /dev/null +++ b/src/increase/types/entities/beneficial_owner_update_address_params.py @@ -0,0 +1,41 @@ +# File generated from our OpenAPI spec by Stainless. + +from __future__ import annotations + +from typing_extensions import Required, TypedDict + +__all__ = ["BeneficialOwnerUpdateAddressParams", "Address"] + + +class BeneficialOwnerUpdateAddressParams(TypedDict, total=False): + address: Required[Address] + """The individual's physical address. Post Office Boxes are disallowed.""" + + beneficial_owner_id: Required[str] + """ + The identifying details of anyone controlling or owning 25% or more of the + corporation. + """ + + entity_id: Required[str] + """The identifier of the Entity to retrieve.""" + + +class Address(TypedDict, total=False): + city: Required[str] + """The city of the address.""" + + line1: Required[str] + """The first line of the address. This is usually the street number and street.""" + + state: Required[str] + """ + The two-letter United States Postal Service (USPS) abbreviation for the state of + the address. + """ + + zip: Required[str] + """The ZIP code of the address.""" + + line2: str + """The second line of the address. This might be the floor or room number.""" diff --git a/src/increase/types/entity_update_address_params.py b/src/increase/types/entity_update_address_params.py new file mode 100644 index 000000000..fe1306b1b --- /dev/null +++ b/src/increase/types/entity_update_address_params.py @@ -0,0 +1,32 @@ +# File generated from our OpenAPI spec by Stainless. + +from __future__ import annotations + +from typing_extensions import Required, TypedDict + +__all__ = ["EntityUpdateAddressParams", "Address"] + + +class EntityUpdateAddressParams(TypedDict, total=False): + address: Required[Address] + """The entity's physical address. Post Office Boxes are disallowed.""" + + +class Address(TypedDict, total=False): + city: Required[str] + """The city of the address.""" + + line1: Required[str] + """The first line of the address. This is usually the street number and street.""" + + state: Required[str] + """ + The two-letter United States Postal Service (USPS) abbreviation for the state of + the address. + """ + + zip: Required[str] + """The ZIP code of the address.""" + + line2: str + """The second line of the address. This might be the floor or room number.""" diff --git a/src/increase/types/external_account_list_params.py b/src/increase/types/external_account_list_params.py index 5d4a3b760..6a5e73ad0 100644 --- a/src/increase/types/external_account_list_params.py +++ b/src/increase/types/external_account_list_params.py @@ -18,6 +18,9 @@ class ExternalAccountListParams(TypedDict, total=False): The default (and maximum) is 100 objects. """ + routing_number: str + """Filter External Accounts to those with the specified Routing Number.""" + status: Status diff --git a/src/increase/types/inbound_ach_transfer.py b/src/increase/types/inbound_ach_transfer.py index e805ff598..7b0331c52 100644 --- a/src/increase/types/inbound_ach_transfer.py +++ b/src/increase/types/inbound_ach_transfer.py @@ -6,7 +6,7 @@ from .._models import BaseModel -__all__ = ["InboundACHTransfer", "Acceptance", "Decline", "TransferReturn"] +__all__ = ["InboundACHTransfer", "Acceptance", "Decline", "NotificationOfChange", "TransferReturn"] class Acceptance(BaseModel): @@ -44,22 +44,36 @@ class Decline(BaseModel): - `ach_route_canceled` - The account number is canceled. - `ach_route_disabled` - The account number is disabled. - - `breaches_limit` - The transaction would cause a limit to be exceeded. - - `credit_entry_refused_by_receiver` - A credit was refused. - - `duplicate_return` - Other. + - `breaches_limit` - The transaction would cause an Increase limit to be + exceeded. + - `credit_entry_refused_by_receiver` - A credit was refused. This is a + reasonable default reason for decline of credits. + - `duplicate_return` - A rare return reason. The return this message refers to + was a duplicate. - `entity_not_active` - The account's entity is not active. - `group_locked` - Your account is inactive. - `insufficient_funds` - Your account contains insufficient funds. - - `misrouted_return` - Other. - - `return_of_erroneous_or_reversing_debit` - Other. + - `misrouted_return` - A rare return reason. The return this message refers to + was misrouted. + - `return_of_erroneous_or_reversing_debit` - The originating financial + institution made a mistake and this return corrects it. - `no_ach_route` - The account number that was debited does not exist. - - `originator_request` - Other. + - `originator_request` - The originating financial institution asked for this + transfer to be returned. - `transaction_not_allowed` - The transaction is not allowed per Increase's terms. - `user_initiated` - The user initiated the decline. """ +class NotificationOfChange(BaseModel): + updated_account_number: Optional[str] + """The new account number provided in the notification of change""" + + updated_routing_number: Optional[str] + """The new account number provided in the notification of change""" + + class TransferReturn(BaseModel): reason: Literal[ "authorization_revoked_by_customer", @@ -106,6 +120,9 @@ class InboundACHTransfer(BaseModel): acceptance: Optional[Acceptance] """If your transfer is accepted, this will contain details of the acceptance.""" + account_number_id: str + """The identifier of the Account Number to which this transfer was sent.""" + amount: int """The transfer amount in USD cents.""" @@ -122,6 +139,12 @@ class InboundACHTransfer(BaseModel): - `debit` - Debit """ + notification_of_change: Optional[NotificationOfChange] + """ + If you initiate a notification of change in response to the transfer, this will + contain its details. + """ + originator_company_descriptive_date: Optional[str] """The descriptive date of the transfer.""" diff --git a/src/increase/types/inbound_ach_transfer_notification_of_change_params.py b/src/increase/types/inbound_ach_transfer_notification_of_change_params.py new file mode 100644 index 000000000..98b7c72cd --- /dev/null +++ b/src/increase/types/inbound_ach_transfer_notification_of_change_params.py @@ -0,0 +1,15 @@ +# File generated from our OpenAPI spec by Stainless. + +from __future__ import annotations + +from typing_extensions import TypedDict + +__all__ = ["InboundACHTransferNotificationOfChangeParams"] + + +class InboundACHTransferNotificationOfChangeParams(TypedDict, total=False): + updated_account_number: str + """The updated account number to send in the notification of change.""" + + updated_routing_number: str + """The updated routing number to send in the notification of change.""" diff --git a/src/increase/types/pending_transaction.py b/src/increase/types/pending_transaction.py index f1969c46d..530ce2f04 100644 --- a/src/increase/types/pending_transaction.py +++ b/src/increase/types/pending_transaction.py @@ -366,6 +366,7 @@ class SourceRealTimePaymentsTransferInstruction(BaseModel): class SourceWireTransferInstruction(BaseModel): account_number: str + """The account number for the destination account.""" amount: int """The pending amount in the minor unit of the transaction's currency. @@ -374,10 +375,16 @@ class SourceWireTransferInstruction(BaseModel): """ message_to_recipient: str + """The message that will show on the recipient's bank statement.""" routing_number: str + """ + The American Bankers' Association (ABA) Routing Transit Number (RTN) for the + destination account. + """ transfer_id: str + """The identifier of the Wire Transfer that led to this Pending Transaction.""" class Source(BaseModel): diff --git a/src/increase/types/real_time_decision.py b/src/increase/types/real_time_decision.py index cd6f994f2..b78b6cec4 100644 --- a/src/increase/types/real_time_decision.py +++ b/src/increase/types/real_time_decision.py @@ -231,11 +231,12 @@ class DigitalWalletAuthentication(BaseModel): - `email` - Send one-time passcodes over email. """ - digital_wallet: Literal["apple_pay", "google_pay"] + digital_wallet: Literal["apple_pay", "google_pay", "unknown"] """The digital wallet app being used. - `apple_pay` - Apple Pay - `google_pay` - Google Pay + - `unknown` - Unknown """ email: Optional[str] @@ -280,11 +281,12 @@ class DigitalWalletToken(BaseModel): - `decline` - Decline the provisioning request. """ - digital_wallet: Literal["apple_pay", "google_pay"] + digital_wallet: Literal["apple_pay", "google_pay", "unknown"] """The digital wallet app being used. - `apple_pay` - Apple Pay - `google_pay` - Google Pay + - `unknown` - Unknown """ diff --git a/src/increase/types/simulations/ach_transfer_return_params.py b/src/increase/types/simulations/ach_transfer_return_params.py index cf029b9b4..011c7e403 100644 --- a/src/increase/types/simulations/ach_transfer_return_params.py +++ b/src/increase/types/simulations/ach_transfer_return_params.py @@ -117,7 +117,7 @@ class ACHTransferReturnParams(TypedDict, total=False): - `enr_invalid_individual_name` - Code R45. The individual name field was invalid. - `returned_per_odfi_request` - Code R06. The originating financial institution - reversed the transfer. + asked for this transfer to be returned. - `limited_participation_dfi` - Code R34. The receiving bank's regulatory supervisor has limited their participation. - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound @@ -204,7 +204,7 @@ class ACHTransferReturnParams(TypedDict, total=False): bank disputes that an earlier `duplicate_entry` return was actually a duplicate. - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The - originating bank made a mistake earlier and this return corrects it. + originating financial institution made a mistake and this return corrects it. - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of a malformed credit entry. - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a diff --git a/src/increase/types/simulations/ach_transfer_simulation.py b/src/increase/types/simulations/ach_transfer_simulation.py index 93b8d3e4f..a3740ea64 100644 --- a/src/increase/types/simulations/ach_transfer_simulation.py +++ b/src/increase/types/simulations/ach_transfer_simulation.py @@ -107,16 +107,22 @@ class DeclinedTransactionSourceACHDecline(BaseModel): - `ach_route_canceled` - The account number is canceled. - `ach_route_disabled` - The account number is disabled. - - `breaches_limit` - The transaction would cause a limit to be exceeded. - - `credit_entry_refused_by_receiver` - A credit was refused. - - `duplicate_return` - Other. + - `breaches_limit` - The transaction would cause an Increase limit to be + exceeded. + - `credit_entry_refused_by_receiver` - A credit was refused. This is a + reasonable default reason for decline of credits. + - `duplicate_return` - A rare return reason. The return this message refers to + was a duplicate. - `entity_not_active` - The account's entity is not active. - `group_locked` - Your account is inactive. - `insufficient_funds` - Your account contains insufficient funds. - - `misrouted_return` - Other. - - `return_of_erroneous_or_reversing_debit` - Other. + - `misrouted_return` - A rare return reason. The return this message refers to + was misrouted. + - `return_of_erroneous_or_reversing_debit` - The originating financial + institution made a mistake and this return corrects it. - `no_ach_route` - The account number that was debited does not exist. - - `originator_request` - Other. + - `originator_request` - The originating financial institution asked for this + transfer to be returned. - `transaction_not_allowed` - The transaction is not allowed per Increase's terms. - `user_initiated` - The user initiated the decline. @@ -346,6 +352,11 @@ class DeclinedTransactionSourceCheckDecline(BaseModel): """ auxiliary_on_us: Optional[str] + """ + A computer-readable number printed on the MICR line of business checks, usually + the check number. This is useful for positive pay checks, but can be unreliably + transmitted by the bank of first deposit. + """ reason: Literal[ "ach_route_canceled", @@ -529,34 +540,53 @@ class DeclinedTransactionSourceWireDecline(BaseModel): """ beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the declined transaction.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the originating bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" reason: Literal[ "account_number_canceled", @@ -754,6 +784,7 @@ class TransactionSourceAccountTransferIntention(BaseModel): class TransactionSourceACHTransferIntention(BaseModel): account_number: str + """The account number for the destination account.""" amount: int """The amount in the minor unit of the transaction's currency. @@ -762,8 +793,13 @@ class TransactionSourceACHTransferIntention(BaseModel): """ routing_number: str + """ + The American Bankers' Association (ABA) Routing Transit Number (RTN) for the + destination account. + """ statement_descriptor: str + """A description set when the ACH Transfer was created.""" transfer_id: str """The identifier of the ACH Transfer that led to this Transaction.""" @@ -891,7 +927,7 @@ class TransactionSourceACHTransferReturn(BaseModel): - `enr_invalid_individual_name` - Code R45. The individual name field was invalid. - `returned_per_odfi_request` - Code R06. The originating financial institution - reversed the transfer. + asked for this transfer to be returned. - `limited_participation_dfi` - Code R34. The receiving bank's regulatory supervisor has limited their participation. - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound @@ -978,7 +1014,7 @@ class TransactionSourceACHTransferReturn(BaseModel): bank disputes that an earlier `duplicate_entry` return was actually a duplicate. - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The - originating bank made a mistake earlier and this return corrects it. + originating financial institution made a mistake and this return corrects it. - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of a malformed credit entry. - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a @@ -2091,6 +2127,9 @@ class TransactionSourceCheckDepositReturn(BaseModel): "endorsement_irregular", ] """ + Why this check was returned by the bank holding the account it was drawn + against. + - `ach_conversion_not_supported` - The check doesn't allow ACH conversion. - `closed_account` - The account is closed. - `duplicate_submission` - The check has already been deposited. @@ -2245,20 +2284,41 @@ class TransactionSourceInboundACHTransfer(BaseModel): """ originator_company_descriptive_date: Optional[str] + """The description of the date of the transfer, usually in the format `YYMMDD`.""" originator_company_discretionary_data: Optional[str] + """Data set by the originator.""" originator_company_entry_description: str + """An informational description of the transfer.""" originator_company_id: str + """An identifier for the originating company. + + This is generally, but not always, a stable identifier across multiple + transfers. + """ originator_company_name: str + """A name set by the originator to identify themselves.""" receiver_id_number: Optional[str] + """The originator's identifier for the transfer receipient.""" receiver_name: Optional[str] + """The name of the transfer recipient. + + This value is informational and not verified by Increase. + """ trace_number: str + """ + A 15 digit number recorded in the Nacha file and available to both the + originating and receiving bank. Along with the amount, date, and originating + routing number, this can be used to identify the ACH transfer at either bank. + ACH trace numbers are not unique, but are + [used to correlate returns](https://increase.com/documentation/ach#returns). + """ transfer_id: str """The inbound ach transfer's identifier.""" @@ -2279,10 +2339,16 @@ class TransactionSourceInboundCheck(BaseModel): """ check_front_image_file_id: Optional[str] + """The front image of the check. This is a black and white TIFF image file.""" check_number: Optional[str] + """The number of the check. + + This field is set by the depositing bank and can be unreliable. + """ check_rear_image_file_id: Optional[str] + """The rear image of the check. This is a black and white TIFF image file.""" currency: Literal["CAD", "CHF", "EUR", "GBP", "JPY", "USD"] """ @@ -2423,28 +2489,56 @@ class TransactionSourceInboundWireDrawdownPayment(BaseModel): """ beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the receiving bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" + + originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class TransactionSourceInboundWireDrawdownPaymentReversal(BaseModel): @@ -2481,7 +2575,7 @@ class TransactionSourceInboundWireDrawdownPaymentReversal(BaseModel): class TransactionSourceInboundWireReversal(BaseModel): amount: int - """The amount that was reversed.""" + """The amount that was reversed in USD cents.""" created_at: datetime """ @@ -2490,13 +2584,19 @@ class TransactionSourceInboundWireReversal(BaseModel): """ description: str - """The description on the reversal message from Fedwire.""" + """ + The description on the reversal message from Fedwire, set by the reversing bank. + """ financial_institution_to_financial_institution_information: Optional[str] """Additional financial institution information included in the wire reversal.""" input_cycle_date: date - """The Fedwire cycle date for the wire reversal.""" + """The Fedwire cycle date for the wire reversal. + + The "Fedwire day" begins at 9:00 PM Eastern Time on the evening before the + `cycle date`. + """ input_message_accountability_data: str """The Fedwire transaction identifier.""" @@ -2508,7 +2608,10 @@ class TransactionSourceInboundWireReversal(BaseModel): """The Fedwire input source identifier.""" previous_message_input_cycle_date: date - """The Fedwire cycle date for the wire transfer that was reversed.""" + """ + The Fedwire cycle date for the wire transfer that is being reversed by this + message. + """ previous_message_input_message_accountability_data: str """The Fedwire transaction identifier for the wire transfer that was reversed.""" @@ -2534,42 +2637,59 @@ class TransactionSourceInboundWireReversal(BaseModel): class TransactionSourceInboundWireTransfer(BaseModel): amount: int - """The amount in the minor unit of the transaction's currency. - - For dollars, for example, this is cents. - """ + """The amount in USD cents.""" beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the originating bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class TransactionSourceInterestPayment(BaseModel): @@ -2637,7 +2757,10 @@ class TransactionSourceInternalSource(BaseModel): "sample_funds", "sample_funds_return", ] - """ + """An Internal Source is a transaction between you and Increase. + + This describes the reason for the transaction. + - `account_closure` - Account closure - `bank_migration` - Bank migration - `cashback` - Cashback @@ -2690,10 +2813,12 @@ class TransactionSourceWireTransferIntention(BaseModel): """The American Bankers' Association (ABA) Routing Transit Number (RTN).""" transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class TransactionSourceWireTransferRejection(BaseModel): transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class TransactionSource(BaseModel): diff --git a/src/increase/types/simulations/card_authorization_simulation.py b/src/increase/types/simulations/card_authorization_simulation.py index 3f9e87c0c..fe479b5c5 100644 --- a/src/increase/types/simulations/card_authorization_simulation.py +++ b/src/increase/types/simulations/card_authorization_simulation.py @@ -75,16 +75,22 @@ class DeclinedTransactionSourceACHDecline(BaseModel): - `ach_route_canceled` - The account number is canceled. - `ach_route_disabled` - The account number is disabled. - - `breaches_limit` - The transaction would cause a limit to be exceeded. - - `credit_entry_refused_by_receiver` - A credit was refused. - - `duplicate_return` - Other. + - `breaches_limit` - The transaction would cause an Increase limit to be + exceeded. + - `credit_entry_refused_by_receiver` - A credit was refused. This is a + reasonable default reason for decline of credits. + - `duplicate_return` - A rare return reason. The return this message refers to + was a duplicate. - `entity_not_active` - The account's entity is not active. - `group_locked` - Your account is inactive. - `insufficient_funds` - Your account contains insufficient funds. - - `misrouted_return` - Other. - - `return_of_erroneous_or_reversing_debit` - Other. + - `misrouted_return` - A rare return reason. The return this message refers to + was misrouted. + - `return_of_erroneous_or_reversing_debit` - The originating financial + institution made a mistake and this return corrects it. - `no_ach_route` - The account number that was debited does not exist. - - `originator_request` - Other. + - `originator_request` - The originating financial institution asked for this + transfer to be returned. - `transaction_not_allowed` - The transaction is not allowed per Increase's terms. - `user_initiated` - The user initiated the decline. @@ -314,6 +320,11 @@ class DeclinedTransactionSourceCheckDecline(BaseModel): """ auxiliary_on_us: Optional[str] + """ + A computer-readable number printed on the MICR line of business checks, usually + the check number. This is useful for positive pay checks, but can be unreliably + transmitted by the bank of first deposit. + """ reason: Literal[ "ach_route_canceled", @@ -497,34 +508,53 @@ class DeclinedTransactionSourceWireDecline(BaseModel): """ beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the declined transaction.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the originating bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" reason: Literal[ "account_number_canceled", @@ -1031,6 +1061,7 @@ class PendingTransactionSourceRealTimePaymentsTransferInstruction(BaseModel): class PendingTransactionSourceWireTransferInstruction(BaseModel): account_number: str + """The account number for the destination account.""" amount: int """The pending amount in the minor unit of the transaction's currency. @@ -1039,10 +1070,16 @@ class PendingTransactionSourceWireTransferInstruction(BaseModel): """ message_to_recipient: str + """The message that will show on the recipient's bank statement.""" routing_number: str + """ + The American Bankers' Association (ABA) Routing Transit Number (RTN) for the + destination account. + """ transfer_id: str + """The identifier of the Wire Transfer that led to this Pending Transaction.""" class PendingTransactionSource(BaseModel): diff --git a/src/increase/types/simulations/inbound_real_time_payments_transfer_simulation_result.py b/src/increase/types/simulations/inbound_real_time_payments_transfer_simulation_result.py index 327261373..15df0fec0 100644 --- a/src/increase/types/simulations/inbound_real_time_payments_transfer_simulation_result.py +++ b/src/increase/types/simulations/inbound_real_time_payments_transfer_simulation_result.py @@ -107,16 +107,22 @@ class DeclinedTransactionSourceACHDecline(BaseModel): - `ach_route_canceled` - The account number is canceled. - `ach_route_disabled` - The account number is disabled. - - `breaches_limit` - The transaction would cause a limit to be exceeded. - - `credit_entry_refused_by_receiver` - A credit was refused. - - `duplicate_return` - Other. + - `breaches_limit` - The transaction would cause an Increase limit to be + exceeded. + - `credit_entry_refused_by_receiver` - A credit was refused. This is a + reasonable default reason for decline of credits. + - `duplicate_return` - A rare return reason. The return this message refers to + was a duplicate. - `entity_not_active` - The account's entity is not active. - `group_locked` - Your account is inactive. - `insufficient_funds` - Your account contains insufficient funds. - - `misrouted_return` - Other. - - `return_of_erroneous_or_reversing_debit` - Other. + - `misrouted_return` - A rare return reason. The return this message refers to + was misrouted. + - `return_of_erroneous_or_reversing_debit` - The originating financial + institution made a mistake and this return corrects it. - `no_ach_route` - The account number that was debited does not exist. - - `originator_request` - Other. + - `originator_request` - The originating financial institution asked for this + transfer to be returned. - `transaction_not_allowed` - The transaction is not allowed per Increase's terms. - `user_initiated` - The user initiated the decline. @@ -346,6 +352,11 @@ class DeclinedTransactionSourceCheckDecline(BaseModel): """ auxiliary_on_us: Optional[str] + """ + A computer-readable number printed on the MICR line of business checks, usually + the check number. This is useful for positive pay checks, but can be unreliably + transmitted by the bank of first deposit. + """ reason: Literal[ "ach_route_canceled", @@ -529,34 +540,53 @@ class DeclinedTransactionSourceWireDecline(BaseModel): """ beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the declined transaction.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the originating bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" reason: Literal[ "account_number_canceled", @@ -754,6 +784,7 @@ class TransactionSourceAccountTransferIntention(BaseModel): class TransactionSourceACHTransferIntention(BaseModel): account_number: str + """The account number for the destination account.""" amount: int """The amount in the minor unit of the transaction's currency. @@ -762,8 +793,13 @@ class TransactionSourceACHTransferIntention(BaseModel): """ routing_number: str + """ + The American Bankers' Association (ABA) Routing Transit Number (RTN) for the + destination account. + """ statement_descriptor: str + """A description set when the ACH Transfer was created.""" transfer_id: str """The identifier of the ACH Transfer that led to this Transaction.""" @@ -891,7 +927,7 @@ class TransactionSourceACHTransferReturn(BaseModel): - `enr_invalid_individual_name` - Code R45. The individual name field was invalid. - `returned_per_odfi_request` - Code R06. The originating financial institution - reversed the transfer. + asked for this transfer to be returned. - `limited_participation_dfi` - Code R34. The receiving bank's regulatory supervisor has limited their participation. - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound @@ -978,7 +1014,7 @@ class TransactionSourceACHTransferReturn(BaseModel): bank disputes that an earlier `duplicate_entry` return was actually a duplicate. - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The - originating bank made a mistake earlier and this return corrects it. + originating financial institution made a mistake and this return corrects it. - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of a malformed credit entry. - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a @@ -2091,6 +2127,9 @@ class TransactionSourceCheckDepositReturn(BaseModel): "endorsement_irregular", ] """ + Why this check was returned by the bank holding the account it was drawn + against. + - `ach_conversion_not_supported` - The check doesn't allow ACH conversion. - `closed_account` - The account is closed. - `duplicate_submission` - The check has already been deposited. @@ -2245,20 +2284,41 @@ class TransactionSourceInboundACHTransfer(BaseModel): """ originator_company_descriptive_date: Optional[str] + """The description of the date of the transfer, usually in the format `YYMMDD`.""" originator_company_discretionary_data: Optional[str] + """Data set by the originator.""" originator_company_entry_description: str + """An informational description of the transfer.""" originator_company_id: str + """An identifier for the originating company. + + This is generally, but not always, a stable identifier across multiple + transfers. + """ originator_company_name: str + """A name set by the originator to identify themselves.""" receiver_id_number: Optional[str] + """The originator's identifier for the transfer receipient.""" receiver_name: Optional[str] + """The name of the transfer recipient. + + This value is informational and not verified by Increase. + """ trace_number: str + """ + A 15 digit number recorded in the Nacha file and available to both the + originating and receiving bank. Along with the amount, date, and originating + routing number, this can be used to identify the ACH transfer at either bank. + ACH trace numbers are not unique, but are + [used to correlate returns](https://increase.com/documentation/ach#returns). + """ transfer_id: str """The inbound ach transfer's identifier.""" @@ -2279,10 +2339,16 @@ class TransactionSourceInboundCheck(BaseModel): """ check_front_image_file_id: Optional[str] + """The front image of the check. This is a black and white TIFF image file.""" check_number: Optional[str] + """The number of the check. + + This field is set by the depositing bank and can be unreliable. + """ check_rear_image_file_id: Optional[str] + """The rear image of the check. This is a black and white TIFF image file.""" currency: Literal["CAD", "CHF", "EUR", "GBP", "JPY", "USD"] """ @@ -2423,28 +2489,56 @@ class TransactionSourceInboundWireDrawdownPayment(BaseModel): """ beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the receiving bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" + + originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class TransactionSourceInboundWireDrawdownPaymentReversal(BaseModel): @@ -2481,7 +2575,7 @@ class TransactionSourceInboundWireDrawdownPaymentReversal(BaseModel): class TransactionSourceInboundWireReversal(BaseModel): amount: int - """The amount that was reversed.""" + """The amount that was reversed in USD cents.""" created_at: datetime """ @@ -2490,13 +2584,19 @@ class TransactionSourceInboundWireReversal(BaseModel): """ description: str - """The description on the reversal message from Fedwire.""" + """ + The description on the reversal message from Fedwire, set by the reversing bank. + """ financial_institution_to_financial_institution_information: Optional[str] """Additional financial institution information included in the wire reversal.""" input_cycle_date: date - """The Fedwire cycle date for the wire reversal.""" + """The Fedwire cycle date for the wire reversal. + + The "Fedwire day" begins at 9:00 PM Eastern Time on the evening before the + `cycle date`. + """ input_message_accountability_data: str """The Fedwire transaction identifier.""" @@ -2508,7 +2608,10 @@ class TransactionSourceInboundWireReversal(BaseModel): """The Fedwire input source identifier.""" previous_message_input_cycle_date: date - """The Fedwire cycle date for the wire transfer that was reversed.""" + """ + The Fedwire cycle date for the wire transfer that is being reversed by this + message. + """ previous_message_input_message_accountability_data: str """The Fedwire transaction identifier for the wire transfer that was reversed.""" @@ -2534,42 +2637,59 @@ class TransactionSourceInboundWireReversal(BaseModel): class TransactionSourceInboundWireTransfer(BaseModel): amount: int - """The amount in the minor unit of the transaction's currency. - - For dollars, for example, this is cents. - """ + """The amount in USD cents.""" beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the originating bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class TransactionSourceInterestPayment(BaseModel): @@ -2637,7 +2757,10 @@ class TransactionSourceInternalSource(BaseModel): "sample_funds", "sample_funds_return", ] - """ + """An Internal Source is a transaction between you and Increase. + + This describes the reason for the transaction. + - `account_closure` - Account closure - `bank_migration` - Bank migration - `cashback` - Cashback @@ -2690,10 +2813,12 @@ class TransactionSourceWireTransferIntention(BaseModel): """The American Bankers' Association (ABA) Routing Transit Number (RTN).""" transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class TransactionSourceWireTransferRejection(BaseModel): transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class TransactionSource(BaseModel): diff --git a/src/increase/types/simulations/interest_payment_simulation_result.py b/src/increase/types/simulations/interest_payment_simulation_result.py index 8044e5999..0b23d8321 100644 --- a/src/increase/types/simulations/interest_payment_simulation_result.py +++ b/src/increase/types/simulations/interest_payment_simulation_result.py @@ -90,6 +90,7 @@ class TransactionSourceAccountTransferIntention(BaseModel): class TransactionSourceACHTransferIntention(BaseModel): account_number: str + """The account number for the destination account.""" amount: int """The amount in the minor unit of the transaction's currency. @@ -98,8 +99,13 @@ class TransactionSourceACHTransferIntention(BaseModel): """ routing_number: str + """ + The American Bankers' Association (ABA) Routing Transit Number (RTN) for the + destination account. + """ statement_descriptor: str + """A description set when the ACH Transfer was created.""" transfer_id: str """The identifier of the ACH Transfer that led to this Transaction.""" @@ -227,7 +233,7 @@ class TransactionSourceACHTransferReturn(BaseModel): - `enr_invalid_individual_name` - Code R45. The individual name field was invalid. - `returned_per_odfi_request` - Code R06. The originating financial institution - reversed the transfer. + asked for this transfer to be returned. - `limited_participation_dfi` - Code R34. The receiving bank's regulatory supervisor has limited their participation. - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound @@ -314,7 +320,7 @@ class TransactionSourceACHTransferReturn(BaseModel): bank disputes that an earlier `duplicate_entry` return was actually a duplicate. - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The - originating bank made a mistake earlier and this return corrects it. + originating financial institution made a mistake and this return corrects it. - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of a malformed credit entry. - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a @@ -1427,6 +1433,9 @@ class TransactionSourceCheckDepositReturn(BaseModel): "endorsement_irregular", ] """ + Why this check was returned by the bank holding the account it was drawn + against. + - `ach_conversion_not_supported` - The check doesn't allow ACH conversion. - `closed_account` - The account is closed. - `duplicate_submission` - The check has already been deposited. @@ -1581,20 +1590,41 @@ class TransactionSourceInboundACHTransfer(BaseModel): """ originator_company_descriptive_date: Optional[str] + """The description of the date of the transfer, usually in the format `YYMMDD`.""" originator_company_discretionary_data: Optional[str] + """Data set by the originator.""" originator_company_entry_description: str + """An informational description of the transfer.""" originator_company_id: str + """An identifier for the originating company. + + This is generally, but not always, a stable identifier across multiple + transfers. + """ originator_company_name: str + """A name set by the originator to identify themselves.""" receiver_id_number: Optional[str] + """The originator's identifier for the transfer receipient.""" receiver_name: Optional[str] + """The name of the transfer recipient. + + This value is informational and not verified by Increase. + """ trace_number: str + """ + A 15 digit number recorded in the Nacha file and available to both the + originating and receiving bank. Along with the amount, date, and originating + routing number, this can be used to identify the ACH transfer at either bank. + ACH trace numbers are not unique, but are + [used to correlate returns](https://increase.com/documentation/ach#returns). + """ transfer_id: str """The inbound ach transfer's identifier.""" @@ -1615,10 +1645,16 @@ class TransactionSourceInboundCheck(BaseModel): """ check_front_image_file_id: Optional[str] + """The front image of the check. This is a black and white TIFF image file.""" check_number: Optional[str] + """The number of the check. + + This field is set by the depositing bank and can be unreliable. + """ check_rear_image_file_id: Optional[str] + """The rear image of the check. This is a black and white TIFF image file.""" currency: Literal["CAD", "CHF", "EUR", "GBP", "JPY", "USD"] """ @@ -1759,28 +1795,56 @@ class TransactionSourceInboundWireDrawdownPayment(BaseModel): """ beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the receiving bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" + + originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class TransactionSourceInboundWireDrawdownPaymentReversal(BaseModel): @@ -1817,7 +1881,7 @@ class TransactionSourceInboundWireDrawdownPaymentReversal(BaseModel): class TransactionSourceInboundWireReversal(BaseModel): amount: int - """The amount that was reversed.""" + """The amount that was reversed in USD cents.""" created_at: datetime """ @@ -1826,13 +1890,19 @@ class TransactionSourceInboundWireReversal(BaseModel): """ description: str - """The description on the reversal message from Fedwire.""" + """ + The description on the reversal message from Fedwire, set by the reversing bank. + """ financial_institution_to_financial_institution_information: Optional[str] """Additional financial institution information included in the wire reversal.""" input_cycle_date: date - """The Fedwire cycle date for the wire reversal.""" + """The Fedwire cycle date for the wire reversal. + + The "Fedwire day" begins at 9:00 PM Eastern Time on the evening before the + `cycle date`. + """ input_message_accountability_data: str """The Fedwire transaction identifier.""" @@ -1844,7 +1914,10 @@ class TransactionSourceInboundWireReversal(BaseModel): """The Fedwire input source identifier.""" previous_message_input_cycle_date: date - """The Fedwire cycle date for the wire transfer that was reversed.""" + """ + The Fedwire cycle date for the wire transfer that is being reversed by this + message. + """ previous_message_input_message_accountability_data: str """The Fedwire transaction identifier for the wire transfer that was reversed.""" @@ -1870,42 +1943,59 @@ class TransactionSourceInboundWireReversal(BaseModel): class TransactionSourceInboundWireTransfer(BaseModel): amount: int - """The amount in the minor unit of the transaction's currency. - - For dollars, for example, this is cents. - """ + """The amount in USD cents.""" beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the originating bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class TransactionSourceInterestPayment(BaseModel): @@ -1973,7 +2063,10 @@ class TransactionSourceInternalSource(BaseModel): "sample_funds", "sample_funds_return", ] - """ + """An Internal Source is a transaction between you and Increase. + + This describes the reason for the transaction. + - `account_closure` - Account closure - `bank_migration` - Bank migration - `cashback` - Cashback @@ -2026,10 +2119,12 @@ class TransactionSourceWireTransferIntention(BaseModel): """The American Bankers' Association (ABA) Routing Transit Number (RTN).""" transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class TransactionSourceWireTransferRejection(BaseModel): transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class TransactionSource(BaseModel): diff --git a/src/increase/types/simulations/wire_transfer_simulation.py b/src/increase/types/simulations/wire_transfer_simulation.py index 177ae8874..59f57362f 100644 --- a/src/increase/types/simulations/wire_transfer_simulation.py +++ b/src/increase/types/simulations/wire_transfer_simulation.py @@ -90,6 +90,7 @@ class TransactionSourceAccountTransferIntention(BaseModel): class TransactionSourceACHTransferIntention(BaseModel): account_number: str + """The account number for the destination account.""" amount: int """The amount in the minor unit of the transaction's currency. @@ -98,8 +99,13 @@ class TransactionSourceACHTransferIntention(BaseModel): """ routing_number: str + """ + The American Bankers' Association (ABA) Routing Transit Number (RTN) for the + destination account. + """ statement_descriptor: str + """A description set when the ACH Transfer was created.""" transfer_id: str """The identifier of the ACH Transfer that led to this Transaction.""" @@ -227,7 +233,7 @@ class TransactionSourceACHTransferReturn(BaseModel): - `enr_invalid_individual_name` - Code R45. The individual name field was invalid. - `returned_per_odfi_request` - Code R06. The originating financial institution - reversed the transfer. + asked for this transfer to be returned. - `limited_participation_dfi` - Code R34. The receiving bank's regulatory supervisor has limited their participation. - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound @@ -314,7 +320,7 @@ class TransactionSourceACHTransferReturn(BaseModel): bank disputes that an earlier `duplicate_entry` return was actually a duplicate. - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The - originating bank made a mistake earlier and this return corrects it. + originating financial institution made a mistake and this return corrects it. - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of a malformed credit entry. - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a @@ -1427,6 +1433,9 @@ class TransactionSourceCheckDepositReturn(BaseModel): "endorsement_irregular", ] """ + Why this check was returned by the bank holding the account it was drawn + against. + - `ach_conversion_not_supported` - The check doesn't allow ACH conversion. - `closed_account` - The account is closed. - `duplicate_submission` - The check has already been deposited. @@ -1581,20 +1590,41 @@ class TransactionSourceInboundACHTransfer(BaseModel): """ originator_company_descriptive_date: Optional[str] + """The description of the date of the transfer, usually in the format `YYMMDD`.""" originator_company_discretionary_data: Optional[str] + """Data set by the originator.""" originator_company_entry_description: str + """An informational description of the transfer.""" originator_company_id: str + """An identifier for the originating company. + + This is generally, but not always, a stable identifier across multiple + transfers. + """ originator_company_name: str + """A name set by the originator to identify themselves.""" receiver_id_number: Optional[str] + """The originator's identifier for the transfer receipient.""" receiver_name: Optional[str] + """The name of the transfer recipient. + + This value is informational and not verified by Increase. + """ trace_number: str + """ + A 15 digit number recorded in the Nacha file and available to both the + originating and receiving bank. Along with the amount, date, and originating + routing number, this can be used to identify the ACH transfer at either bank. + ACH trace numbers are not unique, but are + [used to correlate returns](https://increase.com/documentation/ach#returns). + """ transfer_id: str """The inbound ach transfer's identifier.""" @@ -1615,10 +1645,16 @@ class TransactionSourceInboundCheck(BaseModel): """ check_front_image_file_id: Optional[str] + """The front image of the check. This is a black and white TIFF image file.""" check_number: Optional[str] + """The number of the check. + + This field is set by the depositing bank and can be unreliable. + """ check_rear_image_file_id: Optional[str] + """The rear image of the check. This is a black and white TIFF image file.""" currency: Literal["CAD", "CHF", "EUR", "GBP", "JPY", "USD"] """ @@ -1759,28 +1795,56 @@ class TransactionSourceInboundWireDrawdownPayment(BaseModel): """ beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the receiving bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" + + originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class TransactionSourceInboundWireDrawdownPaymentReversal(BaseModel): @@ -1817,7 +1881,7 @@ class TransactionSourceInboundWireDrawdownPaymentReversal(BaseModel): class TransactionSourceInboundWireReversal(BaseModel): amount: int - """The amount that was reversed.""" + """The amount that was reversed in USD cents.""" created_at: datetime """ @@ -1826,13 +1890,19 @@ class TransactionSourceInboundWireReversal(BaseModel): """ description: str - """The description on the reversal message from Fedwire.""" + """ + The description on the reversal message from Fedwire, set by the reversing bank. + """ financial_institution_to_financial_institution_information: Optional[str] """Additional financial institution information included in the wire reversal.""" input_cycle_date: date - """The Fedwire cycle date for the wire reversal.""" + """The Fedwire cycle date for the wire reversal. + + The "Fedwire day" begins at 9:00 PM Eastern Time on the evening before the + `cycle date`. + """ input_message_accountability_data: str """The Fedwire transaction identifier.""" @@ -1844,7 +1914,10 @@ class TransactionSourceInboundWireReversal(BaseModel): """The Fedwire input source identifier.""" previous_message_input_cycle_date: date - """The Fedwire cycle date for the wire transfer that was reversed.""" + """ + The Fedwire cycle date for the wire transfer that is being reversed by this + message. + """ previous_message_input_message_accountability_data: str """The Fedwire transaction identifier for the wire transfer that was reversed.""" @@ -1870,42 +1943,59 @@ class TransactionSourceInboundWireReversal(BaseModel): class TransactionSourceInboundWireTransfer(BaseModel): amount: int - """The amount in the minor unit of the transaction's currency. - - For dollars, for example, this is cents. - """ + """The amount in USD cents.""" beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the originating bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class TransactionSourceInterestPayment(BaseModel): @@ -1973,7 +2063,10 @@ class TransactionSourceInternalSource(BaseModel): "sample_funds", "sample_funds_return", ] - """ + """An Internal Source is a transaction between you and Increase. + + This describes the reason for the transaction. + - `account_closure` - Account closure - `bank_migration` - Bank migration - `cashback` - Cashback @@ -2026,10 +2119,12 @@ class TransactionSourceWireTransferIntention(BaseModel): """The American Bankers' Association (ABA) Routing Transit Number (RTN).""" transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class TransactionSourceWireTransferRejection(BaseModel): transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class TransactionSource(BaseModel): diff --git a/src/increase/types/transaction.py b/src/increase/types/transaction.py index a92484ab0..73a65d720 100644 --- a/src/increase/types/transaction.py +++ b/src/increase/types/transaction.py @@ -89,6 +89,7 @@ class SourceAccountTransferIntention(BaseModel): class SourceACHTransferIntention(BaseModel): account_number: str + """The account number for the destination account.""" amount: int """The amount in the minor unit of the transaction's currency. @@ -97,8 +98,13 @@ class SourceACHTransferIntention(BaseModel): """ routing_number: str + """ + The American Bankers' Association (ABA) Routing Transit Number (RTN) for the + destination account. + """ statement_descriptor: str + """A description set when the ACH Transfer was created.""" transfer_id: str """The identifier of the ACH Transfer that led to this Transaction.""" @@ -226,7 +232,7 @@ class SourceACHTransferReturn(BaseModel): - `enr_invalid_individual_name` - Code R45. The individual name field was invalid. - `returned_per_odfi_request` - Code R06. The originating financial institution - reversed the transfer. + asked for this transfer to be returned. - `limited_participation_dfi` - Code R34. The receiving bank's regulatory supervisor has limited their participation. - `incorrectly_coded_outbound_international_payment` - Code R85. The outbound @@ -313,7 +319,7 @@ class SourceACHTransferReturn(BaseModel): bank disputes that an earlier `duplicate_entry` return was actually a duplicate. - `return_of_erroneous_or_reversing_debit` - Code R62. A rare return reason. The - originating bank made a mistake earlier and this return corrects it. + originating financial institution made a mistake and this return corrects it. - `return_of_improper_credit_entry` - Code R36. A rare return reason. Return of a malformed credit entry. - `return_of_improper_debit_entry` - Code R35. A rare return reason. Return of a @@ -1426,6 +1432,9 @@ class SourceCheckDepositReturn(BaseModel): "endorsement_irregular", ] """ + Why this check was returned by the bank holding the account it was drawn + against. + - `ach_conversion_not_supported` - The check doesn't allow ACH conversion. - `closed_account` - The account is closed. - `duplicate_submission` - The check has already been deposited. @@ -1580,20 +1589,41 @@ class SourceInboundACHTransfer(BaseModel): """ originator_company_descriptive_date: Optional[str] + """The description of the date of the transfer, usually in the format `YYMMDD`.""" originator_company_discretionary_data: Optional[str] + """Data set by the originator.""" originator_company_entry_description: str + """An informational description of the transfer.""" originator_company_id: str + """An identifier for the originating company. + + This is generally, but not always, a stable identifier across multiple + transfers. + """ originator_company_name: str + """A name set by the originator to identify themselves.""" receiver_id_number: Optional[str] + """The originator's identifier for the transfer receipient.""" receiver_name: Optional[str] + """The name of the transfer recipient. + + This value is informational and not verified by Increase. + """ trace_number: str + """ + A 15 digit number recorded in the Nacha file and available to both the + originating and receiving bank. Along with the amount, date, and originating + routing number, this can be used to identify the ACH transfer at either bank. + ACH trace numbers are not unique, but are + [used to correlate returns](https://increase.com/documentation/ach#returns). + """ transfer_id: str """The inbound ach transfer's identifier.""" @@ -1614,10 +1644,16 @@ class SourceInboundCheck(BaseModel): """ check_front_image_file_id: Optional[str] + """The front image of the check. This is a black and white TIFF image file.""" check_number: Optional[str] + """The number of the check. + + This field is set by the depositing bank and can be unreliable. + """ check_rear_image_file_id: Optional[str] + """The rear image of the check. This is a black and white TIFF image file.""" currency: Literal["CAD", "CHF", "EUR", "GBP", "JPY", "USD"] """ @@ -1758,28 +1794,56 @@ class SourceInboundWireDrawdownPayment(BaseModel): """ beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the receiving bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" + + originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" + + originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class SourceInboundWireDrawdownPaymentReversal(BaseModel): @@ -1816,7 +1880,7 @@ class SourceInboundWireDrawdownPaymentReversal(BaseModel): class SourceInboundWireReversal(BaseModel): amount: int - """The amount that was reversed.""" + """The amount that was reversed in USD cents.""" created_at: datetime """ @@ -1825,13 +1889,19 @@ class SourceInboundWireReversal(BaseModel): """ description: str - """The description on the reversal message from Fedwire.""" + """ + The description on the reversal message from Fedwire, set by the reversing bank. + """ financial_institution_to_financial_institution_information: Optional[str] """Additional financial institution information included in the wire reversal.""" input_cycle_date: date - """The Fedwire cycle date for the wire reversal.""" + """The Fedwire cycle date for the wire reversal. + + The "Fedwire day" begins at 9:00 PM Eastern Time on the evening before the + `cycle date`. + """ input_message_accountability_data: str """The Fedwire transaction identifier.""" @@ -1843,7 +1913,10 @@ class SourceInboundWireReversal(BaseModel): """The Fedwire input source identifier.""" previous_message_input_cycle_date: date - """The Fedwire cycle date for the wire transfer that was reversed.""" + """ + The Fedwire cycle date for the wire transfer that is being reversed by this + message. + """ previous_message_input_message_accountability_data: str """The Fedwire transaction identifier for the wire transfer that was reversed.""" @@ -1869,42 +1942,59 @@ class SourceInboundWireReversal(BaseModel): class SourceInboundWireTransfer(BaseModel): amount: int - """The amount in the minor unit of the transaction's currency. - - For dollars, for example, this is cents. - """ + """The amount in USD cents.""" beneficiary_address_line1: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line2: Optional[str] + """A free-form address field set by the sender.""" beneficiary_address_line3: Optional[str] + """A free-form address field set by the sender.""" beneficiary_name: Optional[str] + """A name set by the sender.""" beneficiary_reference: Optional[str] + """A free-form reference string set by the sender, to help identify the transfer.""" description: str + """An Increase-constructed description of the transfer.""" input_message_accountability_data: Optional[str] + """ + A unique identifier available to the originating and receiving banks, commonly + abbreviated as IMAD. It is created when the wire is submitted to the Fedwire + service and is helpful when debugging wires with the originating bank. + """ originator_address_line1: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line2: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_address_line3: Optional[str] + """The address of the wire originator, set by the sending bank.""" originator_name: Optional[str] + """The originator of the wire, set by the sending bank.""" originator_to_beneficiary_information: Optional[str] + """An Increase-created concatenation of the Originator-to-Beneficiary lines.""" originator_to_beneficiary_information_line1: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line2: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line3: Optional[str] + """A free-form message set by the wire originator.""" originator_to_beneficiary_information_line4: Optional[str] + """A free-form message set by the wire originator.""" class SourceInterestPayment(BaseModel): @@ -1972,7 +2062,10 @@ class SourceInternalSource(BaseModel): "sample_funds", "sample_funds_return", ] - """ + """An Internal Source is a transaction between you and Increase. + + This describes the reason for the transaction. + - `account_closure` - Account closure - `bank_migration` - Bank migration - `cashback` - Cashback @@ -2025,10 +2118,12 @@ class SourceWireTransferIntention(BaseModel): """The American Bankers' Association (ABA) Routing Transit Number (RTN).""" transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class SourceWireTransferRejection(BaseModel): transfer_id: str + """The identifier of the Wire Transfer that led to this Transaction.""" class Source(BaseModel): diff --git a/src/increase/types/wire_transfer.py b/src/increase/types/wire_transfer.py index 50310f514..253a0a0e1 100644 --- a/src/increase/types/wire_transfer.py +++ b/src/increase/types/wire_transfer.py @@ -39,7 +39,7 @@ class Cancellation(BaseModel): class Reversal(BaseModel): amount: int - """The amount that was reversed.""" + """The amount that was reversed in USD cents.""" created_at: datetime """ @@ -48,13 +48,19 @@ class Reversal(BaseModel): """ description: str - """The description on the reversal message from Fedwire.""" + """ + The description on the reversal message from Fedwire, set by the reversing bank. + """ financial_institution_to_financial_institution_information: Optional[str] """Additional financial institution information included in the wire reversal.""" input_cycle_date: date - """The Fedwire cycle date for the wire reversal.""" + """The Fedwire cycle date for the wire reversal. + + The "Fedwire day" begins at 9:00 PM Eastern Time on the evening before the + `cycle date`. + """ input_message_accountability_data: str """The Fedwire transaction identifier.""" @@ -66,7 +72,10 @@ class Reversal(BaseModel): """The Fedwire input source identifier.""" previous_message_input_cycle_date: date - """The Fedwire cycle date for the wire transfer that was reversed.""" + """ + The Fedwire cycle date for the wire transfer that is being reversed by this + message. + """ previous_message_input_message_accountability_data: str """The Fedwire transaction identifier for the wire transfer that was reversed.""" diff --git a/tests/api_resources/entities/test_beneficial_owners.py b/tests/api_resources/entities/test_beneficial_owners.py index b427f83fa..43a839fbe 100644 --- a/tests/api_resources/entities/test_beneficial_owners.py +++ b/tests/api_resources/entities/test_beneficial_owners.py @@ -97,6 +97,35 @@ def test_method_archive(self, client: Increase) -> None: ) assert_matches_type(Entity, beneficial_owner, path=["response"]) + @parametrize + def test_method_update_address(self, client: Increase) -> None: + beneficial_owner = client.entities.beneficial_owners.update_address( + address={ + "line1": "x", + "city": "x", + "state": "x", + "zip": "x", + }, + beneficial_owner_id="string", + entity_id="string", + ) + assert_matches_type(Entity, beneficial_owner, path=["response"]) + + @parametrize + def test_method_update_address_with_all_params(self, client: Increase) -> None: + beneficial_owner = client.entities.beneficial_owners.update_address( + address={ + "line1": "x", + "line2": "x", + "city": "x", + "state": "x", + "zip": "x", + }, + beneficial_owner_id="string", + entity_id="string", + ) + assert_matches_type(Entity, beneficial_owner, path=["response"]) + class TestAsyncBeneficialOwners: strict_client = AsyncIncrease(base_url=base_url, api_key=api_key, _strict_response_validation=True) @@ -179,3 +208,32 @@ async def test_method_archive(self, client: AsyncIncrease) -> None: entity_id="string", ) assert_matches_type(Entity, beneficial_owner, path=["response"]) + + @parametrize + async def test_method_update_address(self, client: AsyncIncrease) -> None: + beneficial_owner = await client.entities.beneficial_owners.update_address( + address={ + "line1": "x", + "city": "x", + "state": "x", + "zip": "x", + }, + beneficial_owner_id="string", + entity_id="string", + ) + assert_matches_type(Entity, beneficial_owner, path=["response"]) + + @parametrize + async def test_method_update_address_with_all_params(self, client: AsyncIncrease) -> None: + beneficial_owner = await client.entities.beneficial_owners.update_address( + address={ + "line1": "x", + "line2": "x", + "city": "x", + "state": "x", + "zip": "x", + }, + beneficial_owner_id="string", + entity_id="string", + ) + assert_matches_type(Entity, beneficial_owner, path=["response"]) diff --git a/tests/api_resources/test_entities.py b/tests/api_resources/test_entities.py index 5ae7b5268..7615fcfde 100644 --- a/tests/api_resources/test_entities.py +++ b/tests/api_resources/test_entities.py @@ -503,6 +503,33 @@ def test_method_archive(self, client: Increase) -> None: ) assert_matches_type(Entity, entity, path=["response"]) + @parametrize + def test_method_update_address(self, client: Increase) -> None: + entity = client.entities.update_address( + "string", + address={ + "line1": "x", + "city": "x", + "state": "x", + "zip": "x", + }, + ) + assert_matches_type(Entity, entity, path=["response"]) + + @parametrize + def test_method_update_address_with_all_params(self, client: Increase) -> None: + entity = client.entities.update_address( + "string", + address={ + "line1": "x", + "line2": "x", + "city": "x", + "state": "x", + "zip": "x", + }, + ) + assert_matches_type(Entity, entity, path=["response"]) + class TestAsyncEntities: strict_client = AsyncIncrease(base_url=base_url, api_key=api_key, _strict_response_validation=True) @@ -990,3 +1017,30 @@ async def test_method_archive(self, client: AsyncIncrease) -> None: "string", ) assert_matches_type(Entity, entity, path=["response"]) + + @parametrize + async def test_method_update_address(self, client: AsyncIncrease) -> None: + entity = await client.entities.update_address( + "string", + address={ + "line1": "x", + "city": "x", + "state": "x", + "zip": "x", + }, + ) + assert_matches_type(Entity, entity, path=["response"]) + + @parametrize + async def test_method_update_address_with_all_params(self, client: AsyncIncrease) -> None: + entity = await client.entities.update_address( + "string", + address={ + "line1": "x", + "line2": "x", + "city": "x", + "state": "x", + "zip": "x", + }, + ) + assert_matches_type(Entity, entity, path=["response"]) diff --git a/tests/api_resources/test_external_accounts.py b/tests/api_resources/test_external_accounts.py index 325a8e97d..c1c6c9c64 100644 --- a/tests/api_resources/test_external_accounts.py +++ b/tests/api_resources/test_external_accounts.py @@ -72,6 +72,7 @@ def test_method_list_with_all_params(self, client: Increase) -> None: external_account = client.external_accounts.list( cursor="string", limit=0, + routing_number="xxxxxxxxx", status={"in": ["active", "active", "active"]}, ) assert_matches_type(SyncPage[ExternalAccount], external_account, path=["response"]) @@ -134,6 +135,7 @@ async def test_method_list_with_all_params(self, client: AsyncIncrease) -> None: external_account = await client.external_accounts.list( cursor="string", limit=0, + routing_number="xxxxxxxxx", status={"in": ["active", "active", "active"]}, ) assert_matches_type(AsyncPage[ExternalAccount], external_account, path=["response"]) diff --git a/tests/api_resources/test_inbound_ach_transfers.py b/tests/api_resources/test_inbound_ach_transfers.py index 98dc824d2..26f0db524 100644 --- a/tests/api_resources/test_inbound_ach_transfers.py +++ b/tests/api_resources/test_inbound_ach_transfers.py @@ -56,6 +56,22 @@ def test_method_decline(self, client: Increase) -> None: ) assert_matches_type(InboundACHTransfer, inbound_ach_transfer, path=["response"]) + @parametrize + def test_method_notification_of_change(self, client: Increase) -> None: + inbound_ach_transfer = client.inbound_ach_transfers.notification_of_change( + "string", + ) + assert_matches_type(InboundACHTransfer, inbound_ach_transfer, path=["response"]) + + @parametrize + def test_method_notification_of_change_with_all_params(self, client: Increase) -> None: + inbound_ach_transfer = client.inbound_ach_transfers.notification_of_change( + "string", + updated_account_number="x", + updated_routing_number="x", + ) + assert_matches_type(InboundACHTransfer, inbound_ach_transfer, path=["response"]) + @parametrize def test_method_transfer_return(self, client: Increase) -> None: inbound_ach_transfer = client.inbound_ach_transfers.transfer_return( @@ -105,6 +121,22 @@ async def test_method_decline(self, client: AsyncIncrease) -> None: ) assert_matches_type(InboundACHTransfer, inbound_ach_transfer, path=["response"]) + @parametrize + async def test_method_notification_of_change(self, client: AsyncIncrease) -> None: + inbound_ach_transfer = await client.inbound_ach_transfers.notification_of_change( + "string", + ) + assert_matches_type(InboundACHTransfer, inbound_ach_transfer, path=["response"]) + + @parametrize + async def test_method_notification_of_change_with_all_params(self, client: AsyncIncrease) -> None: + inbound_ach_transfer = await client.inbound_ach_transfers.notification_of_change( + "string", + updated_account_number="x", + updated_routing_number="x", + ) + assert_matches_type(InboundACHTransfer, inbound_ach_transfer, path=["response"]) + @parametrize async def test_method_transfer_return(self, client: AsyncIncrease) -> None: inbound_ach_transfer = await client.inbound_ach_transfers.transfer_return(