openapi: 3.0.0 info: title: Stripe Accounts 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 security: - basicAuth: [] - bearerAuth: [] servers: - url: https://api.stripe.com/ 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 - Retrieve 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 - Create - Link 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 - Create - Sessions x-api-evangelist-processing: ChooseTags: true /v1/accounts: get: description: >-Returns a list of accounts connected to your platform via Connect. If youre not a platform, the list is empty.
operationId: GetAccounts parameters: - explode: true in: query name: created required: false schema: anyOf: - properties: gt: type: integer gte: type: integer lt: type: integer lte: type: integer title: range_query_specs type: object - type: integer style: deepObject - description: >- A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. in: query name: ending_before required: false schema: type: string style: form - 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 - description: >- A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. in: query name: limit required: false schema: type: integer style: form - description: >- A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. in: query name: starting_after required: false schema: type: string style: form requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: additionalProperties: false $ref: '#/components/schemas/GetAccountsRequest' required: false responses: '200': content: application/json: schema: description: '' x-expandableFields: - data $ref: '#/components/schemas/AccountList' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe List Accounts tags: - Accounts - Lists x-api-evangelist-processing: ChooseTags: true 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 - Create 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 - Delete 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 - Retrieve 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 - Update 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 - Bank - Create 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 - Bank - Delete 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 - Bank - Retrieve 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 - Bank - Update x-api-evangelist-processing: ChooseTags: true /v1/accounts/{account}/capabilities: get: description: >-Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
operationId: GetAccountsAccountCapabilities 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/GetAccountsAccountCapabilitiesRequest' required: false responses: '200': content: application/json: schema: description: '' x-expandableFields: - data $ref: '#/components/schemas/ListAccountCapability' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe List Capabilities tags: - Capabilities - Lists x-api-evangelist-processing: ChooseTags: true /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 - Retrieve x-api-evangelist-processing: ChooseTags: true post: description: >-Updates an existing Account Capability. Request or remove a
capability by updating its requested parameter.
List external accounts for an account.
operationId: GetAccountsAccountExternalAccounts parameters: - in: path name: account required: true schema: maxLength: 5000 type: string style: simple - description: >- A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. in: query name: ending_before required: false schema: type: string style: form - 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 - description: >- A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. in: query name: limit required: false schema: type: integer style: form - description: Filter external accounts according to a particular object type. in: query name: object required: false schema: enum: - bank_account - card maxLength: 5000 type: string x-stripeBypassValidation: true style: form - description: >- A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. in: query name: starting_after required: false schema: type: string style: form requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: additionalProperties: false $ref: '#/components/schemas/GetAccountsAccountExternalAccountsRequest' required: false responses: '200': content: application/json: schema: description: '' x-expandableFields: - data $ref: '#/components/schemas/ExternalAccountList' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe List External Accounts tags: - Accounts - External - Lists x-api-evangelist-processing: ChooseTags: true 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 - Create - External 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 - Delete - External 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 - External - Retrieve 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 - External - Update x-api-evangelist-processing: ChooseTags: true /v1/accounts/{account}/login_links: post: description: >-Creates a single-use login link for an Express account to access their Stripe dashboard.
You may only create login links for Express accounts connected to your platform.
operationId: PostAccountsAccountLoginLinks 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/PostAccountsAccountLoginLinksRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/login_link' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Create Login Link tags: - Create - Link - Login x-api-evangelist-processing: ChooseTags: true /v1/accounts/{account}/people: get: description: >-Returns a list of people associated with the accounts legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
operationId: GetAccountsAccountPeople parameters: - in: path name: account required: true schema: maxLength: 5000 type: string style: simple - description: >- A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. in: query name: ending_before required: false schema: maxLength: 5000 type: string style: form - 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 - description: >- A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. in: query name: limit required: false schema: type: integer style: form - description: >- Filters on the list of people returned based on the person's relationship to the account's company. explode: true in: query name: relationship required: false schema: properties: director: type: boolean executive: type: boolean legal_guardian: type: boolean owner: type: boolean representative: type: boolean title: all_people_relationship_specs type: object style: deepObject - description: >- A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. in: query name: starting_after required: false schema: maxLength: 5000 type: string style: form requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: additionalProperties: false $ref: '#/components/schemas/GetAccountsAccountPeopleRequest' required: false responses: '200': content: application/json: schema: description: '' x-expandableFields: - data $ref: '#/components/schemas/PersonList' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe List Persons tags: - Lists - Persons x-api-evangelist-processing: ChooseTags: true post: description:Creates a new person.
operationId: PostAccountsAccountPeople parameters: - in: path name: account required: true schema: maxLength: 5000 type: string style: simple requestBody: content: application/x-www-form-urlencoded: encoding: additional_tos_acceptances: explode: true style: deepObject address: explode: true style: deepObject address_kana: explode: true style: deepObject address_kanji: explode: true style: deepObject dob: explode: true style: deepObject documents: explode: true style: deepObject expand: explode: true style: deepObject full_name_aliases: explode: true style: deepObject metadata: explode: true style: deepObject registered_address: explode: true style: deepObject relationship: explode: true style: deepObject verification: explode: true style: deepObject schema: additionalProperties: false $ref: '#/components/schemas/PostAccountsAccountPeopleRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/person' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Create Person tags: - Create - Person x-api-evangelist-processing: ChooseTags: true /v1/accounts/{account}/people/{person}: delete: description: >-Deletes an existing persons relationship to the accounts legal
entity. Any person with a relationship for an account can be deleted
through the API, except if the person is the
account_opener. If your integration is using the
executive parameter, you cannot delete the only verified
executive on file.
Retrieves an existing person.
operationId: GetAccountsAccountPeoplePerson 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: person required: true schema: maxLength: 5000 type: string style: simple requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: additionalProperties: false $ref: '#/components/schemas/GetAccountsAccountPeoplePersonRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/person' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Retrieve Person tags: - Person - Retrieve x-api-evangelist-processing: ChooseTags: true post: description:Updates an existing person.
operationId: PostAccountsAccountPeoplePerson parameters: - in: path name: account required: true schema: maxLength: 5000 type: string style: simple - in: path name: person required: true schema: maxLength: 5000 type: string style: simple requestBody: content: application/x-www-form-urlencoded: encoding: additional_tos_acceptances: explode: true style: deepObject address: explode: true style: deepObject address_kana: explode: true style: deepObject address_kanji: explode: true style: deepObject dob: explode: true style: deepObject documents: explode: true style: deepObject expand: explode: true style: deepObject full_name_aliases: explode: true style: deepObject metadata: explode: true style: deepObject registered_address: explode: true style: deepObject relationship: explode: true style: deepObject verification: explode: true style: deepObject schema: additionalProperties: false $ref: '#/components/schemas/PostAccountsAccountPeoplePersonRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/person' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Update Person tags: - Person - Update x-api-evangelist-processing: ChooseTags: true /v1/accounts/{account}/persons: get: description: >-Returns a list of people associated with the accounts legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
operationId: GetAccountsAccountPersons parameters: - in: path name: account required: true schema: maxLength: 5000 type: string style: simple - description: >- A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list. in: query name: ending_before required: false schema: maxLength: 5000 type: string style: form - 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 - description: >- A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10. in: query name: limit required: false schema: type: integer style: form - description: >- Filters on the list of people returned based on the person's relationship to the account's company. explode: true in: query name: relationship required: false schema: properties: director: type: boolean executive: type: boolean legal_guardian: type: boolean owner: type: boolean representative: type: boolean title: all_people_relationship_specs type: object style: deepObject - description: >- A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list. in: query name: starting_after required: false schema: maxLength: 5000 type: string style: form requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: additionalProperties: false $ref: '#/components/schemas/GetAccountsAccountPersonsRequest' required: false responses: '200': content: application/json: schema: description: '' x-expandableFields: - data $ref: '#/components/schemas/PersonList' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe List Persons tags: - Lists - Persons x-api-evangelist-processing: ChooseTags: true post: description:Creates a new person.
operationId: PostAccountsAccountPersons parameters: - in: path name: account required: true schema: maxLength: 5000 type: string style: simple requestBody: content: application/x-www-form-urlencoded: encoding: additional_tos_acceptances: explode: true style: deepObject address: explode: true style: deepObject address_kana: explode: true style: deepObject address_kanji: explode: true style: deepObject dob: explode: true style: deepObject documents: explode: true style: deepObject expand: explode: true style: deepObject full_name_aliases: explode: true style: deepObject metadata: explode: true style: deepObject registered_address: explode: true style: deepObject relationship: explode: true style: deepObject verification: explode: true style: deepObject schema: additionalProperties: false $ref: '#/components/schemas/PostAccountsAccountPersonsRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/person' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Create Person tags: - Create - Person x-api-evangelist-processing: ChooseTags: true /v1/accounts/{account}/persons/{person}: delete: description: >-Deletes an existing persons relationship to the accounts legal
entity. Any person with a relationship for an account can be deleted
through the API, except if the person is the
account_opener. If your integration is using the
executive parameter, you cannot delete the only verified
executive on file.
Retrieves an existing person.
operationId: GetAccountsAccountPersonsPerson 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: person required: true schema: maxLength: 5000 type: string style: simple requestBody: content: application/x-www-form-urlencoded: encoding: {} schema: additionalProperties: false $ref: '#/components/schemas/GetAccountsAccountPersonsPersonRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/person' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Retrieve Person tags: - Person - Retrieve x-api-evangelist-processing: ChooseTags: true post: description:Updates an existing person.
operationId: PostAccountsAccountPersonsPerson parameters: - in: path name: account required: true schema: maxLength: 5000 type: string style: simple - in: path name: person required: true schema: maxLength: 5000 type: string style: simple requestBody: content: application/x-www-form-urlencoded: encoding: additional_tos_acceptances: explode: true style: deepObject address: explode: true style: deepObject address_kana: explode: true style: deepObject address_kanji: explode: true style: deepObject dob: explode: true style: deepObject documents: explode: true style: deepObject expand: explode: true style: deepObject full_name_aliases: explode: true style: deepObject metadata: explode: true style: deepObject registered_address: explode: true style: deepObject relationship: explode: true style: deepObject verification: explode: true style: deepObject schema: additionalProperties: false $ref: '#/components/schemas/PostAccountsAccountPersonsPersonRequest' required: false responses: '200': content: application/json: schema: $ref: '#/components/schemas/person' description: Successful response. default: content: application/json: schema: $ref: '#/components/schemas/error' description: Error response. summary: Stripe Update Person tags: - Person - Update 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 - Reject x-api-evangelist-processing: ChooseTags: true components: schemas: 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 error: description: An error response from the Stripe API properties: error: $ref: '#/components/schemas/api_errors' required: - error type: object 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 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 external_account: anyOf: - $ref: '#/components/schemas/bank_account' - $ref: '#/components/schemas/card' title: Polymorphic x-resourceId: external_account x-stripeBypassValidation: true 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 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 login_link: description: >- Login Links are single-use login link for an Express account to access their Stripe dashboard. properties: created: description: >- Time at which the object was created. Measured in seconds since the Unix epoch. format: unix-time type: integer object: description: >- String representing the object's type. Objects of the same type share the same value. enum: - login_link type: string url: description: The URL for the login link. maxLength: 5000 type: string required: - created - object - url title: LoginLink type: object x-expandableFields: [] x-resourceId: login_link 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 deleted_person: 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: - person type: string required: - deleted - id - object title: DeletedPerson type: object x-expandableFields: [] x-resourceId: deleted_person tags: - name: Account - name: Accounts - name: Bank - name: Capabilities - name: Capability - name: Create - name: Delete - name: External - name: Link - name: Lists - name: Login - name: Person - name: Persons - name: Reject - name: Retrieve - name: Sessions - name: Update