openapi: 3.0.0
info:
title: Stripe Accounts Account Capability 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: Capability
paths:
/v1/accounts/{account}/capabilities/{capability}:
get:
description:
Retrieves information about the specified Account Capability.
operationId: GetAccountsAccountCapabilitiesCapability
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: capability
required: true
schema:
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/GetAccountsAccountCapabilitiesCapabilityRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/capability'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Retrieve Capability
tags:
- Capability
x-api-evangelist-processing:
ChooseTags: true
post:
description: Updates an existing Account Capability. Request or remove a capability by updating its requested parameter.
operationId: PostAccountsAccountCapabilitiesCapability
parameters:
- in: path
name: account
required: true
schema:
maxLength: 5000
type: string
style: simple
- in: path
name: capability
required: true
schema:
type: string
style: simple
requestBody:
content:
application/x-www-form-urlencoded:
encoding:
expand:
explode: true
style: deepObject
schema:
additionalProperties: false
$ref: '#/components/schemas/PostAccountsAccountCapabilitiesCapabilityRequest'
required: false
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/capability'
description: Successful response.
default:
content:
application/json:
schema:
$ref: '#/components/schemas/error'
description: Error response.
summary: Stripe Update Capability
tags:
- Capability
x-api-evangelist-processing:
ChooseTags: true
components:
schemas:
capability:
description: 'This is an object representing a capability for a Stripe account.
Related guide: [Account capabilities](https://stripe.com/docs/connect/account-capabilities)'
properties:
account:
anyOf:
- maxLength: 5000
type: string
- $ref: '#/components/schemas/account'
description: The account for which the capability enables functionality.
x-expansionResources:
oneOf:
- $ref: '#/components/schemas/account'
future_requirements:
$ref: '#/components/schemas/account_capability_future_requirements'
id:
description: The identifier for the capability.
maxLength: 5000
type: string
object:
description: String representing the object's type. Objects of the same type share the same value.
enum:
- capability
type: string
requested:
description: Whether the capability has been requested.
type: boolean
requested_at:
description: Time at which the capability was requested. Measured in seconds since the Unix epoch.
format: unix-time
nullable: true
type: integer
requirements:
$ref: '#/components/schemas/account_capability_requirements'
status:
description: The status of the capability. Can be `active`, `inactive`, `pending`, or `unrequested`.
enum:
- active
- disabled
- inactive
- pending
- unrequested
type: string
required:
- account
- id
- object
- requested
- status
title: AccountCapability
type: object
x-expandableFields:
- account
- future_requirements
- requirements
x-resourceId: capability
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
error:
description: An error response from the Stripe API
properties:
error:
$ref: '#/components/schemas/api_errors'
required:
- error
type: object