API Changelog Brief

API breaking changes, Sep 5 to Oct 5, 2026: Stripe, Shopify, Twilio, OpenAI

39 entries typed as breaking on the public changelogs of Stripe, Shopify, Twilio and OpenAI, published 2026-09-05 to 2026-10-05, grouped by vendor and newest first within each vendor. By vendor: Stripe: 29, Shopify: 9, Twilio: 1, OpenAI: 0.

Dates for Stripe entries are the release date 2026-09-30, not a publish date, as explained on method.html.

Read on 2026-10-05: https://docs.stripe.com/changelog; https://shopify.dev/changelog; https://www.twilio.com/en-us/changelog and https://www.twilio.com/en-us/changelog.feed.xml; https://developers.openai.com/api/docs/changelog and https://developers.openai.com/api/docs/deprecations

VendorDateTypeChange
Stripe2026-09-30breakingUnifies the billing cycle anchor format across Subscriptions and Invoices
In API version 2026-09-30.endive, billing_cycle_anchor on Subscription update and resume and on Invoice preview subscription_details takes an object with a type field instead of a string, enum or timestamp.
Stripe2026-09-30breakingAdds address validation errors for CMRAs and registered agents to Accounts v1 and Accounts v2
Requirement errors can now carry invalid_address_cmra_address and invalid_address_registered_agent_address on Accounts, Persons, Capabilities and bank accounts.
Stripe2026-09-30breakingAdds rejected status for Accounts v2 capabilities
Accounts v2 capabilities can report a rejected status with eight new status_details codes that separate Stripe rejections from platform rejections.
Stripe2026-09-30breakingReplaces the generic fraud rejection reason with specific fraud reasons
The Account reject reason becomes an enum: fraud is removed and returns a 400, replaced by specific fraud reasons plus credit, while terms_of_service and other remain.
Stripe2026-09-30breakingRemoves the configurations parameter from the Account Links v2 API
The configurations parameter is removed from the account_onboarding and account_update use cases of v2 Account Links; Stripe now determines the configurations itself.
Stripe2026-09-30breakingStandardizes SEPA Direct Debit payment settings in the Accounts API
settings.sepa_debit_payments.creditor_id now returns Stripe's shared SEPA Creditor Identifier instead of being omitted, and a custom creditor ID can be set on account create (v1) and create or update (v2).
Stripe2026-09-30breakingShows errors for eventually due requirements
requirements.errors and future_requirements.errors on Accounts, Persons and Capabilities, and their updated events, can now include errors for eventually_due requirements.
Stripe2026-09-30breakingDistinguishes platform-initiated account rejections from Stripe rejections
disabled_reason on v1 Account requirements now returns rejected.platform_fraud, rejected.platform_terms_of_service or rejected.platform_other when the platform rejected the account.
Stripe2026-09-30breakingRenames the countries filter to country on Financial Connections Sessions
filters.countries (an array) is replaced by filters.country (a single string) on Financial Connections Sessions, and the old name is rejected.
Stripe2026-09-30breakingUpdates Financial Connections Session defaults
Financial Connections Sessions get new defaults: no account limit, manual entry disabled, no payment-method-support requirement, all account subcategories, and the merchant country as the country filter.
Stripe2026-09-30breakingRemoves the payment method types parameter from Checkout Sessions
payment_method_types is removed from Checkout Session creation and now returns a 400; a new allowed_payment_method_types parameter filters out incompatible types without erroring.
Stripe2026-09-30breakingAdds support for Data Share Only for 3D Secure authentication
three_d_secure.result can be data_share_only on Charges, SetupAttempts and Payment Records, and the three_d_secure object is now populated for those payments instead of null.
Stripe2026-09-30breakingMakes Payment Evaluation signal scores nullable
Radar Payment Evaluation signal scores are nullable, with an unavailable score returned as null instead of -1; Radar Standard users get null scores and need this API version or later for Payment Evaluations.
Stripe2026-09-30breakingRemoves PayTo-specific fields from Payment Methods
The payto parameter is removed from Payment Method update and is now rejected; the values it accepted were never stored.
Stripe2026-09-30breakingEnforces collection of billing address parameters for non-EEA SEPA Direct Debit payments
SEPA Direct Debit with non-EEA IBANs (including UK and Swiss) now requires billing address city and postal code in addition to line1 and country; the entry states this affects all API versions.
Stripe2026-09-30breakingRemoves the payment method types parameter from Payment Intents and Setup Intents
payment_method_types can no longer be written on PaymentIntents and SetupIntents (400 with payment_method_types_no_longer_supported); it stays as a read-only property.
Stripe2026-09-30breakingReturns specific decline codes for BLIK payment failures
BLIK failures return specific decline codes such as code_invalid, code_expired, insufficient_funds and customer_declined instead of generic_decline.
Stripe2026-09-30breakingDeprecates the payment request button
From the Endive Stripe.js version, creating a paymentRequestButton element (or the React PaymentRequestButtonElement) throws; earlier Stripe.js versions still support it.
Stripe2026-09-30breakingShows pending-authorization UI for MB WAY, Bizum, and BLIK with stripe.handleNextAction
stripe.handleNextAction now displays Stripe's own pending-authorization modal for MB WAY, Bizum and BLIK.
Stripe2026-09-30breakingRemoves support for the payment method types option in Elements
Setting paymentMethodTypes when creating Elements without an Intent, or in elements.update(), now throws an integration error.
Stripe2026-09-30breakingAdds Failed Tax Calculation error
A failed_tax_calculation error code is returned when automatic tax cannot be calculated for an undetermined reason, on tax calculations, invoice finalize and pay, and subscription create and update.
Stripe2026-09-30breakingRenames the Reserve Release reason enum value
On Reserve Releases, the reason value bulk_hold_expiry is renamed to hold_expired.
Stripe2026-09-30breakingAdds destination property and new enum values to Reserve Plans, Holds and Releases
Reserve Plans, Holds and Releases gain a destination property that separates risk reserves from settlement reserves, and Reserve Plans add manual_release and other types plus an other status.
Stripe2026-09-30breakingAdds page limit validation for dispute evidence
Updating a Dispute with evidence whose estimated compiled page count exceeds the network limit now fails with a 400 and code dispute_evidence_page_limit_exceeded, whether or not submit is true.
Stripe2026-09-30breakingRejects duplicate references for pending India card mandates
Creating a PaymentIntent or SetupIntent that reuses a reference tied to a pending India recurring card mandate now returns resource_already_exists; previously only active mandates were checked.
Stripe2026-09-30breakingSurfaces India card mandates on Charges and SetupIntents even when inactive
For India recurring card payments, the mandate on Charges and SetupIntents is returned even when registration failed and the mandate is inactive, and a new mandate can start out inactive.
Stripe2026-09-30breakingSets canConfirm to false while updates are pending in Elements with Checkout Sessions
In Elements with Checkout Sessions, canConfirm is now false while a server update is queued or in progress.
Stripe2026-09-30breakingAllows empty optional address fields in Elements with Checkout Sessions
Elements with Checkout Sessions no longer applies format validation to empty optional address fields, so customers can confirm without them.
Stripe2026-09-30breakingRequires billing details when Payment Element collection is disabled
With Elements and Checkout Sessions, checkout.confirm() throws an integration error if a required billing field set to never on the Payment Element was not supplied another way.
Shopify2026-10-01breaking`metafieldInteger` collection condition removed in API version 2027-01
The metafieldInteger collection condition is removed in 2027-01 and replaced by metafieldInt, whose value is a String rather than an Int.
Shopify2026-10-01breakingTax webhook summary and calculation requests now use Global IDs
From 2027-01, tax webhook summaries and calculation requests identify customers, products, variants, line items and related resources with Global IDs, alongside new admin_graphql_api_id fields.
Shopify2026-10-01breakingUpdated function syntax on the segment query language
In 2026-10 the segment query language uses MATCHES and NOT MATCHES for functions instead of = true and = false, and several named relative dates are deprecated in favor of date offsets.
Shopify2026-09-22breakingEvents subscription query complexity limit is changing to 100 points
The query complexity limit for Events subscriptions drops from 250 to 100 points; classic webhooks are not affected.
Shopify2026-09-22breakingRemoving marketCurrencySettingsUpdate mutation
The marketCurrencySettingsUpdate mutation is removed in API version 2027-01.
Shopify2026-09-18breakingThe `automaticDiscounts` query is removed in API version 2027-01
The automaticDiscounts query and its connection and edge types are removed in 2027-01.
Shopify2026-09-17breakingRemoved session.currentSession.staffMemberId from POS UI Extensions (2026-10)
POS UI Extensions 2026-10 removes session.currentSession.staffMemberId.
Shopify2026-09-16breakingUpdates to Events payloads and subscription configuration
Events payloads change fields_changed from an array to an object with added, updated and removed; two headers are removed, parent triggers need an explicit wildcard and triggers become mandatory for update subscriptions.
Shopify2026-09-10breakingDiscounts Allocator Function API developer preview has ended
The Discounts Allocator Function developer preview has ended: its register and unregister mutations are gone from the unstable API and registered functions were unregistered.
Twilio2026-09-23breakingConference list endpoint will default to in-progress conferences only on September 30, 2026
From September 30, 2026 the Conference list endpoint returns only in-progress conferences unless a status filter is given.