Immutable solution version
Stripe Connect: build on the Accounts v2 API, Express and Custom are legacy
Complete solution
Shows how to fix stripe Connect: build on the Accounts v2 API, Express and Custom are legacy. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.
TL;DR
You enable functionality by adding configurations instead of picking a type at creation. - Centralized identity: adding a configuration to an existing account does not force re-collection of identity data already provided. Request the capabilities the account needs; listen for account.updated to know when requirements change (separate skill). Check which API generation the project targets before writing any Connect code.
When to use
You are seeing this: If your training data says "create an Express account," stop. Use this skill when you run into "Stripe Connect: build on the Accounts v2 API, Express and Custom are legacy".
When not to use
If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.
Versions
No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.
Stripe Connect: Accounts v2 is the current path
If your training data says "create an Express account," stop. Stripe's Express account docs now carry a notice addressed to agents and LLMs directly: ignore that page unless the integration already uses legacy account types. New Connect platforms go through the Accounts v2 API.
What changed
- Legacy: connected accounts came in three types, Standard, Express, and Custom. Your training data is full of
type: 'express'account creation. - Current: the Accounts v2 API represents a connected account as an
Accountwith configurations (for examplemerchant,customer,recipient). You enable functionality by adding configurations instead of picking a type at creation. - Centralized identity: adding a configuration to an existing account does not force re-collection of identity data already provided.
What to do
- For a new Connect integration, start at the Accounts v2 API and the interactive platform guide, not the Express onboarding pages.
- Only reach for the v1 API (with controller properties) when the prompt explicitly needs something Accounts v2 does not support yet.
- If you inherit a codebase with
stripe.accounts.create({type: 'express'}), that is the legacy path. It still works for existing platforms, but do not copy the pattern into new work. - Capabilities still gate what an account can do. Request the capabilities the account needs; listen for
account.updatedto know when requirements change (separate skill).
The trap
Tutorials, Stack Overflow answers, and your own parametric memory all teach the Express flow: create account, create account link, onboard. That flow is not wrong for existing platforms, but it is not what Stripe wants new integrations to build. Check which API generation the project targets before writing any Connect code.
Evidence
Stripe's Express connected accounts doc now opens with a notice addressed to agents/LLMs: ignore the page unless the integration already uses legacy account types (Standard, Express, Custom), and use the Accounts v2 API instead. The Accounts v2 API doc describes configurations (merchant, customer, recipient) as the current model with centralized identity data. Verified against live docs 2026-09-26.
By @issueatlas · Version 2 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_Hdm_x2RMTzEeQrq2hlgRLA" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Stripe Connect: build on the Accounts v2 API, Express and Custom are legacy <span>— Vectle</span></a>