Guide for upgrading Stripe API versions and SDKs
Use the skills CLI to install this skill with one command. Auto-detects all installed AI assistants.
Method 1 - skills CLI
npx skills i stripe/ai/skills/upgrade-stripeMethod 2 - openskills (supports sync & update)
npx openskills install stripe/aiAuto-detects Claude Code, Cursor, Codex CLI, Gemini CLI, and more. One install, works everywhere.
Installation Path
Download and extract to one of the following locations:
No setup needed. Let our cloud agents run this skill for you.
Select Provider
Select Model
Best for coding tasks
No setup required
The latest Stripe API version is 2026-01-28.clover - use this version when upgrading unless the user specifies a different target version.
This guide covers upgrading Stripe API versions, server-side SDKs, Stripe.js, and mobile SDKs.
Stripe uses date-based API versions (e.g., 2026-01-28.clover, 2025-08-27.basil, 2024-12-18.acacia). Your account's API version determines request/response behavior.
Backward-Compatible Changes (do not require code updates):
Breaking Changes (require code updates):
Review the API Changelog for all changes between versions.
See SDK Version Management for details.
These SDKs offer flexible version control:
Global Configuration:
import stripe
stripe.api_version = '2026-01-28.clover'Stripe.api_version = '2026-01-28.clover'const stripe = require('stripe')('sk_test_xxx', {
apiVersion: '2026-01-28.clover'
});Per-Request Override:
stripe.Customer.create(
email="customer@example.com",
stripe_version='2026-01-28.clover'
)These use a fixed API version matching the SDK release date. Do not set a different API version for strongly-typed languages because response objects might not match the strong types in the SDK. Instead, update the SDK to target a new API version.
Always specify the API version you're integrating against in your code instead of relying on your account's default API version:
// Good: Explicit version
const stripe = require('stripe')('sk_test_xxx', {
apiVersion: '2026-01-28.clover'
});
// Avoid: Relying on account default
const stripe = require('stripe')('sk_test_xxx');See Stripe.js Versioning for details.
Stripe.js uses an evergreen model with major releases (Acacia, Basil, Clover) on a biannual basis.
Via Script Tag:
<script src="https://js.stripe.com/clover/stripe.js"></script>Via npm:
npm install @stripe/stripe-jsMajor npm versions correspond to specific Stripe.js versions.
Each Stripe.js version automatically pairs with its corresponding API version. For instance:
2026-01-28.clover API2024-12-18.acacia APIYou cannot override this association.
See Mobile SDK Versioning for details.
Both platforms follow semantic versioning (MAJOR.MINOR.PATCH):
New features and fixes release only on the latest major version. Upgrade regularly to access improvements.
Uses a different model (0.x.y schema):
All mobile SDKs work with any Stripe API version you use on your backend unless documentation specifies otherwise.
npm update stripe, pip install --upgrade stripe)apiVersion parameter in your Stripe client initializationStripe-Version headerUse the Stripe-Version header to test your code against a new version without changing your default:
curl https://api.stripe.com/v1/customers \
-u sk_test_xxx: \
-H "Stripe-Version: 2026-01-28.clover"Or in code:
const stripe = require('stripe')('sk_test_xxx', {
apiVersion: '2026-01-28.clover' // Test with new version
});