Stripe Connect API
Stripe Connect is a set of programmable APIs and tools that lets you facilitate payments on your software platform, build a marketplace, and pay out sellers or service providers globally.
Stripe Connect is a set of programmable APIs and tools that lets you facilitate payments on your software platform, build a marketplace, and pay out sellers or service providers globally.
openapi: 3.1.0
info:
title: Stripe Connect API
description: >-
Stripe Connect is a set of programmable APIs and tools that lets you
facilitate payments on your software platform, build a marketplace, and
pay out sellers or service providers globally.
contact:
email: [email protected]
name: Stripe Dev Platform Team
url: https://stripe.com
termsOfService: https://stripe.com/us/terms/
version: '2024-06-20'
x-stripeSpecFilename: spec3
security:
- basicAuth: []
- bearerAuth: []
servers:
- url: https://api.stripe.com/
paths:
/v1/accounts:
get:
summary: Stripe List Connected Accounts
description: <p>Returns a list of accounts connected to your platform via Connect.</p>
operationId: GetAccounts
parameters:
- name: ending_before
in: query
required: false
schema:
type: string
maxLength: 5000
- name: limit
in: query
required: false
schema:
type: integer
- name: starting_after
in: query
required: false
schema:
type: string
maxLength: 5000
- name: expand
in: query
required: false
explode: true
schema:
type: array
items:
type: string
maxLength: 5000
style: deepObject
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
object:
type: string
enum:
- list
data:
type: array
items:
$ref: '#/components/schemas/account'
has_more:
type: boolean
url:
type: string
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
post:
summary: Stripe Create Connected Account
description: <p>Creates a new connected account with your platform.</p>
operationId: PostAccounts
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
type:
type: string
enum:
- custom
- express
- standard
country:
type: string
email:
type: string
capabilities:
type: object
business_type:
type: string
enum:
- company
- government_entity
- individual
- non_profit
business_profile:
type: object
properties:
mcc:
type: string
name:
type: string
url:
type: string
support_email:
type: string
support_phone:
type: string
support_url:
type: string
company:
type: object
individual:
type: object
metadata:
type: object
additionalProperties:
type: string
tos_acceptance:
type: object
properties:
date:
type: integer
ip:
type: string
user_agent:
type: string
settings:
type: object
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/account'
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
/v1/accounts/{account}:
get:
summary: Stripe Retrieve Connected Account
description: <p>Retrieves the details of an account.</p>
operationId: GetAccountsAccount
parameters:
- name: account
in: path
required: true
schema:
type: string
maxLength: 5000
- name: expand
in: query
required: false
explode: true
schema:
type: array
items:
type: string
maxLength: 5000
style: deepObject
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/account'
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
post:
summary: Stripe Update Connected Account
description: <p>Updates a connected account by setting the values of the parameters passed.</p>
operationId: PostAccountsAccount
parameters:
- name: account
in: path
required: true
schema:
type: string
maxLength: 5000
requestBody:
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
business_profile:
type: object
business_type:
type: string
capabilities:
type: object
company:
type: object
email:
type: string
individual:
type: object
metadata:
type: object
additionalProperties:
type: string
settings:
type: object
tos_acceptance:
type: object
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/account'
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
delete:
summary: Stripe Delete Connected Account
description: <p>Deletes a connected account. You can only delete accounts that your platform has created using Connect.</p>
operationId: DeleteAccountsAccount
parameters:
- name: account
in: path
required: true
schema:
type: string
maxLength: 5000
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
id:
type: string
object:
type: string
deleted:
type: boolean
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
/v1/accounts/{account}/reject:
post:
summary: Stripe Reject Connected Account
description: <p>Rejects a connected account and disables the ability to make charges or receive payouts.</p>
operationId: PostAccountsAccountReject
parameters:
- name: account
in: path
required: true
schema:
type: string
maxLength: 5000
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- reason
properties:
reason:
type: string
description: The reason for rejecting the account.
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/account'
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
/v1/account_links:
post:
summary: Stripe Create Account Link
description: <p>Creates an AccountLink object for Connect onboarding.</p>
operationId: PostAccountLinks
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- account
- refresh_url
- return_url
- type
properties:
account:
type: string
maxLength: 5000
refresh_url:
type: string
return_url:
type: string
type:
type: string
enum:
- account_onboarding
- account_update
collect:
type: string
enum:
- currently_due
- eventually_due
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/account_link'
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
/v1/account_sessions:
post:
summary: Stripe Create Account Session
description: <p>Creates an AccountSession object for embedded Connect components.</p>
operationId: PostAccountSessions
requestBody:
required: true
content:
application/x-www-form-urlencoded:
schema:
type: object
required:
- account
- components
properties:
account:
type: string
maxLength: 5000
components:
type: object
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/account_session'
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
/v1/accounts/{account}/login_links:
post:
summary: Stripe Create Login Link
description: <p>Creates a single-use login link for a connected account to access their Stripe dashboard.</p>
operationId: PostAccountsAccountLoginLinks
parameters:
- name: account
in: path
required: true
schema:
type: string
maxLength: 5000
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/login_link'
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
/v1/accounts/{account}/capabilities:
get:
summary: Stripe List Account Capabilities
description: <p>Returns a list of capabilities associated with the account.</p>
operationId: GetAccountsAccountCapabilities
parameters:
- name: account
in: path
required: true
schema:
type: string
maxLength: 5000
responses:
'200':
description: Successful response.
content:
application/json:
schema:
type: object
properties:
object:
type: string
enum:
- list
data:
type: array
items:
$ref: '#/components/schemas/capability'
has_more:
type: boolean
url:
type: string
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
tags:
- Connect
components:
schemas:
account:
type: object
properties:
id:
type: string
maxLength: 5000
object:
type: string
enum:
- account
business_profile:
type:
- object
- 'null'
business_type:
type:
- string
- 'null'
capabilities:
type:
- object
- 'null'
charges_enabled:
type: boolean
company:
type:
- object
- 'null'
country:
type:
- string
- 'null'
created:
type: integer
default_currency:
type:
- string
- 'null'
details_submitted:
type: boolean
email:
type:
- string
- 'null'
external_accounts:
type:
- object
- 'null'
individual:
type:
- object
- 'null'
metadata:
type:
- object
- 'null'
additionalProperties:
type: string
payouts_enabled:
type: boolean
requirements:
type:
- object
- 'null'
settings:
type:
- object
- 'null'
tos_acceptance:
type:
- object
- 'null'
type:
type:
- string
- 'null'
enum:
- custom
- express
- standard
required:
- id
- object
account_link:
type: object
properties:
object:
type: string
enum:
- account_link
created:
type: integer
expires_at:
type: integer
url:
type: string
required:
- object
- created
- expires_at
- url
account_session:
type: object
properties:
object:
type: string
enum:
- account_session
account:
type: string
client_secret:
type: string
components:
type: object
expires_at:
type: integer
livemode:
type: boolean
required:
- object
- account
- client_secret
- components
- expires_at
- livemode
login_link:
type: object
properties:
object:
type: string
enum:
- login_link
created:
type: integer
url:
type: string
required:
- object
- created
- url
capability:
type: object
properties:
id:
type: string
maxLength: 5000
object:
type: string
enum:
- capability
account:
type: string
requested:
type: boolean
requested_at:
type:
- integer
- 'null'
requirements:
type:
- object
- 'null'
status:
type: string
enum:
- active
- disabled
- inactive
- pending
- unrequested
required:
- id
- object
- account
- requested
- status
error:
type: object
properties:
error:
type: object
properties:
type:
type: string
message:
type: string
code:
type: string
param:
type: string
securitySchemes:
basicAuth:
type: http
scheme: basic
bearerAuth:
type: http
scheme: bearer
tags:
- name: Connect