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(