Skip to content

Commit b87046c

Browse files
feat(api): add external_id to payment_event
feat(api): add get /v1/transfer_limits endpoint feat(api): add post /v1/book_transfers/{book_transfer_token}/retry endpoint
1 parent 8e0a11c commit b87046c

File tree

13 files changed

+688
-5
lines changed

13 files changed

+688
-5
lines changed

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 173
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-4fd8048b287f409ad2b91f7d0f0b7fc13cc9bc4ccc7859666f21203bab3d2f01.yml
3-
openapi_spec_hash: a554c54d96a7604a770b6a8b1df46395
4-
config_hash: df0af4ff639b8a6923a6244d2247910c
1+
configured_endpoints: 175
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-1916ba0e95ce59f0feeebd6f3d2130990c812be7eabcda6e23c5fa096db912c7.yml
3+
openapi_spec_hash: b465e7cb5c2dee36b5bdc6d540b2a530
4+
config_hash: a8a802e2c916a5d36a025bf64ab55ee7

api.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -670,6 +670,7 @@ Methods:
670670
- <code title="post /v1/book_transfers">client.book_transfers.<a href="./src/lithic/resources/book_transfers.py">create</a>(\*\*<a href="src/lithic/types/book_transfer_create_params.py">params</a>) -> <a href="./src/lithic/types/book_transfer_response.py">BookTransferResponse</a></code>
671671
- <code title="get /v1/book_transfers/{book_transfer_token}">client.book_transfers.<a href="./src/lithic/resources/book_transfers.py">retrieve</a>(book_transfer_token) -> <a href="./src/lithic/types/book_transfer_response.py">BookTransferResponse</a></code>
672672
- <code title="get /v1/book_transfers">client.book_transfers.<a href="./src/lithic/resources/book_transfers.py">list</a>(\*\*<a href="src/lithic/types/book_transfer_list_params.py">params</a>) -> <a href="./src/lithic/types/book_transfer_response.py">SyncCursorPage[BookTransferResponse]</a></code>
673+
- <code title="post /v1/book_transfers/{book_transfer_token}/retry">client.book_transfers.<a href="./src/lithic/resources/book_transfers.py">retry</a>(book_transfer_token, \*\*<a href="src/lithic/types/book_transfer_retry_params.py">params</a>) -> <a href="./src/lithic/types/book_transfer_response.py">BookTransferResponse</a></code>
673674
- <code title="post /v1/book_transfers/{book_transfer_token}/reverse">client.book_transfers.<a href="./src/lithic/resources/book_transfers.py">reverse</a>(book_transfer_token, \*\*<a href="src/lithic/types/book_transfer_reverse_params.py">params</a>) -> <a href="./src/lithic/types/book_transfer_response.py">BookTransferResponse</a></code>
674675

675676
# CreditProducts
@@ -799,6 +800,18 @@ Methods:
799800
- <code title="get /v1/account_activity">client.account_activity.<a href="./src/lithic/resources/account_activity.py">list</a>(\*\*<a href="src/lithic/types/account_activity_list_params.py">params</a>) -> <a href="./src/lithic/types/account_activity_list_response.py">SyncCursorPage[AccountActivityListResponse]</a></code>
800801
- <code title="get /v1/account_activity/{transaction_token}">client.account_activity.<a href="./src/lithic/resources/account_activity.py">retrieve_transaction</a>(transaction_token) -> <a href="./src/lithic/types/account_activity_retrieve_transaction_response.py">AccountActivityRetrieveTransactionResponse</a></code>
801802

803+
# TransferLimits
804+
805+
Types:
806+
807+
```python
808+
from lithic.types import TransferLimitsResponse
809+
```
810+
811+
Methods:
812+
813+
- <code title="get /v1/transfer_limits">client.transfer_limits.<a href="./src/lithic/resources/transfer_limits.py">list</a>(\*\*<a href="src/lithic/types/transfer_limit_list_params.py">params</a>) -> SyncSinglePage[Data]</code>
814+
802815
# Webhooks
803816

804817
Types:

src/lithic/_client.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
funding_events,
5757
account_holders,
5858
credit_products,
59+
transfer_limits,
5960
account_activity,
6061
card_bulk_orders,
6162
digital_card_art,
@@ -83,6 +84,7 @@
8384
from .resources.funding_events import FundingEvents, AsyncFundingEvents
8485
from .resources.account_holders import AccountHolders, AsyncAccountHolders
8586
from .resources.reports.reports import Reports, AsyncReports
87+
from .resources.transfer_limits import TransferLimits, AsyncTransferLimits
8688
from .resources.account_activity import AccountActivity, AsyncAccountActivity
8789
from .resources.card_bulk_orders import CardBulkOrders, AsyncCardBulkOrders
8890
from .resources.digital_card_art import DigitalCardArtResource, AsyncDigitalCardArtResource
@@ -378,6 +380,12 @@ def account_activity(self) -> AccountActivity:
378380

379381
return AccountActivity(self)
380382

383+
@cached_property
384+
def transfer_limits(self) -> TransferLimits:
385+
from .resources.transfer_limits import TransferLimits
386+
387+
return TransferLimits(self)
388+
381389
@cached_property
382390
def webhooks(self) -> Webhooks:
383391
from .resources.webhooks import Webhooks
@@ -782,6 +790,12 @@ def account_activity(self) -> AsyncAccountActivity:
782790

783791
return AsyncAccountActivity(self)
784792

793+
@cached_property
794+
def transfer_limits(self) -> AsyncTransferLimits:
795+
from .resources.transfer_limits import AsyncTransferLimits
796+
797+
return AsyncTransferLimits(self)
798+
785799
@cached_property
786800
def webhooks(self) -> AsyncWebhooks:
787801
from .resources.webhooks import AsyncWebhooks
@@ -1109,6 +1123,12 @@ def account_activity(self) -> account_activity.AccountActivityWithRawResponse:
11091123

11101124
return AccountActivityWithRawResponse(self._client.account_activity)
11111125

1126+
@cached_property
1127+
def transfer_limits(self) -> transfer_limits.TransferLimitsWithRawResponse:
1128+
from .resources.transfer_limits import TransferLimitsWithRawResponse
1129+
1130+
return TransferLimitsWithRawResponse(self._client.transfer_limits)
1131+
11121132

11131133
class AsyncLithicWithRawResponse:
11141134
_client: AsyncLithic
@@ -1294,6 +1314,12 @@ def account_activity(self) -> account_activity.AsyncAccountActivityWithRawRespon
12941314

12951315
return AsyncAccountActivityWithRawResponse(self._client.account_activity)
12961316

1317+
@cached_property
1318+
def transfer_limits(self) -> transfer_limits.AsyncTransferLimitsWithRawResponse:
1319+
from .resources.transfer_limits import AsyncTransferLimitsWithRawResponse
1320+
1321+
return AsyncTransferLimitsWithRawResponse(self._client.transfer_limits)
1322+
12971323

12981324
class LithicWithStreamedResponse:
12991325
_client: Lithic
@@ -1479,6 +1505,12 @@ def account_activity(self) -> account_activity.AccountActivityWithStreamingRespo
14791505

14801506
return AccountActivityWithStreamingResponse(self._client.account_activity)
14811507

1508+
@cached_property
1509+
def transfer_limits(self) -> transfer_limits.TransferLimitsWithStreamingResponse:
1510+
from .resources.transfer_limits import TransferLimitsWithStreamingResponse
1511+
1512+
return TransferLimitsWithStreamingResponse(self._client.transfer_limits)
1513+
14821514

14831515
class AsyncLithicWithStreamedResponse:
14841516
_client: AsyncLithic
@@ -1664,6 +1696,12 @@ def account_activity(self) -> account_activity.AsyncAccountActivityWithStreaming
16641696

16651697
return AsyncAccountActivityWithStreamingResponse(self._client.account_activity)
16661698

1699+
@cached_property
1700+
def transfer_limits(self) -> transfer_limits.AsyncTransferLimitsWithStreamingResponse:
1701+
from .resources.transfer_limits import AsyncTransferLimitsWithStreamingResponse
1702+
1703+
return AsyncTransferLimitsWithStreamingResponse(self._client.transfer_limits)
1704+
16671705

16681706
Client = Lithic
16691707

src/lithic/resources/__init__.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,14 @@
145145
CreditProductsWithStreamingResponse,
146146
AsyncCreditProductsWithStreamingResponse,
147147
)
148+
from .transfer_limits import (
149+
TransferLimits,
150+
AsyncTransferLimits,
151+
TransferLimitsWithRawResponse,
152+
AsyncTransferLimitsWithRawResponse,
153+
TransferLimitsWithStreamingResponse,
154+
AsyncTransferLimitsWithStreamingResponse,
155+
)
148156
from .account_activity import (
149157
AccountActivity,
150158
AsyncAccountActivity,
@@ -409,6 +417,12 @@
409417
"AsyncAccountActivityWithRawResponse",
410418
"AccountActivityWithStreamingResponse",
411419
"AsyncAccountActivityWithStreamingResponse",
420+
"TransferLimits",
421+
"AsyncTransferLimits",
422+
"TransferLimitsWithRawResponse",
423+
"AsyncTransferLimitsWithRawResponse",
424+
"TransferLimitsWithStreamingResponse",
425+
"AsyncTransferLimitsWithStreamingResponse",
412426
"Webhooks",
413427
"AsyncWebhooks",
414428
]

src/lithic/resources/book_transfers.py

Lines changed: 98 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@
99
import httpx
1010

1111
from .. import _legacy_response
12-
from ..types import book_transfer_list_params, book_transfer_create_params, book_transfer_reverse_params
12+
from ..types import (
13+
book_transfer_list_params,
14+
book_transfer_retry_params,
15+
book_transfer_create_params,
16+
book_transfer_reverse_params,
17+
)
1318
from .._types import Body, Omit, Query, Headers, NotGiven, omit, not_given
1419
from .._utils import maybe_transform, async_maybe_transform
1520
from .._compat import cached_property
@@ -297,6 +302,45 @@ def list(
297302
model=BookTransferResponse,
298303
)
299304

305+
def retry(
306+
self,
307+
book_transfer_token: str,
308+
*,
309+
retry_token: str,
310+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
311+
# The extra values given here take precedence over values defined on the client or passed to this method.
312+
extra_headers: Headers | None = None,
313+
extra_query: Query | None = None,
314+
extra_body: Body | None = None,
315+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
316+
) -> BookTransferResponse:
317+
"""
318+
Retry a book transfer that has been declined
319+
320+
Args:
321+
retry_token: Globally unique identifier for the retry.
322+
323+
extra_headers: Send extra headers
324+
325+
extra_query: Add additional query parameters to the request
326+
327+
extra_body: Add additional JSON properties to the request
328+
329+
timeout: Override the client-level default timeout for this request, in seconds
330+
"""
331+
if not book_transfer_token:
332+
raise ValueError(
333+
f"Expected a non-empty value for `book_transfer_token` but received {book_transfer_token!r}"
334+
)
335+
return self._post(
336+
f"/v1/book_transfers/{book_transfer_token}/retry",
337+
body=maybe_transform({"retry_token": retry_token}, book_transfer_retry_params.BookTransferRetryParams),
338+
options=make_request_options(
339+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
340+
),
341+
cast_to=BookTransferResponse,
342+
)
343+
300344
def reverse(
301345
self,
302346
book_transfer_token: str,
@@ -612,6 +656,47 @@ def list(
612656
model=BookTransferResponse,
613657
)
614658

659+
async def retry(
660+
self,
661+
book_transfer_token: str,
662+
*,
663+
retry_token: str,
664+
# Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs.
665+
# The extra values given here take precedence over values defined on the client or passed to this method.
666+
extra_headers: Headers | None = None,
667+
extra_query: Query | None = None,
668+
extra_body: Body | None = None,
669+
timeout: float | httpx.Timeout | None | NotGiven = not_given,
670+
) -> BookTransferResponse:
671+
"""
672+
Retry a book transfer that has been declined
673+
674+
Args:
675+
retry_token: Globally unique identifier for the retry.
676+
677+
extra_headers: Send extra headers
678+
679+
extra_query: Add additional query parameters to the request
680+
681+
extra_body: Add additional JSON properties to the request
682+
683+
timeout: Override the client-level default timeout for this request, in seconds
684+
"""
685+
if not book_transfer_token:
686+
raise ValueError(
687+
f"Expected a non-empty value for `book_transfer_token` but received {book_transfer_token!r}"
688+
)
689+
return await self._post(
690+
f"/v1/book_transfers/{book_transfer_token}/retry",
691+
body=await async_maybe_transform(
692+
{"retry_token": retry_token}, book_transfer_retry_params.BookTransferRetryParams
693+
),
694+
options=make_request_options(
695+
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
696+
),
697+
cast_to=BookTransferResponse,
698+
)
699+
615700
async def reverse(
616701
self,
617702
book_transfer_token: str,
@@ -665,6 +750,9 @@ def __init__(self, book_transfers: BookTransfers) -> None:
665750
self.list = _legacy_response.to_raw_response_wrapper(
666751
book_transfers.list,
667752
)
753+
self.retry = _legacy_response.to_raw_response_wrapper(
754+
book_transfers.retry,
755+
)
668756
self.reverse = _legacy_response.to_raw_response_wrapper(
669757
book_transfers.reverse,
670758
)
@@ -683,6 +771,9 @@ def __init__(self, book_transfers: AsyncBookTransfers) -> None:
683771
self.list = _legacy_response.async_to_raw_response_wrapper(
684772
book_transfers.list,
685773
)
774+
self.retry = _legacy_response.async_to_raw_response_wrapper(
775+
book_transfers.retry,
776+
)
686777
self.reverse = _legacy_response.async_to_raw_response_wrapper(
687778
book_transfers.reverse,
688779
)
@@ -701,6 +792,9 @@ def __init__(self, book_transfers: BookTransfers) -> None:
701792
self.list = to_streamed_response_wrapper(
702793
book_transfers.list,
703794
)
795+
self.retry = to_streamed_response_wrapper(
796+
book_transfers.retry,
797+
)
704798
self.reverse = to_streamed_response_wrapper(
705799
book_transfers.reverse,
706800
)
@@ -719,6 +813,9 @@ def __init__(self, book_transfers: AsyncBookTransfers) -> None:
719813
self.list = async_to_streamed_response_wrapper(
720814
book_transfers.list,
721815
)
816+
self.retry = async_to_streamed_response_wrapper(
817+
book_transfers.retry,
818+
)
722819
self.reverse = async_to_streamed_response_wrapper(
723820
book_transfers.reverse,
724821
)

0 commit comments

Comments
 (0)