openapi: 3.0.0
info:
title: Stripe Accounts Account API
description: This is an object representing a Stripe account. You can retrieve it to see properties on the account like its current requirements or if the account is enabled to make live charges or receive payouts.
contact:
email: dev-platform@stripe.com
name: Stripe Dev Platform Team
url: https://stripe.com
termsOfService: https://stripe.com/us/terms/
version: '2023-10-16'
x-stripeSpecFilename: spec3
servers:
- url: https://api.stripe.com/
security:
- basicAuth: []
- bearerAuth: []
tags:
- name: Account
paths:
/v1/account:
get:
description:
Retrieves the details of an account.
operationId: GetAccount
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetAccountRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Retrieve Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/account_links:
post:
description: Creates an AccountLink object that includes a single-use Stripe URL that the platform can redirect their user to in order to take them through the Connect Onboarding flow.
operationId: PostAccountLinks
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountLinksRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/account_link'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Create Account Link
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/account_sessions:
post:
description: Creates a AccountSession object that includes a single-use token that the platform can use on their front-end to grant client-side API access.
operationId: PostAccountSessions
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
components:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountSessionsRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/account_session'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Create Account Session
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/accounts:
post:
description: 'With Connect, you can create Stripe accounts for your users.
To do this, youll first need to register your platform.
If youve already collected information for your connected accounts, you can prefill that information when
creating the account. Connect Onboarding wont ask for the prefilled information during account onboarding.
You can prefill any information on the account.
'
operationId: PostAccounts
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
bank_account:
explode: true
style: deepObject
business_profile:
explode: true
style: deepObject
capabilities:
explode: true
style: deepObject
company:
explode: true
style: deepObject
documents:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
individual:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
settings:
explode: true
style: deepObject
tos_acceptance:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountsRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Create Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/accounts/{account}:
delete:
description: 'With Connect, you can delete accounts you manage.
Accounts created using test-mode keys can be deleted at any time. Standard accounts created using live-mode keys cannot be deleted. Custom or Express accounts created using live-mode keys can only be deleted once all balances are zero.
If you want to delete your own account, use the account information tab in your account settings instead.
'
operationId: DeleteAccountsAccount
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/DeleteAccountsAccountRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/deleted_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Delete Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
get:
description: Retrieves the details of an account.
operationId: GetAccountsAccount
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetAccountsAccountRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Retrieve Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
post:
description: 'Updates a connected account by setting the values of the parameters passed. Any parameters not provided are
left unchanged.
For Custom accounts, you can update any information on the account. For other accounts, you can update all information until that
account has started to go through Connect Onboarding. Once you create an Account Link
for a Standard or Express account, some parameters can no longer be changed. These are marked as Custom Only or Custom and Express
below.
To update your own account, use the Dashboard. Refer to our
Connect documentation to learn more about updating accounts.
'
operationId: PostAccountsAccount
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
business_profile:
explode: true
style: deepObject
capabilities:
explode: true
style: deepObject
company:
explode: true
style: deepObject
documents:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
individual:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
settings:
explode: true
style: deepObject
tos_acceptance:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountsAccountRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Update Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/accounts/{account}/bank_accounts:
post:
description: Create an external account for a given account.
operationId: PostAccountsAccountBankAccounts
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
bank_account:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountsAccountBankAccountsRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/external_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Create Bank Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/accounts/{account}/bank_accounts/{id}:
delete:
description: Delete a specified external account for a given account.
operationId: DeleteAccountsAccountBankAccountsId
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/DeleteAccountsAccountBankAccountsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/deleted_external_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Delete Bank Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
get:
description: Retrieve a specified external account for a given account.
operationId: GetAccountsAccountBankAccountsId
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetAccountsAccountBankAccountsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/external_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Retrieve Bank Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
post:
description: 'Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.
You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.
'
operationId: PostAccountsAccountBankAccountsId
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
documents:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountsAccountBankAccountsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/external_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Update Bank Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/accounts/{account}/external_accounts:
post:
description: Create an external account for a given account.
operationId: PostAccountsAccountExternalAccounts
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
bank_account:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountsAccountExternalAccountsRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/external_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Create External Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/accounts/{account}/external_accounts/{id}:
delete:
description: Delete a specified external account for a given account.
operationId: DeleteAccountsAccountExternalAccountsId
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/DeleteAccountsAccountExternalAccountsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/deleted_external_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Delete External Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
get:
description: Retrieve a specified external account for a given account.
operationId: GetAccountsAccountExternalAccountsId
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetAccountsAccountExternalAccountsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/external_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Retrieve External Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
post:
description: 'Updates the metadata, account holder name, account holder type of a bank account belonging to a Custom account, and optionally sets it as the default for its currency. Other bank account details are not editable by design.
You can re-enable a disabled bank account by performing an update call without providing any arguments or changes.
'
operationId: PostAccountsAccountExternalAccountsId
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: id
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
documents:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
metadata:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountsAccountExternalAccountsIdRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/external_account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Update External Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/accounts/{account}/reject:
post:
description: 'With Connect, you may flag accounts as suspicious.
Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.
'
operationId: PostAccountsAccountReject
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountsAccountRejectRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/account'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Reject Account
tags:
- Account
x-api-evangelist-processing:
ChooseTags: true
/v1/link_account_sessions:
post:
description: To launch the Financial Connections authorization flow, create a Session. The session’s client_secret can be used to launch the flow using Stripe.js.
operationId: postLinkAccountSessions
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
account_holder:
explode: true
style: deepObject
expand:
explode: true
style: deepObject
filters:
explode: true
style: deepObject
permissions:
explode: true
style: deepObject
prefetch:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostLinkAccountSessionsRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/financial_connections.session'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Post Link Account Sessions
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Account
/v1/link_account_sessions/{session}:
get:
description: Retrieves the details of a Financial Connections Session
operationId: getLinkAccountSessionsSession
parameters:
- description: Specifies which fields in the response should be expanded.
explode: true
in: query
name: expand
required: false
schema:
items:
maxLength: 5000
type: string
type: array
style: deepObject
- in: path
name: session
required: true
schema:
maxLength: 5000
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding: {}
schema:
additionalProperties: false
$ref: '#/components/schemas/GetLinkAccountSessionsSessionRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/financial_connections.session'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Get Link Account Sessions Session
x-api-evangelist-processing:
GenerateOperationSummariesFromPath: true
PascalCaseOperationSummaries: true
CaselCaseOperationIds: true
ChooseTags: true
tags:
- Account
components:
schemas:
account_link:
description: 'Account Links are the means by which a Connect platform grants a connected account permission to access
Stripe-hosted applications, such as Connect Onboarding.
Related guide: [Connect Onboarding](https://stripe.com/docs/connect/custom/hosted-onboarding)'
properties:
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
expires_at:
description: The timestamp at which this account link will expire.
format: unix-time
type: integer
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- account_link
type: string
url:
description: The URL for the account link.
maxLength: 5000
type: string
required:
- created
- expires_at
- object
- url
title: AccountLink
type: object
x-expandableFields: []
x-resourceId: account_link
error:
description: An error response from the Stripe API
properties:
error:
$ref: '#/components/schemas/api_errors'
required:
- error
type: object
financial_connections.account:
description: A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
properties:
account_holder:
anyOf:
- $ref: '#/components/schemas/bank_connections_resource_accountholder'
description: The account holder that this account belongs to.
nullable: true
balance:
anyOf:
- $ref: '#/components/schemas/bank_connections_resource_balance'
description: The most recent information about the account's balance.
nullable: true
balance_refresh:
anyOf:
- $ref: '#/components/schemas/bank_connections_resource_balance_refresh'
description: The state of the most recent attempt to refresh the account balance.
nullable: true
category:
description: The type of the account. Account category is further divided in `subcategory`.
enum:
- cash
- credit
- investment
- other
type: string
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
display_name:
description: A human-readable name that has been assigned to this account, either by the account holder or by the institution.
maxLength: 5000
nullable: true
type: string
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
institution_name:
description: The name of the institution that holds this account.
maxLength: 5000
type: string
last4:
description: The last 4 digits of the account number. If present, this will be 4 numeric characters.
maxLength: 5000
nullable: true
type: string
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- financial_connections.account
type: string
ownership:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/financial_connections.account_ownership'
description: The most recent information about the account's owners.
nullable: true
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/financial_connections.account_ownership'
ownership_refresh:
anyOf:
- $ref: '#/components/schemas/bank_connections_resource_ownership_refresh'
description: The state of the most recent attempt to refresh the account owners.
nullable: true
permissions:
description: The list of permissions granted by this account.
items:
enum:
- balances
- ownership
- payment_method
- transactions
type: string
nullable: true
type: array
status:
description: The status of the link to the account.
enum:
- active
- disconnected
- inactive
type: string
subcategory:
description: "If `category` is `cash`, one of:\n\n - `checking`\n - `savings`\n - `other`\n\nIf `category` is `credit`, one of:\n\n - `mortgage`\n - `line_of_credit`\n - `credit_card`\n - `other`\n\nIf `category` is `investment` or `other`, this will be `other`."
enum:
- checking
- credit_card
- line_of_credit
- mortgage
- other
- savings
type: string
subscriptions:
description: The list of data refresh subscriptions requested on this account.
items:
enum:
- transactions
type: string
x-stripeBypassValidation: true
nullable: true
type: array
supported_payment_method_types:
description: The [PaymentMethod type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type)(s) that can be created from this account.
items:
enum:
- link
- us_bank_account
type: string
type: array
transaction_refresh:
anyOf:
- $ref: '#/components/schemas/bank_connections_resource_transaction_refresh'
description: The state of the most recent attempt to refresh the account transactions.
nullable: true
required:
- category
- created
- id
- institution_name
- livemode
- object
- status
- subcategory
- supported_payment_method_types
title: BankConnectionsResourceLinkedAccount
type: object
x-expandableFields:
- account_holder
- balance
- balance_refresh
- ownership
- ownership_refresh
- transaction_refresh
x-resourceId: financial_connections.account
external_account:
anyOf:
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
title: Polymorphic
x-resourceId: external_account
x-stripeBypassValidation: true
GetLinkAccountSessionsSessionRequest:
type: object
properties: {}
PostLinkAccountSessionsRequest:
type: object
required:
- account_holder
- permissions
properties:
account_holder:
description: The account holder to link accounts for.
properties:
account:
maxLength: 5000
type: string
customer:
maxLength: 5000
type: string
type:
enum:
- account
- customer
type: string
required:
- type
title: accountholder_params
type: object
expand:
description: Specifies which fields in the response should be expanded.
items:
maxLength: 5000
type: string
type: array
filters:
description: Filters to restrict the kinds of accounts to collect.
properties:
countries:
items:
maxLength: 5000
type: string
type: array
required:
- countries
title: filters_params
type: object
permissions:
description: 'List of data features that you would like to request access to.
Possible values are `balances`, `transactions`, `ownership`, and `payment_method`.'
items:
enum:
- balances
- ownership
- payment_method
- transactions
maxLength: 5000
type: string
x-stripeBypassValidation: true
type: array
prefetch:
description: List of data features that you would like to retrieve upon account creation.
items:
enum:
- balances
- ownership
- transactions
type: string
x-stripeBypassValidation: true
type: array
return_url:
description: For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
maxLength: 5000
type: string
account_session:
description: 'An AccountSession allows a Connect platform to grant access to a connected account in Connect embedded components.
We recommend that you create an AccountSession each time you need to display an embedded component
to your user. Do not save AccountSessions to your database as they expire relatively
quickly, and cannot be used more than once.
Related guide: [Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components)'
properties:
account:
description: The ID of the account the AccountSession was created for
maxLength: 5000
type: string
client_secret:
description: 'The client secret of this AccountSession. Used on the client to set up secure access to the given `account`.
The client secret can be used to provide access to `account` from your frontend. It should not be stored, logged, or exposed to anyone other than the connected account. Make sure that you have TLS enabled on any page that includes the client secret.
Refer to our docs to [setup Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components) and learn about how `client_secret` should be handled.'
maxLength: 5000
type: string
components:
$ref: '#/components/schemas/connect_embedded_account_session_create_components'
expires_at:
description: The timestamp at which this AccountSession will expire.
format: unix-time
type: integer
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- account_session
type: string
required:
- account
- client_secret
- components
- expires_at
- livemode
- object
title: ConnectEmbeddedMethodAccountSessionCreateMethodAccountSession
type: object
x-expandableFields:
- components
x-resourceId: account_session
deleted_account:
description: ''
properties:
deleted:
description: Always true for a deleted object
enum:
- true
type: boolean
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- account
type: string
required:
- deleted
- id
- object
title: DeletedAccount
type: object
x-expandableFields: []
x-resourceId: deleted_account
deleted_external_account:
anyOf:
- $ref: '#/components/schemas/deleted_bank_account'
- $ref: '#/components/schemas/deleted_card'
title: Polymorphic
x-resourceId: deleted_external_account
x-stripeBypassValidation: true
financial_connections.session:
description: A Financial Connections Session is the secure way to programmatically launch the client-side Stripe.js modal that lets your users link their accounts.
properties:
account_holder:
anyOf:
- $ref: '#/components/schemas/bank_connections_resource_accountholder'
description: The account holder for whom accounts are collected in this session.
nullable: true
accounts:
description: The accounts that were collected as part of this Session.
properties:
data:
description: Details about each object.
items:
$ref: '#/components/schemas/financial_connections.account'
type: array
has_more:
description: True if this list has another page of items after this one that can be fetched.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
enum:
- list
type: string
url:
description: The URL where this list can be accessed.
maxLength: 5000
pattern: ^/v1/financial_connections/accounts
type: string
required:
- data
- has_more
- object
- url
title: BankConnectionsResourceLinkedAccountList
type: object
x-expandableFields:
- data
client_secret:
description: A value that will be passed to the client to launch the authentication flow.
maxLength: 5000
type: string
filters:
$ref: '#/components/schemas/bank_connections_resource_link_account_session_filters'
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
livemode:
description: Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- financial_connections.session
type: string
permissions:
description: Permissions requested for accounts collected during this session.
items:
enum:
- balances
- ownership
- payment_method
- transactions
type: string
x-stripeBypassValidation: true
type: array
prefetch:
description: Data features requested to be retrieved upon account creation.
items:
enum:
- balances
- ownership
- transactions
type: string
x-stripeBypassValidation: true
nullable: true
type: array
return_url:
description: For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
maxLength: 5000
type: string
required:
- accounts
- client_secret
- id
- livemode
- object
- permissions
title: BankConnectionsResourceLinkAccountSession
type: object
x-expandableFields:
- account_holder
- accounts
- filters
x-resourceId: financial_connections.session
account:
description: 'This is an object representing a Stripe account. You can retrieve it to see
properties on the account like its current requirements or if the account is
enabled to make live charges or receive payouts.
For Custom accounts, the properties below are always returned. For other accounts, some properties are returned until that
account has started to go through Connect Onboarding. Once you create an [Account Link](https://stripe.com/docs/api/account_links)
for a Standard or Express account, some parameters are no longer returned. These are marked as **Custom Only** or **Custom and Express**
below. Learn about the differences [between accounts](https://stripe.com/docs/connect/accounts).'
properties:
business_profile:
anyOf:
- $ref: '#/components/schemas/account_business_profile'
description: Business information about the account.
nullable: true
business_type:
description: The business type.
enum:
- company
- government_entity
- individual
- non_profit
nullable: true
type: string
x-stripeBypassValidation: true
capabilities:
$ref: '#/components/schemas/account_capabilities'
charges_enabled:
description: Whether the account can create live charges.
type: boolean
company:
$ref: '#/components/schemas/legal_entity_company'
controller:
$ref: '#/components/schemas/account_unification_account_controller'
country:
description: The account's country.
maxLength: 5000
type: string
created:
description: Time at which the account was connected. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
default_currency:
description: Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account's country](https://stripe.com/docs/payouts).
maxLength: 5000
type: string
details_submitted:
description: Whether account details have been submitted. Standard accounts cannot receive payouts before this is true.
type: boolean
email:
description: An email address associated with the account. It's not used for authentication and Stripe doesn't market to this field without explicit approval from the platform.
maxLength: 5000
nullable: true
type: string
external_accounts:
description: External accounts (bank accounts and debit cards) currently attached to this account
properties:
data:
description: The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.
items:
anyOf:
- $ref: '#/components/schemas/bank_account'
- $ref: '#/components/schemas/card'
title: Polymorphic
x-stripeBypassValidation: true
type: array
has_more:
description: True if this list has another page of items after this one that can be fetched.
type: boolean
object:
description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
enum:
- list
type: string
url:
description: The URL where this list can be accessed.
maxLength: 5000
type: string
required:
- data
- has_more
- object
- url
title: ExternalAccountList
type: object
x-expandableFields:
- data
future_requirements:
$ref: '#/components/schemas/account_future_requirements'
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
individual:
$ref: '#/components/schemas/person'
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
type: object
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- account
type: string
payouts_enabled:
description: Whether Stripe can send payouts to this account.
type: boolean
requirements:
$ref: '#/components/schemas/account_requirements'
settings:
anyOf:
- $ref: '#/components/schemas/account_settings'
description: Options for customizing how the account functions within Stripe.
nullable: true
tos_acceptance:
$ref: '#/components/schemas/account_tos_acceptance'
type:
description: The Stripe account type. Can be `standard`, `express`, or `custom`.
enum:
- custom
- express
- standard
type: string
required:
- id
- object
title: Account
type: object
x-expandableFields:
- business_profile
- capabilities
- company
- controller
- external_accounts
- future_requirements
- individual
- requirements
- settings
- tos_acceptance
x-resourceId: account
person:
description: 'This is an object representing a person associated with a Stripe account.
A platform cannot access a Standard or Express account''s persons after the account starts onboarding, such as after generating an account link for the account.
See the [Standard onboarding](https://stripe.com/docs/connect/standard-accounts) or [Express onboarding documentation](https://stripe.com/docs/connect/express-accounts) for information about platform prefilling and account onboarding steps.
Related guide: [Handling identity verification with the API](https://stripe.com/docs/connect/handling-api-verification#person-information)'
properties:
account:
description: The account the person is associated with.
maxLength: 5000
type: string
additional_tos_acceptances:
$ref: '#/components/schemas/person_additional_tos_acceptances'
address:
$ref: '#/components/schemas/address'
address_kana:
anyOf:
- $ref: '#/components/schemas/legal_entity_japan_address'
nullable: true
address_kanji:
anyOf:
- $ref: '#/components/schemas/legal_entity_japan_address'
nullable: true
created:
description: Time at which the object was created. Measured in seconds since the Unix epoch.
format: unix-time
type: integer
dob:
$ref: '#/components/schemas/legal_entity_dob'
email:
description: The person's email address.
maxLength: 5000
nullable: true
type: string
first_name:
description: The person's first name.
maxLength: 5000
nullable: true
type: string
first_name_kana:
description: The Kana variation of the person's first name (Japan only).
maxLength: 5000
nullable: true
type: string
first_name_kanji:
description: The Kanji variation of the person's first name (Japan only).
maxLength: 5000
nullable: true
type: string
full_name_aliases:
description: A list of alternate names or aliases that the person is known by.
items:
maxLength: 5000
type: string
type: array
future_requirements:
anyOf:
- $ref: '#/components/schemas/person_future_requirements'
nullable: true
gender:
description: The person's gender (International regulations require either "male" or "female").
nullable: true
type: string
id:
description: Unique identifier for the object.
maxLength: 5000
type: string
id_number_provided:
description: Whether the person's `id_number` was provided. True if either the full ID number was provided or if only the required part of the ID number was provided (ex. last four of an individual's SSN for the US indicated by `ssn_last_4_provided`).
type: boolean
id_number_secondary_provided:
description: Whether the person's `id_number_secondary` was provided.
type: boolean
last_name:
description: The person's last name.
maxLength: 5000
nullable: true
type: string
last_name_kana:
description: The Kana variation of the person's last name (Japan only).
maxLength: 5000
nullable: true
type: string
last_name_kanji:
description: The Kanji variation of the person's last name (Japan only).
maxLength: 5000
nullable: true
type: string
maiden_name:
description: The person's maiden name.
maxLength: 5000
nullable: true
type: string
metadata:
additionalProperties:
maxLength: 500
type: string
description: Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
type: object
nationality:
description: The country where the person is a national.
maxLength: 5000
nullable: true
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- person
type: string
phone:
description: The person's phone number.
maxLength: 5000
nullable: true
type: string
political_exposure:
description: Indicates if the person or any of their representatives, family members, or other closely related persons, declares that they hold or have held an important public job or function, in any jurisdiction.
enum:
- existing
- none
type: string
registered_address:
$ref: '#/components/schemas/address'
relationship:
$ref: '#/components/schemas/person_relationship'
requirements:
anyOf:
- $ref: '#/components/schemas/person_requirements'
nullable: true
ssn_last_4_provided:
description: Whether the last four digits of the person's Social Security number have been provided (U.S. only).
type: boolean
verification:
$ref: '#/components/schemas/legal_entity_person_verification'
required:
- account
- created
- id
- object
title: Person
type: object
x-expandableFields:
- additional_tos_acceptances
- address
- address_kana
- address_kanji
- dob
- future_requirements
- registered_address
- relationship
- requirements
- verification
x-resourceId: person