Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
cde6d09
feat(api): Add limit_cash_amount and limit_cash_count to VelocityLimi…
stainless-app[bot] Aug 3, 2026
4194b81
feat(api): add blockchain_addresses field to financial account responses
stainless-app[bot] Aug 4, 2026
a636964
docs(api): clarify CVV field descriptions for AMEX cards
stainless-app[bot] Aug 5, 2026
ccda791
feat(api): add stablecoin lifecycle enum values to line items/payment…
stainless-app[bot] Aug 7, 2026
3a236e3
feat(api): add PROGRAM scope to auth rule actions, entity types to cases
stainless-app[bot] Aug 10, 2026
a55164c
feat(api): add STABLECOIN payment type to payments
stainless-app[bot] Aug 10, 2026
4ab8492
codegen metadata
stainless-app[bot] Aug 11, 2026
4296eb4
feat(api): add STABLECOIN payment method and attributes to payments
stainless-app[bot] Aug 12, 2026
67a3827
feat(api): add blockchain_recipients resource with create method
stainless-app[bot] Aug 12, 2026
f80554d
feat(api): add STABLECOIN payment method, nullable method_attributes …
stainless-app[bot] Aug 13, 2026
0c3e1dc
chore(internal): codegen related update
stainless-app[bot] Aug 13, 2026
fe4d256
feat(api): add claim_token param/field and WRITE_OFF_REVERSED enum to…
stainless-app[bot] Aug 14, 2026
142cc32
chore(internal): allow the mock server port to be set with STAINLESS_…
stainless-app[bot] Aug 19, 2026
36bb385
docs(api): clarify parameter requirements for cards.provision
stainless-app[bot] Aug 20, 2026
9cf3394
feat(api): add stablecoin inbound/outbound payment types
stainless-app[bot] Aug 24, 2026
062881c
feat: Remove stablecoin transfer type
stainless-app[bot] Aug 24, 2026
e4544e9
fix(types): rename event data types and remove type discriminators in…
stainless-app[bot] Aug 25, 2026
99bca3e
feat: Make blockchain recipient account_token nullable
stainless-app[bot] Aug 27, 2026
e1ec8ca
feat(api): add reassignAccount method to cards
stainless-app[bot] Aug 31, 2026
1260083
release: 0.146.0
stainless-app[bot] Aug 31, 2026
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.145.0"
".": "0.146.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 214
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-59c09c7355b21b663e001d2ee1086ebd0a70d9b5433823282bca296eedff9eb0.yml
openapi_spec_hash: d9c3b932c810809abc6e973d662ad376
config_hash: 337a99d8cc30006358b7bc2531401669
configured_endpoints: 216
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-38a020a15ab14f79c7fea3290822406cf80a9d43d46ab3295632a9723f5e42cd.yml
openapi_spec_hash: 5a7357a17c5119bc91d8f5e42297fac3
config_hash: 27fa50e251754c8982e3dc615ef6da41
37 changes: 37 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,42 @@
# Changelog

## 0.146.0 (2026-08-31)

Full Changelog: [v0.145.0...v0.146.0](https://github.com/lithic-com/lithic-node/compare/v0.145.0...v0.146.0)

### Features

* **api:** add blockchain_addresses field to financial account responses ([4194b81](https://github.com/lithic-com/lithic-node/commit/4194b81f3cdcd7f58faa97b42884c79b86920390))
* **api:** add blockchain_recipients resource with create method ([67a3827](https://github.com/lithic-com/lithic-node/commit/67a3827c8cfe4f618593da7e002956c4b1e73fc9))
* **api:** add claim_token param/field and WRITE_OFF_REVERSED enum to disputesV2 ([fe4d256](https://github.com/lithic-com/lithic-node/commit/fe4d256c07f72241ae60acd99426e79fc78e3544))
* **api:** Add limit_cash_amount and limit_cash_count to VelocityLimit template ([cde6d09](https://github.com/lithic-com/lithic-node/commit/cde6d09649b94b094eb269247eff71246ee4d75d))
* **api:** add PROGRAM scope to auth rule actions, entity types to cases ([3a236e3](https://github.com/lithic-com/lithic-node/commit/3a236e32c9472ad5c63ed5575b34ea3019096549))
* **api:** add reassignAccount method to cards ([e1ec8ca](https://github.com/lithic-com/lithic-node/commit/e1ec8ca6414a40fbdaf7a2bebc52cd732340a352))
* **api:** add stablecoin inbound/outbound payment types ([9cf3394](https://github.com/lithic-com/lithic-node/commit/9cf3394169e2eca847c91aad010fc89938069e3c))
* **api:** add stablecoin lifecycle enum values to line items/payments/financial events ([ccda791](https://github.com/lithic-com/lithic-node/commit/ccda7914b31a68bf500bfe5552be23ec47077d38))
* **api:** add STABLECOIN payment method and attributes to payments ([4296eb4](https://github.com/lithic-com/lithic-node/commit/4296eb4ce0357acb8dd6cfa53956699abf1b7f9f))
* **api:** add STABLECOIN payment method, nullable method_attributes to payments ([f80554d](https://github.com/lithic-com/lithic-node/commit/f80554dd99299edb60d123eadd478aecf934b78c))
* **api:** add STABLECOIN payment type to payments ([a55164c](https://github.com/lithic-com/lithic-node/commit/a55164c2281183f8b3c99ae2c1114ab7bc7d104c))
* Make blockchain recipient account_token nullable ([99bca3e](https://github.com/lithic-com/lithic-node/commit/99bca3e865f4214f26e299db15579fcf2d66a738))
* Remove stablecoin transfer type ([062881c](https://github.com/lithic-com/lithic-node/commit/062881c243e2ca3208033386f18ad363c8730353))


### Bug Fixes

* **types:** rename event data types and remove type discriminators in disputes-v2 ([e4544e9](https://github.com/lithic-com/lithic-node/commit/e4544e908a83afac4e5ede3dedd81f13f6ba366d))


### Chores

* **internal:** allow the mock server port to be set with STAINLESS_MOCK_PORT ([142cc32](https://github.com/lithic-com/lithic-node/commit/142cc3247111fefda98745a12de17b3fe1b62efa))
* **internal:** codegen related update ([0c3e1dc](https://github.com/lithic-com/lithic-node/commit/0c3e1dccbee1e2e84b0284751f5a6b2c90d2f89d))


### Documentation

* **api:** clarify CVV field descriptions for AMEX cards ([a636964](https://github.com/lithic-com/lithic-node/commit/a63696438e8968a9966b045ac49e2bff37ea45d7))
* **api:** clarify parameter requirements for cards.provision ([36bb385](https://github.com/lithic-com/lithic-node/commit/36bb385df19c6ea5e0a371017f94d9033145d257))

## 0.145.0 (2026-07-30)

Full Changelog: [v0.144.0...v0.145.0](https://github.com/lithic-com/lithic-node/compare/v0.144.0...v0.145.0)
Expand Down
11 changes: 11 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,6 +277,7 @@ Methods:
- <code title="post /v1/cards/{card_token}/convert_physical">client.cards.<a href="./src/resources/cards/cards.ts">convertPhysical</a>(cardToken, { ...params }) -> Card</code>
- <code title="get /v1/embed/card">client.cards.<a href="./src/resources/cards/cards.ts">embed</a>({ ...params }) -> string</code>
- <code title="post /v1/cards/{card_token}/provision">client.cards.<a href="./src/resources/cards/cards.ts">provision</a>(cardToken, { ...params }) -> CardProvisionResponse</code>
- <code title="post /v1/cards/{card_token}/reassign_account">client.cards.<a href="./src/resources/cards/cards.ts">reassignAccount</a>(cardToken, { ...params }) -> Card</code>
- <code title="post /v1/cards/{card_token}/reissue">client.cards.<a href="./src/resources/cards/cards.ts">reissue</a>(cardToken, { ...params }) -> Card</code>
- <code title="post /v1/cards/{card_token}/renew">client.cards.<a href="./src/resources/cards/cards.ts">renew</a>(cardToken, { ...params }) -> Card</code>
- <code title="get /v1/cards/{card_token}/signals">client.cards.<a href="./src/resources/cards/cards.ts">retrieveSignals</a>(cardToken) -> SignalsResponse</code>
Expand Down Expand Up @@ -628,6 +629,16 @@ Methods:

- <code title="post /v1/external_bank_accounts/{external_bank_account_token}/micro_deposits">client.externalBankAccounts.microDeposits.<a href="./src/resources/external-bank-accounts/micro-deposits.ts">create</a>(externalBankAccountToken, { ...params }) -> MicroDepositCreateResponse</code>

# BlockchainRecipients

Types:

- <code><a href="./src/resources/blockchain-recipients.ts">BlockchainRecipient</a></code>

Methods:

- <code title="post /v1/blockchain_recipients">client.blockchainRecipients.<a href="./src/resources/blockchain-recipients.ts">create</a>({ ...params }) -> BlockchainRecipient</code>

# Payments

Types:
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lithic",
"version": "0.145.0",
"version": "0.146.0",
"description": "The official TypeScript library for the Lithic API",
"author": "Lithic <sdk-feedback@lithic.com>",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion packages/mcp-server/manifest.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"dxt_version": "0.2",
"name": "lithic-mcp",
"version": "0.145.0",
"version": "0.146.0",
"description": "The official MCP Server for the Lithic API",
"author": {
"name": "Lithic",
Expand Down
2 changes: 1 addition & 1 deletion packages/mcp-server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "lithic-mcp",
"version": "0.145.0",
"version": "0.146.0",
"description": "The official MCP Server for the Lithic API",
"author": "Lithic <sdk-feedback@lithic.com>",
"types": "dist/index.d.ts",
Expand Down
2 changes: 2 additions & 0 deletions packages/mcp-server/src/code-tool-worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,7 @@ const fuse = new Fuse(
'client.cards.embed',
'client.cards.list',
'client.cards.provision',
'client.cards.reassignAccount',
'client.cards.reissue',
'client.cards.renew',
'client.cards.retrieve',
Expand Down Expand Up @@ -267,6 +268,7 @@ const fuse = new Fuse(
'client.externalBankAccounts.unpause',
'client.externalBankAccounts.update',
'client.externalBankAccounts.microDeposits.create',
'client.blockchainRecipients.create',
'client.payments.create',
'client.payments.list',
'client.payments.retrieve',
Expand Down
207 changes: 159 additions & 48 deletions packages/mcp-server/src/local-docs-search.ts

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions packages/mcp-server/src/methods.ts
Original file line number Diff line number Diff line change
Expand Up @@ -418,6 +418,12 @@ export const sdkMethods: SdkMethod[] = [
httpMethod: 'post',
httpPath: '/v1/cards/{card_token}/provision',
},
{
clientCallName: 'client.cards.reassignAccount',
fullyQualifiedName: 'cards.reassignAccount',
httpMethod: 'post',
httpPath: '/v1/cards/{card_token}/reassign_account',
},
{
clientCallName: 'client.cards.reissue',
fullyQualifiedName: 'cards.reissue',
Expand Down Expand Up @@ -965,6 +971,12 @@ export const sdkMethods: SdkMethod[] = [
httpMethod: 'post',
httpPath: '/v1/external_bank_accounts/{external_bank_account_token}/micro_deposits',
},
{
clientCallName: 'client.blockchainRecipients.create',
fullyQualifiedName: 'blockchainRecipients.create',
httpMethod: 'post',
httpPath: '/v1/blockchain_recipients',
},
{
clientCallName: 'client.payments.create',
fullyQualifiedName: 'payments.create',
Expand Down
2 changes: 1 addition & 1 deletion packages/mcp-server/src/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ export const newMcpServer = async ({
new McpServer(
{
name: 'lithic_api',
version: '0.145.0',
version: '0.146.0',
},
{
instructions: await getInstructions({ stainlessApiKey, customInstructionsPath }),
Expand Down
11 changes: 9 additions & 2 deletions scripts/mock
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ set -e

cd "$(dirname "$0")/.."

if [ "$1" == "--install" ]; then
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism --version
exit 0
fi

if [[ -n "$1" && "$1" != '--'* ]]; then
URL="$1"
shift
Expand All @@ -20,11 +25,13 @@ fi
echo "==> Starting mock server with URL ${URL}"

# Run prism mock on the given spec
MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}"

if [ "$1" == "--daemon" ]; then
# Pre-install the package so the download doesn't eat into the startup timeout
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism --version

npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL" &> .prism.log &
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock -p "$MOCK_PORT" "$URL" &> .prism.log &

# Wait for server to come online (max 30s)
echo -n "Waiting for server"
Expand All @@ -48,5 +55,5 @@ if [ "$1" == "--daemon" ]; then

echo
else
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock "$URL"
npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock -p "$MOCK_PORT" "$URL"
fi
12 changes: 9 additions & 3 deletions scripts/test
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,10 @@ GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color

MOCK_PORT="${STAINLESS_MOCK_PORT:-4010}"

function prism_is_running() {
curl --silent "http://localhost:4010" >/dev/null 2>&1
curl --silent "http://localhost:$MOCK_PORT" >/dev/null 2>&1
}

kill_server_on_port() {
Expand All @@ -27,7 +29,7 @@ function is_overriding_api_base_url() {

if ! is_overriding_api_base_url && ! prism_is_running ; then
# When we exit this script, make sure to kill the background mock server process
trap 'kill_server_on_port 4010' EXIT
trap 'kill_server_on_port "$MOCK_PORT"' EXIT

# Start the dev server
./scripts/mock --daemon
Expand All @@ -43,7 +45,7 @@ elif ! prism_is_running ; then
echo -e "To run the server, pass in the path or url of your OpenAPI"
echo -e "spec to the prism command:"
echo
echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock path/to/your.openapi.yml${NC}"
echo -e " \$ ${YELLOW}npm exec --package=@stainless-api/prism-cli@5.15.0 -- prism mock -p $MOCK_PORT path/to/your.openapi.yml${NC}"
echo

exit 1
Expand All @@ -52,5 +54,9 @@ else
echo
fi

if [ -n "${STAINLESS_MOCK_PORT:-}" ] && ! is_overriding_api_base_url ; then
export TEST_API_BASE_URL="http://127.0.0.1:$MOCK_PORT"
fi

echo "==> Running tests"
./node_modules/.bin/jest "$@"
15 changes: 15 additions & 0 deletions src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,11 @@ import {
} from './resources/accounts';
import { AuthStreamEnrollment, AuthStreamSecret } from './resources/auth-stream-enrollment';
import { Balance, BalanceListParams, Balances, BalancesSinglePage } from './resources/balances';
import {
BlockchainRecipient,
BlockchainRecipientCreateParams,
BlockchainRecipients,
} from './resources/blockchain-recipients';
import {
BookTransferCreateParams,
BookTransferListParams,
Expand Down Expand Up @@ -290,6 +295,7 @@ import {
CardListParams,
CardProvisionParams,
CardProvisionResponse,
CardReassignAccountParams,
CardReissueParams,
CardRenewParams,
CardSearchByPanParams,
Expand Down Expand Up @@ -1184,6 +1190,7 @@ export class Lithic {
transactions: API.Transactions = new API.Transactions(this);
responderEndpoints: API.ResponderEndpoints = new API.ResponderEndpoints(this);
externalBankAccounts: API.ExternalBankAccounts = new API.ExternalBankAccounts(this);
blockchainRecipients: API.BlockchainRecipients = new API.BlockchainRecipients(this);
payments: API.Payments = new API.Payments(this);
threeDS: API.ThreeDS = new API.ThreeDS(this);
reports: API.Reports = new API.Reports(this);
Expand Down Expand Up @@ -1222,6 +1229,7 @@ Lithic.FinancialAccounts = FinancialAccounts;
Lithic.Transactions = Transactions;
Lithic.ResponderEndpoints = ResponderEndpoints;
Lithic.ExternalBankAccounts = ExternalBankAccounts;
Lithic.BlockchainRecipients = BlockchainRecipients;
Lithic.Payments = Payments;
Lithic.ThreeDS = ThreeDS;
Lithic.Reports = Reports;
Expand Down Expand Up @@ -1328,6 +1336,7 @@ export declare namespace Lithic {
type CardConvertPhysicalParams as CardConvertPhysicalParams,
type CardEmbedParams as CardEmbedParams,
type CardProvisionParams as CardProvisionParams,
type CardReassignAccountParams as CardReassignAccountParams,
type CardReissueParams as CardReissueParams,
type CardRenewParams as CardRenewParams,
type CardSearchByPanParams as CardSearchByPanParams,
Expand Down Expand Up @@ -1465,6 +1474,12 @@ export declare namespace Lithic {
type ExternalBankAccountSetVerificationMethodParams as ExternalBankAccountSetVerificationMethodParams,
};

export {
BlockchainRecipients as BlockchainRecipients,
type BlockchainRecipient as BlockchainRecipient,
type BlockchainRecipientCreateParams as BlockchainRecipientCreateParams,
};

export {
Payments as Payments,
type Payment as Payment,
Expand Down
25 changes: 21 additions & 4 deletions src/resources/auth-rules/v2/v2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -183,7 +183,7 @@ export namespace ACHPaymentUpdateAction {
/**
* The scope of the case to create
*/
scope: 'FINANCIAL_ACCOUNT';
scope: 'FINANCIAL_ACCOUNT' | 'PROGRAM';

/**
* Create a case for the payment
Expand Down Expand Up @@ -538,7 +538,7 @@ export namespace CardTransactionUpdateAction {
/**
* The scope of the case to create
*/
scope: 'CARD' | 'ACCOUNT';
scope: 'CARD' | 'ACCOUNT' | 'PROGRAM';

/**
* Create a case for the transaction
Expand Down Expand Up @@ -2468,6 +2468,23 @@ export interface VelocityLimitParams {
*/
limit_amount?: number | null;

/**
* The maximum amount of cash spend velocity allowed in the period in minor units
* (the smallest unit of a currency, e.g. cents for USD). Cash spend covers ATM
* withdrawals, cash disbursements, and purchases with cashback. Transactions
* exceeding this limit will be declined.
*/
limit_cash_amount?: number | null;

/**
* The number of cash spend velocity impacting transactions may not exceed this
* limit in the period. Transactions exceeding this limit will be declined. A cash
* velocity impacting transaction is an ATM withdrawal, cash disbursement, or
* purchase with cashback that has been authorized, and optionally settled, or a
* force post (a transaction that settled without prior authorization).
*/
limit_cash_count?: number | null;

/**
* The number of spend velocity impacting transactions may not exceed this limit in
* the period. Transactions exceeding this limit will be declined. A spend velocity
Expand Down Expand Up @@ -3099,7 +3116,7 @@ export namespace V2ListResultsResponse {
/**
* The scope of the case to create
*/
scope: 'CARD' | 'ACCOUNT';
scope: 'CARD' | 'ACCOUNT' | 'PROGRAM';

/**
* Create a case for the transaction
Expand Down Expand Up @@ -3192,7 +3209,7 @@ export namespace V2ListResultsResponse {
/**
* The scope of the case to create
*/
scope: 'FINANCIAL_ACCOUNT';
scope: 'FINANCIAL_ACCOUNT' | 'PROGRAM';

/**
* Create a case for the payment
Expand Down
Loading
Loading