Skip to content

Commit 843f8ef

Browse files
feat(client): adds support for 3DS to Auth Rules
- Auth Rules now support decisioning on 3DS authentications: https://docs.lithic.com/changelog/may-28-2025
1 parent 35e3181 commit 843f8ef

22 files changed

Lines changed: 1447 additions & 205 deletions

.stats.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 160
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-025f40c854a9485cf316c9058f9cc5fa37f069add30e409d49ab93f2e166f4fb.yml
3-
openapi_spec_hash: a9391f3a54b8db5d5df40169de8c645c
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic%2Flithic-89dfdedd460a673d9addf6d763389f59895e986036296d99baf89366ba622034.yml
3+
openapi_spec_hash: b6183fb775fc8bfa3d40ed7130b17976
44
config_hash: fa3481d1d8505e4157f6cebe93211bd0

src/lithic/resources/accounts.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,8 @@ def update(
117117
118118
verification_address: Address used during Address Verification Service (AVS) checks during
119119
transactions if enabled via Auth Rules. This field is deprecated as AVS checks
120-
are no longer supported by Authorization Rules. The field will be removed from
121-
the schema in a future release.
120+
are no longer supported by Auth Rules. The field will be removed from the schema
121+
in a future release.
122122
123123
extra_headers: Send extra headers
124124
@@ -344,8 +344,8 @@ async def update(
344344
345345
verification_address: Address used during Address Verification Service (AVS) checks during
346346
transactions if enabled via Auth Rules. This field is deprecated as AVS checks
347-
are no longer supported by Authorization Rules. The field will be removed from
348-
the schema in a future release.
347+
are no longer supported by Auth Rules. The field will be removed from the schema
348+
in a future release.
349349
350350
extra_headers: Send extra headers
351351

src/lithic/resources/auth_rules/v2/backtests.py

Lines changed: 24 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,15 @@ def create(
5555
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
5656
) -> BacktestCreateResponse:
5757
"""
58-
Initiates a request to asynchronously generate a backtest for an authorization
59-
rule. During backtesting, both the active version (if one exists) and the draft
60-
version of the Authorization Rule are evaluated by replaying historical
61-
transaction data against the rule's conditions. This process allows customers to
62-
simulate and understand the effects of proposed rule changes before deployment.
63-
The generated backtest report provides detailed results showing whether the
64-
draft version of the Auth Rule would have approved or declined historical
65-
transactions which were processed during the backtest period. These reports help
66-
evaluate how changes to rule configurations might affect overall transaction
67-
approval rates.
58+
Initiates a request to asynchronously generate a backtest for an Auth rule.
59+
During backtesting, both the active version (if one exists) and the draft
60+
version of the Auth Rule are evaluated by replaying historical transaction data
61+
against the rule's conditions. This process allows customers to simulate and
62+
understand the effects of proposed rule changes before deployment. The generated
63+
backtest report provides detailed results showing whether the draft version of
64+
the Auth Rule would have approved or declined historical transactions which were
65+
processed during the backtest period. These reports help evaluate how changes to
66+
rule configurations might affect overall transaction approval rates.
6867
6968
The generated backtest report will be delivered asynchronously through a webhook
7069
with `event_type` = `auth_rules.backtest_report.created`. See the docs on
@@ -124,7 +123,7 @@ def retrieve(
124123
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
125124
) -> BacktestResults:
126125
"""
127-
Returns the backtest results of an authorization rule (if available).
126+
Returns the backtest results of an Auth rule (if available).
128127
129128
Backtesting is an asynchronous process that requires time to complete. If a
130129
customer retrieves the backtest results using this endpoint before the report is
@@ -140,8 +139,8 @@ def retrieve(
140139
also always represent the configuration of the rule at the time requests are
141140
made to this endpoint. For example, the results for `current_version` in the
142141
served backtest report will be consistent with which version of the rule is
143-
currently activated in the Auth Stream, regardless of which version of the rule
144-
was active in the Auth Stream at the time a backtest is requested.
142+
currently activated in the respective event stream, regardless of which version
143+
of the rule was active in the event stream at the time a backtest is requested.
145144
146145
Args:
147146
extra_headers: Send extra headers
@@ -201,16 +200,15 @@ async def create(
201200
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
202201
) -> BacktestCreateResponse:
203202
"""
204-
Initiates a request to asynchronously generate a backtest for an authorization
205-
rule. During backtesting, both the active version (if one exists) and the draft
206-
version of the Authorization Rule are evaluated by replaying historical
207-
transaction data against the rule's conditions. This process allows customers to
208-
simulate and understand the effects of proposed rule changes before deployment.
209-
The generated backtest report provides detailed results showing whether the
210-
draft version of the Auth Rule would have approved or declined historical
211-
transactions which were processed during the backtest period. These reports help
212-
evaluate how changes to rule configurations might affect overall transaction
213-
approval rates.
203+
Initiates a request to asynchronously generate a backtest for an Auth rule.
204+
During backtesting, both the active version (if one exists) and the draft
205+
version of the Auth Rule are evaluated by replaying historical transaction data
206+
against the rule's conditions. This process allows customers to simulate and
207+
understand the effects of proposed rule changes before deployment. The generated
208+
backtest report provides detailed results showing whether the draft version of
209+
the Auth Rule would have approved or declined historical transactions which were
210+
processed during the backtest period. These reports help evaluate how changes to
211+
rule configurations might affect overall transaction approval rates.
214212
215213
The generated backtest report will be delivered asynchronously through a webhook
216214
with `event_type` = `auth_rules.backtest_report.created`. See the docs on
@@ -270,7 +268,7 @@ async def retrieve(
270268
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
271269
) -> BacktestResults:
272270
"""
273-
Returns the backtest results of an authorization rule (if available).
271+
Returns the backtest results of an Auth rule (if available).
274272
275273
Backtesting is an asynchronous process that requires time to complete. If a
276274
customer retrieves the backtest results using this endpoint before the report is
@@ -286,8 +284,8 @@ async def retrieve(
286284
also always represent the configuration of the rule at the time requests are
287285
made to this endpoint. For example, the results for `current_version` in the
288286
served backtest report will be consistent with which version of the rule is
289-
currently activated in the Auth Stream, regardless of which version of the rule
290-
was active in the Auth Stream at the time a backtest is requested.
287+
currently activated in the respective event stream, regardless of which version
288+
of the rule was active in the event stream at the time a backtest is requested.
291289
292290
Args:
293291
extra_headers: Send extra headers

0 commit comments

Comments
 (0)