Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Versioning
Changelog
    Overview
    Basil
    Acacia
    Previous versions
Upgrade your API version
Upgrade your SDK version
Developer tools
SDKs
API
Testing
Workbench
Event Destinations
Workflows
Stripe CLI
Stripe Shell
Developers Dashboard
Agent toolkit
Stripe health alertsBuilding with LLMsStripe for Visual Studio CodeFile uploads
Security
Security
Extend Stripe
Stripe Apps
Stripe Connectors
Partners
Partner ecosystem
Partner certification
HomeDeveloper toolsChangelogBasil2025-03-31.basil

Adds new error codes for required verificationsBreaking changes

What’s new

Adds the following error codes to the requirements.errors array in the Accounts API, Capabilities API, Persons API, and Bank Accounts API.

  • information_missing
  • invalid_signator
  • verification_failed_authorizer_authority
  • verification_rejected_ownership_exemption_reason

The information_missing error code is more generic than previous error codes. Use the associated requirement and reason fields to learn what information is missing. For example, some Singapore accounts might see:

// GET /v1/accounts/{{CONNECTED_ACCOUNT_ID}} { ... "requirements": { "currently_due": ["documents.proof_of_ultimate_beneficial_ownership.files"], "errors": [ { "code": "information_missing", "requirement": "documents.proof_of_ultimate_beneficial_ownership.files", "reason": "We identified that your business is owned by holding companies that require additional information to be collected. Please provide documents that include information for each applicable holding company. For more information, see https://support.stripe.com/questions/beneficial-ownership-verification-for-holding-companies. The new holding companies we have identified are: ACME INC." } ], ... }, ... }

We return the invalid_signator error if you uploaded a Letter of Attestation as your proof of Ultimate Beneficial Ownership document, and we couldn’t verify the professional body that notarized the document.

{ ... "requirements": { "currently_due": ["documents.proof_of_ultimate_beneficial_ownership.files"], "errors": [ { "code": "invalid_signator", "requirement": "documents.proof_of_ultimate_beneficial_ownership.files", "reason": "We could not verify the professional certifying body of this document." } ], ... }, ... }

We return the verification_failed_authorizer_authority error if you designated a Person as the authorizer on your account and we couldn’t verify their position of authority within your company. See Representative Authority Verification for more information.

{ ... "requirements": { "currently_due": ["{{AUTHORIZER_PERSON_TOKEN}}.relationship.authorizer"], "errors": [ { "code": "verification_failed_authorizer_authority", "requirement": "{{AUTHORIZER_PERSON_TOKEN}}.relationship.authorizer", "reason": "The authority of the authorizer could not be verified. Authorizers must be one of Director, Chief Executive Officer listed on acra.gov.sg." } ], ... }, ... }

We return the verification_rejected_ownership_exemption_reason error if you submitted an exemption for providing your Ultimate Beneficial Owners, and we rejected the exemption request.

{ ... "requirements": { "currently_due": ["documents.proof_of_ultimate_beneficial_ownership.files"], "alternatives": [ { "original_fields_due": ["documents.proof_of_ultimate_beneficial_ownership.files"], "alternative_fields_due": ["company.ownership_exemption_reason"], } ], "errors": [ { "code": "verification_rejected_ownership_exemption_reason", "requirement": "company.ownership_exemption_reason", "reason": "The ownership exemption reason was rejected." } ], ... }, ... }

Why is this a breaking change?

Some Connect integrations might require an update to handle the new error codes.

Impact

You’ll be able to handle new error codes for the upcoming requirement updates in Singapore.

Changes

ValuesChangeEnums
information_missinginvalid_signatorverification_failed_authorizer_authorityverification_rejected_ownership_exemption_reasonAdded
Account.future_requirements.errors[].codeAccount.requirements.errors[].codeBankAccount.future_requirements.errors[].code
 + 5 more
BankAccount.requirements.errors[].codeCapability.future_requirements.errors[].codeCapability.requirements.errors[].codePerson.future_requirements.errors[].codePerson.requirements.errors[].code

Upgrade

  1. View your current API version in Workbench.
  2. If you use an SDK, upgrade to the corresponding SDK version for this API version.
    • If you don’t use an SDK, update your API requests to include Stripe-Version: 2025-03-31.basil
  3. Upgrade the API version used for webhook endpoints.
  4. Test your integration against the new version.
  5. If you use Connect, test your Connect integration.
  6. In Workbench, perform the upgrade. You can roll back the version for 72 hours.

Learn more about Stripe API upgrades.

Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc