Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
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: 215
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/lithic/lithic-540c088e3f3c062a6169bbd7631ad456c7bc65afc7044ae8ffb879d0694140db.yml
openapi_spec_hash: 6474e2ca67af0c9b57338d2468b96d99
config_hash: f6d04d790aaddf639fc04b7f0092e7ec
28 changes: 28 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# Changelog

## 0.146.0 (2026-08-20)

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 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))


### 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
10 changes: 10 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -628,6 +628,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
1 change: 1 addition & 0 deletions packages/mcp-server/src/code-tool-worker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -267,6 +267,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
156 changes: 108 additions & 48 deletions packages/mcp-server/src/local-docs-search.ts

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions packages/mcp-server/src/methods.ts
Original file line number Diff line number Diff line change
Expand Up @@ -965,6 +965,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 "$@"
13 changes: 13 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 @@ -1184,6 +1189,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 +1228,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 @@ -1465,6 +1472,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