Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.373.0"
".": "0.374.0"
}
6 changes: 3 additions & 3 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 228
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-2453598e129a8305006487bc7616f3ee69eb4355a6d3f185dd51404fa8142246.yml
openapi_spec_hash: e0b54d0015d39f9434659d8899bb2706
config_hash: fc8a0ae068f2feeac76f728ac6838543
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/increase%2Fincrease-fd1e9a0d66098ce0c20cb6c15bbb8c26a8662d52730907deb4a179aebd6b89d6.yml
openapi_spec_hash: 2139b75a9f653c413775fb96f70ba794
config_hash: eb2035151c7b49c2f12caf55469b8f9a
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 0.374.0 (2025-10-30)

Full Changelog: [v0.373.0...v0.374.0](https://github.com/Increase/increase-python/compare/v0.373.0...v0.374.0)

### Features

* **api:** api update ([d705fa1](https://github.com/Increase/increase-python/commit/d705fa1a03274a1b31c73f40e5754445d4503184))
* **api:** api update ([da7b55d](https://github.com/Increase/increase-python/commit/da7b55d2191378721e1ebf49acfde8e8b4dacbda))


### Chores

* **internal/tests:** avoid race condition with implicit client cleanup ([41a58d4](https://github.com/Increase/increase-python/commit/41a58d40928ab6392025af88b54b83a0ad2f37de))

## 0.373.0 (2025-10-29)

Full Changelog: [v0.372.0...v0.373.0](https://github.com/Increase/increase-python/compare/v0.372.0...v0.373.0)
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "increase"
version = "0.373.0"
version = "0.374.0"
description = "The official Python library for the increase API"
dynamic = ["readme"]
license = "Apache-2.0"
Expand Down
6 changes: 3 additions & 3 deletions src/increase/_exceptions.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from __future__ import annotations

from typing import Any, List, Mapping, Optional, cast
from typing import Any, Dict, List, Mapping, Optional, cast
from typing_extensions import Literal

import httpx
Expand Down Expand Up @@ -122,7 +122,7 @@ class RateLimitError(APIStatusError):
class InvalidParametersError(BadRequestError):
detail: Optional[str] = None

errors: List[object]
errors: List[Dict[str, object]]
"""All errors related to parsing the request parameters."""

status: Literal[400]
Expand All @@ -138,7 +138,7 @@ def __init__(self, message: str, *, body: object, response: httpx.Response) -> N

self.title = title
self.detail = cast(Any, construct_type(type_=Optional[str], value=data.get("detail")))
self.errors = cast(Any, construct_type(type_=List[object], value=data.get("errors")))
self.errors = cast(Any, construct_type(type_=List[Dict[str, object]], value=data.get("errors")))
self.status = cast(Any, construct_type(type_=Literal[400], value=data.get("status")))
self.type = cast(Any, construct_type(type_=Literal["invalid_parameters_error"], value=data.get("type")))

Expand Down
2 changes: 1 addition & 1 deletion src/increase/_version.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

__title__ = "increase"
__version__ = "0.373.0" # x-release-please-version
__version__ = "0.374.0" # x-release-please-version
100 changes: 24 additions & 76 deletions src/increase/resources/wire_transfers.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,18 +47,12 @@ def create(
*,
account_id: str,
amount: int,
beneficiary_name: str,
creditor: wire_transfer_create_params.Creditor,
remittance: wire_transfer_create_params.Remittance,
account_number: str | Omit = omit,
beneficiary_address_line1: str | Omit = omit,
beneficiary_address_line2: str | Omit = omit,
beneficiary_address_line3: str | Omit = omit,
debtor: wire_transfer_create_params.Debtor | Omit = omit,
external_account_id: str | Omit = omit,
inbound_wire_drawdown_request_id: str | Omit = omit,
originator_address_line1: str | Omit = omit,
originator_address_line2: str | Omit = omit,
originator_address_line3: str | Omit = omit,
originator_name: str | Omit = omit,
remittance: wire_transfer_create_params.Remittance | Omit = omit,
require_approval: bool | Omit = omit,
routing_number: str | Omit = omit,
source_account_number_id: str | Omit = omit,
Expand All @@ -78,36 +72,22 @@ def create(

amount: The transfer amount in USD cents.

beneficiary_name: The beneficiary's name.
creditor: The person or business that is receiving the funds from the transfer.

account_number: The account number for the destination account.

beneficiary_address_line1: The beneficiary's address line 1.
remittance: Additional remittance information related to the wire transfer.

beneficiary_address_line2: The beneficiary's address line 2.
account_number: The account number for the destination account.

beneficiary_address_line3: The beneficiary's address line 3.
debtor: The person or business whose funds are being transferred. This is only necessary
if you're transferring from a commingled account. Otherwise, we'll use the
associated entity's details.

external_account_id: The ID of an External Account to initiate a transfer to. If this parameter is
provided, `account_number` and `routing_number` must be absent.

inbound_wire_drawdown_request_id: The ID of an Inbound Wire Drawdown Request in response to which this transfer is
being sent.

originator_address_line1: The originator's address line 1. This is only necessary if you're transferring
from a commingled account. Otherwise, we'll use the associated entity's details.

originator_address_line2: The originator's address line 2. This is only necessary if you're transferring
from a commingled account. Otherwise, we'll use the associated entity's details.

originator_address_line3: The originator's address line 3. This is only necessary if you're transferring
from a commingled account. Otherwise, we'll use the associated entity's details.

originator_name: The originator's name. This is only necessary if you're transferring from a
commingled account. Otherwise, we'll use the associated entity's details.

remittance: Additional remittance information related to the wire transfer.

require_approval: Whether the transfer requires explicit approval via the dashboard or API.

routing_number: The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
Expand All @@ -131,18 +111,12 @@ def create(
{
"account_id": account_id,
"amount": amount,
"beneficiary_name": beneficiary_name,
"creditor": creditor,
"remittance": remittance,
"account_number": account_number,
"beneficiary_address_line1": beneficiary_address_line1,
"beneficiary_address_line2": beneficiary_address_line2,
"beneficiary_address_line3": beneficiary_address_line3,
"debtor": debtor,
"external_account_id": external_account_id,
"inbound_wire_drawdown_request_id": inbound_wire_drawdown_request_id,
"originator_address_line1": originator_address_line1,
"originator_address_line2": originator_address_line2,
"originator_address_line3": originator_address_line3,
"originator_name": originator_name,
"remittance": remittance,
"require_approval": require_approval,
"routing_number": routing_number,
"source_account_number_id": source_account_number_id,
Expand Down Expand Up @@ -369,18 +343,12 @@ async def create(
*,
account_id: str,
amount: int,
beneficiary_name: str,
creditor: wire_transfer_create_params.Creditor,
remittance: wire_transfer_create_params.Remittance,
account_number: str | Omit = omit,
beneficiary_address_line1: str | Omit = omit,
beneficiary_address_line2: str | Omit = omit,
beneficiary_address_line3: str | Omit = omit,
debtor: wire_transfer_create_params.Debtor | Omit = omit,
external_account_id: str | Omit = omit,
inbound_wire_drawdown_request_id: str | Omit = omit,
originator_address_line1: str | Omit = omit,
originator_address_line2: str | Omit = omit,
originator_address_line3: str | Omit = omit,
originator_name: str | Omit = omit,
remittance: wire_transfer_create_params.Remittance | Omit = omit,
require_approval: bool | Omit = omit,
routing_number: str | Omit = omit,
source_account_number_id: str | Omit = omit,
Expand All @@ -400,36 +368,22 @@ async def create(

amount: The transfer amount in USD cents.

beneficiary_name: The beneficiary's name.
creditor: The person or business that is receiving the funds from the transfer.

account_number: The account number for the destination account.

beneficiary_address_line1: The beneficiary's address line 1.
remittance: Additional remittance information related to the wire transfer.

beneficiary_address_line2: The beneficiary's address line 2.
account_number: The account number for the destination account.

beneficiary_address_line3: The beneficiary's address line 3.
debtor: The person or business whose funds are being transferred. This is only necessary
if you're transferring from a commingled account. Otherwise, we'll use the
associated entity's details.

external_account_id: The ID of an External Account to initiate a transfer to. If this parameter is
provided, `account_number` and `routing_number` must be absent.

inbound_wire_drawdown_request_id: The ID of an Inbound Wire Drawdown Request in response to which this transfer is
being sent.

originator_address_line1: The originator's address line 1. This is only necessary if you're transferring
from a commingled account. Otherwise, we'll use the associated entity's details.

originator_address_line2: The originator's address line 2. This is only necessary if you're transferring
from a commingled account. Otherwise, we'll use the associated entity's details.

originator_address_line3: The originator's address line 3. This is only necessary if you're transferring
from a commingled account. Otherwise, we'll use the associated entity's details.

originator_name: The originator's name. This is only necessary if you're transferring from a
commingled account. Otherwise, we'll use the associated entity's details.

remittance: Additional remittance information related to the wire transfer.

require_approval: Whether the transfer requires explicit approval via the dashboard or API.

routing_number: The American Bankers' Association (ABA) Routing Transit Number (RTN) for the
Expand All @@ -453,18 +407,12 @@ async def create(
{
"account_id": account_id,
"amount": amount,
"beneficiary_name": beneficiary_name,
"creditor": creditor,
"remittance": remittance,
"account_number": account_number,
"beneficiary_address_line1": beneficiary_address_line1,
"beneficiary_address_line2": beneficiary_address_line2,
"beneficiary_address_line3": beneficiary_address_line3,
"debtor": debtor,
"external_account_id": external_account_id,
"inbound_wire_drawdown_request_id": inbound_wire_drawdown_request_id,
"originator_address_line1": originator_address_line1,
"originator_address_line2": originator_address_line2,
"originator_address_line3": originator_address_line3,
"originator_name": originator_name,
"remittance": remittance,
"require_approval": require_approval,
"routing_number": routing_number,
"source_account_number_id": source_account_number_id,
Expand Down
16 changes: 15 additions & 1 deletion src/increase/types/account.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import TYPE_CHECKING, Dict, Optional
from datetime import date, datetime
from typing_extensions import Literal

from pydantic import Field as FieldInfo

from .._models import BaseModel

__all__ = ["Account"]
Expand Down Expand Up @@ -111,3 +113,15 @@ class Account(BaseModel):

For this resource it will always be `account`.
"""

if TYPE_CHECKING:
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
# value to this field, so for compatibility we avoid doing it at runtime.
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]

# Stub to indicate that arbitrary properties are accepted.
# To access properties that are not valid identifiers you can use `getattr`, e.g.
# `getattr(obj, '$type')`
def __getattr__(self, attr: str) -> object: ...
else:
__pydantic_extra__: Dict[str, object]
16 changes: 15 additions & 1 deletion src/increase/types/account_number.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import TYPE_CHECKING, Dict, Optional
from datetime import datetime
from typing_extensions import Literal

from pydantic import Field as FieldInfo

from .._models import BaseModel

__all__ = ["AccountNumber", "InboundACH", "InboundChecks"]
Expand Down Expand Up @@ -84,3 +86,15 @@ class AccountNumber(BaseModel):

For this resource it will always be `account_number`.
"""

if TYPE_CHECKING:
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
# value to this field, so for compatibility we avoid doing it at runtime.
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]

# Stub to indicate that arbitrary properties are accepted.
# To access properties that are not valid identifiers you can use `getattr`, e.g.
# `getattr(obj, '$type')`
def __getattr__(self, attr: str) -> object: ...
else:
__pydantic_extra__: Dict[str, object]
16 changes: 15 additions & 1 deletion src/increase/types/account_transfer.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

from typing import Optional
from typing import TYPE_CHECKING, Dict, Optional
from datetime import datetime
from typing_extensions import Literal

from pydantic import Field as FieldInfo

from .._models import BaseModel

__all__ = [
Expand Down Expand Up @@ -180,3 +182,15 @@ class AccountTransfer(BaseModel):

For this resource it will always be `account_transfer`.
"""

if TYPE_CHECKING:
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
# value to this field, so for compatibility we avoid doing it at runtime.
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]

# Stub to indicate that arbitrary properties are accepted.
# To access properties that are not valid identifiers you can use `getattr`, e.g.
# `getattr(obj, '$type')`
def __getattr__(self, attr: str) -> object: ...
else:
__pydantic_extra__: Dict[str, object]
38 changes: 37 additions & 1 deletion src/increase/types/ach_transfer.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import datetime
from typing import List, Optional
from typing import TYPE_CHECKING, Dict, List, Optional
from typing_extensions import Literal

from pydantic import Field as FieldInfo
Expand Down Expand Up @@ -209,6 +209,18 @@ class InboundFundsHold(BaseModel):
For this resource it will always be `inbound_funds_hold`.
"""

if TYPE_CHECKING:
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
# value to this field, so for compatibility we avoid doing it at runtime.
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]

# Stub to indicate that arbitrary properties are accepted.
# To access properties that are not valid identifiers you can use `getattr`, e.g.
# `getattr(obj, '$type')`
def __getattr__(self, attr: str) -> object: ...
else:
__pydantic_extra__: Dict[str, object]


class NotificationsOfChange(BaseModel):
change_code: Literal[
Expand Down Expand Up @@ -557,6 +569,18 @@ class Return(BaseModel):
transfer_id: str
"""The identifier of the ACH Transfer associated with this return."""

if TYPE_CHECKING:
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
# value to this field, so for compatibility we avoid doing it at runtime.
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]

# Stub to indicate that arbitrary properties are accepted.
# To access properties that are not valid identifiers you can use `getattr`, e.g.
# `getattr(obj, '$type')`
def __getattr__(self, attr: str) -> object: ...
else:
__pydantic_extra__: Dict[str, object]


class Settlement(BaseModel):
settled_at: datetime.datetime
Expand Down Expand Up @@ -836,3 +860,15 @@ class ACHTransfer(BaseModel):

For this resource it will always be `ach_transfer`.
"""

if TYPE_CHECKING:
# Some versions of Pydantic <2.8.0 have a bug and don’t allow assigning a
# value to this field, so for compatibility we avoid doing it at runtime.
__pydantic_extra__: Dict[str, object] = FieldInfo(init=False) # pyright: ignore[reportIncompatibleVariableOverride]

# Stub to indicate that arbitrary properties are accepted.
# To access properties that are not valid identifiers you can use `getattr`, e.g.
# `getattr(obj, '$type')`
def __getattr__(self, attr: str) -> object: ...
else:
__pydantic_extra__: Dict[str, object]
Loading