Skip to documentation
Billing & payoutsStripe Connect

Stripe Connect

Methods, permissions, request fields and response schemas for stripe connect.

Read and search

Retrieve current records, history and status.

Read Stripe Connect readinessConnection/verification/charges/payout readiness state.GET/payments/connect/status
Token scope payouts:readActor permission ownerAction type read
Explore this request

Edit example fields and validate the request against its schema.

What you receive

Connection/verification/charges/payout readiness state.

Request example · cURL

Replace example IDs and values. Supply the token from your secret store. Each intended write uses one stable $ACTION_KEY.

curl -X GET "$BASE/payments/connect/status" \
  -H "Authorization: Bearer $ALLPROFILES_API_TOKEN"
Success response schema · HTTP 200
{
  "application/json": {
    "schema": {
      "type": "object",
      "properties": {
        "status": {
          "type": [
            "string",
            "null"
          ],
          "enum": [
            "pending",
            "active",
            "restricted",
            "disconnected",
            null
          ]
        },
        "accountId": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 0,
          "maxLength": 5000
        },
        "earnings": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "available": {
              "type": "integer"
            },
            "pending": {
              "type": "integer"
            },
            "refundedTotalCents": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "recentPayouts": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 5000
                  },
                  "amount": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "status": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 5000
                  },
                  "arrivalDate": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "failureCode": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "minLength": 0,
                    "maxLength": 5000
                  },
                  "failureMessage": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "minLength": 0,
                    "maxLength": 5000
                  }
                },
                "required": [
                  "id",
                  "amount",
                  "status",
                  "arrivalDate",
                  "failureCode",
                  "failureMessage"
                ],
                "additionalProperties": true
              }
            },
            "recentRefunds": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 5000
                  },
                  "amount": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 9007199254740991
                  },
                  "currency": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 5000
                  },
                  "status": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "minLength": 0,
                    "maxLength": 5000
                  },
                  "reason": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "minLength": 0,
                    "maxLength": 5000
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "chargeId": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "minLength": 0,
                    "maxLength": 5000
                  }
                },
                "required": [
                  "id",
                  "amount",
                  "currency",
                  "status",
                  "reason",
                  "createdAt",
                  "chargeId"
                ],
                "additionalProperties": true
              }
            }
          },
          "required": [
            "available",
            "pending",
            "refundedTotalCents",
            "recentPayouts",
            "recentRefunds"
          ],
          "additionalProperties": true
        },
        "bankAccount": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "bankName": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 0,
              "maxLength": 5000
            },
            "last4": {
              "type": "string",
              "minLength": 0,
              "maxLength": 5000
            },
            "currency": {
              "type": "string",
              "minLength": 0,
              "maxLength": 5000
            }
          },
          "required": [
            "bankName",
            "last4",
            "currency"
          ],
          "additionalProperties": true
        },
        "accountName": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 0,
          "maxLength": 5000
        },
        "requirements": {
          "type": [
            "object",
            "null"
          ],
          "properties": {
            "fields": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 0,
                "maxLength": 5000
              }
            },
            "currentDeadline": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            },
            "disabledReason": {
              "type": [
                "string",
                "null"
              ],
              "minLength": 0,
              "maxLength": 5000
            },
            "errors": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "code": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 5000
                  },
                  "reason": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 5000
                  },
                  "requirement": {
                    "type": "string",
                    "minLength": 0,
                    "maxLength": 5000
                  }
                },
                "required": [
                  "code",
                  "reason",
                  "requirement"
                ],
                "additionalProperties": true
              }
            },
            "pastDue": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 0,
                "maxLength": 5000
              }
            },
            "pendingVerification": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 0,
                "maxLength": 5000
              }
            },
            "futureFields": {
              "type": "array",
              "items": {
                "type": "string",
                "minLength": 0,
                "maxLength": 5000
              }
            },
            "futureDeadline": {
              "type": [
                "string",
                "null"
              ],
              "format": "date-time"
            }
          },
          "required": [
            "fields",
            "currentDeadline",
            "disabledReason",
            "errors",
            "pastDue",
            "pendingVerification",
            "futureFields",
            "futureDeadline"
          ],
          "additionalProperties": true
        },
        "chargesEnabled": {
          "type": "boolean"
        },
        "payoutsEnabled": {
          "type": "boolean"
        },
        "detailsSubmitted": {
          "type": "boolean"
        },
        "pendingReview": {
          "type": "boolean"
        }
      },
      "required": [
        "status",
        "accountId",
        "earnings",
        "bankAccount",
        "accountName",
        "requirements",
        "chargesEnabled",
        "payoutsEnabled",
        "detailsSubmitted",
        "pendingReview"
      ],
      "additionalProperties": true
    }
  }
}
Errors and recovery
400
Invalid JSON, request fields, query, path identifier or missing Idempotency-Key.
401
Missing, invalid, revoked or expired organization API token; its issuing actor must still be the current organization owner.
403
Token scope or actor capability denied, disabled/banned account, or action unavailable.
404
Unknown route or resource not accessible in the bound organization. Cross-tenant resources are not enumerated.
409
Conflicting profile/rental state, duplicate resource, idempotency payload mismatch or operation still in progress.
410
event_cursor_expired: the event cursor is behind retained history. Reconcile current resources and start from the supplied recovery cursor.
422
Business validation/moderation rejected the operation. CHAT_MESSAGE_BLOCKED was not delivered.
429
API rate/concurrency limit exceeded; use backoff and Retry-After when present.
500
Internal operation error. Sensitive implementation details are not returned. Investigate using the request ID before repeating a write.
503
Provider or configuration unavailable; uncertain writes must retain the same Idempotency-Key.

These are documented API errors. The local sandbox checks schema fields only and does not test authorization, moderation or provider behavior.

Financial fields named ...Cents or ...InCents use integer cents. Path fields and nested constraints are shown above and in the downloadable OpenAPI contract.

Read Stripe Connect transactionsStripe transaction page.GET/payments/connect/transactions
Token scope payouts:readActor permission ownerAction type read

Pagination: limit 1–100; cursor is the provider startingAfter identifier, not a UUID.

Query parameters

FieldTypeDescription and constraints
limitOptionalintegerMinimum 1 · Maximum 100
cursorOptionalstringAt least 1 characters · At most 200 characters
Explore this request

Edit example fields and validate the request against its schema.

What you receive

Stripe transaction page.

Request example · cURL

Replace example IDs and values. Supply the token from your secret store. Each intended write uses one stable $ACTION_KEY.

curl -X GET "$BASE/payments/connect/transactions?limit=20" \
  -H "Authorization: Bearer $ALLPROFILES_API_TOKEN"
Success response schema · HTTP 200
{
  "application/json": {
    "schema": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 0,
                "maxLength": 5000
              },
              "type": {
                "type": "string",
                "minLength": 0,
                "maxLength": 5000
              },
              "createdAt": {
                "type": "string",
                "format": "date-time"
              },
              "description": {
                "type": [
                  "string",
                  "null"
                ],
                "minLength": 0,
                "maxLength": 5000
              },
              "amount": {
                "type": "integer"
              },
              "fee": {
                "type": "integer"
              },
              "net": {
                "type": "integer"
              },
              "currency": {
                "type": "string",
                "minLength": 0,
                "maxLength": 5000
              },
              "status": {
                "type": "string",
                "minLength": 0,
                "maxLength": 5000
              },
              "sourceId": {
                "type": [
                  "string",
                  "null"
                ],
                "minLength": 0,
                "maxLength": 5000
              }
            },
            "required": [
              "id",
              "type",
              "createdAt",
              "description",
              "amount",
              "fee",
              "net",
              "currency",
              "status",
              "sourceId"
            ],
            "additionalProperties": true
          }
        },
        "hasMore": {
          "type": "boolean"
        },
        "cursor": {
          "type": [
            "string",
            "null"
          ],
          "minLength": 0,
          "maxLength": 5000
        }
      },
      "required": [
        "items",
        "hasMore",
        "cursor"
      ],
      "additionalProperties": true
    }
  }
}
Errors and recovery
400
Invalid JSON, request fields, query, path identifier or missing Idempotency-Key.
401
Missing, invalid, revoked or expired organization API token; its issuing actor must still be the current organization owner.
403
Token scope or actor capability denied, disabled/banned account, or action unavailable.
404
Unknown route or resource not accessible in the bound organization. Cross-tenant resources are not enumerated.
409
Conflicting profile/rental state, duplicate resource, idempotency payload mismatch or operation still in progress.
410
event_cursor_expired: the event cursor is behind retained history. Reconcile current resources and start from the supplied recovery cursor.
422
Business validation/moderation rejected the operation. CHAT_MESSAGE_BLOCKED was not delivered.
429
API rate/concurrency limit exceeded; use backoff and Retry-After when present.
500
Internal operation error. Sensitive implementation details are not returned. Investigate using the request ID before repeating a write.
503
Provider or configuration unavailable; uncertain writes must retain the same Idempotency-Key.

These are documented API errors. The local sandbox checks schema fields only and does not test authorization, moderation or provider behavior.

Financial fields named ...Cents or ...InCents use integer cents. Path fields and nested constraints are shown above and in the downloadable OpenAPI contract.

Create and import

Add records, prepare imports or start a new setup.

Start Stripe Connect onboarding{accountId:string}. Creates or reuses the organization's Stripe account. A human completes identity/business verification through the embedded account session; this call does not return an onboarding URL or complete verification.POST/payments/connect/onboard
Token scope payouts:writeActor permission ownerAction type external

This action needs separately enabled financial automation. Check deployed capabilities before using it; its scope may be unavailable in the token picker.

Send Idempotency-Key. Retry the same intended action with the same key and exact payload to retrieve its saved result.

An authorized person completes the provider verification or signing step in the interactive app.

Request body

FieldTypeDescription and constraints
businessNameRequiredstringAt least 2 characters · At most 200 characters
countryOptionalstringAt least 2 characters · At most 2 characters
Explore this request

Edit example fields and validate the request against its schema.

What you receive

{accountId:string}. Creates or reuses the organization's Stripe account. A human completes identity/business verification through the embedded account session; this call does not return an onboarding URL or complete verification.

Request example · cURL

Replace example IDs and values. Supply the token from your secret store. Each intended write uses one stable $ACTION_KEY.

curl -X POST "$BASE/payments/connect/onboard" \
  -H "Authorization: Bearer $ALLPROFILES_API_TOKEN" \
  -H "Idempotency-Key: $ACTION_KEY" \
  -H "Content-Type: application/json" \
  --data '{"businessName":"Example Organization","country":"US"}'
Full JSON request schema
{
  "type": "object",
  "properties": {
    "businessName": {
      "type": "string",
      "minLength": 2,
      "maxLength": 200
    },
    "country": {
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    }
  },
  "required": [
    "businessName"
  ],
  "additionalProperties": false
}
Success response schema · HTTP 201
{
  "application/json": {
    "schema": {
      "type": "object",
      "properties": {
        "accountId": {
          "type": "string",
          "minLength": 0,
          "maxLength": 5000
        }
      },
      "required": [
        "accountId"
      ],
      "additionalProperties": true
    }
  }
}
Errors and recovery
400
Invalid JSON, request fields, query, path identifier or missing Idempotency-Key.
401
Missing, invalid, revoked or expired organization API token; its issuing actor must still be the current organization owner.
403
Token scope or actor capability denied, disabled/banned account, or action unavailable.
404
Unknown route or resource not accessible in the bound organization. Cross-tenant resources are not enumerated.
409
Conflicting profile/rental state, duplicate resource, idempotency payload mismatch or operation still in progress.
410
event_cursor_expired: the event cursor is behind retained history. Reconcile current resources and start from the supplied recovery cursor.
422
Business validation/moderation rejected the operation. CHAT_MESSAGE_BLOCKED was not delivered.
429
API rate/concurrency limit exceeded; use backoff and Retry-After when present.
500
Internal operation error. Sensitive implementation details are not returned. Investigate using the request ID before repeating a write.
503
Provider or configuration unavailable; uncertain writes must retain the same Idempotency-Key.

These are documented API errors. The local sandbox checks schema fields only and does not test authorization, moderation or provider behavior.

Financial fields named ...Cents or ...InCents use integer cents. Path fields and nested constraints are shown above and in the downloadable OpenAPI contract.

Create an embedded Stripe account sessionEphemeral account session for the authenticated owner's interactive Stripe settings. Treat the returned client secret as sensitive; never put it in bot logs.POST/payments/connect/account-session
Token scope payouts:writeActor permission ownerAction type write

This action needs separately enabled financial automation. Check deployed capabilities before using it; its scope may be unavailable in the token picker.

Send Idempotency-Key. Retry the same intended action with the same key and exact payload to retrieve its saved result.

An authorized person completes the provider verification or signing step in the interactive app.

Explore this request

Edit example fields and validate the request against its schema.

What you receive

Ephemeral account session for the authenticated owner's interactive Stripe settings. Treat the returned client secret as sensitive; never put it in bot logs.

Request example · cURL

Replace example IDs and values. Supply the token from your secret store. Each intended write uses one stable $ACTION_KEY.

curl -X POST "$BASE/payments/connect/account-session" \
  -H "Authorization: Bearer $ALLPROFILES_API_TOKEN" \
  -H "Idempotency-Key: $ACTION_KEY"
Success response schema · HTTP 201
{
  "application/json": {
    "schema": {
      "type": "object",
      "properties": {
        "clientSecret": {
          "type": "string",
          "minLength": 0,
          "maxLength": 5000
        }
      },
      "required": [
        "clientSecret"
      ],
      "additionalProperties": true
    }
  }
}
Errors and recovery
400
Invalid JSON, request fields, query, path identifier or missing Idempotency-Key.
401
Missing, invalid, revoked or expired organization API token; its issuing actor must still be the current organization owner.
403
Token scope or actor capability denied, disabled/banned account, or action unavailable.
404
Unknown route or resource not accessible in the bound organization. Cross-tenant resources are not enumerated.
409
Conflicting profile/rental state, duplicate resource, idempotency payload mismatch or operation still in progress.
410
event_cursor_expired: the event cursor is behind retained history. Reconcile current resources and start from the supplied recovery cursor.
422
Business validation/moderation rejected the operation. CHAT_MESSAGE_BLOCKED was not delivered.
429
API rate/concurrency limit exceeded; use backoff and Retry-After when present.
500
Internal operation error. Sensitive implementation details are not returned. Investigate using the request ID before repeating a write.
503
Provider or configuration unavailable; uncertain writes must retain the same Idempotency-Key.

These are documented API errors. The local sandbox checks schema fields only and does not test authorization, moderation or provider behavior.

Financial fields named ...Cents or ...InCents use integer cents. Path fields and nested constraints are shown above and in the downloadable OpenAPI contract.

Lifecycle and actions

Manage transitions, delivery and provider workflows.

Request a Stripe payoutStripe payout result from available balance. This moves funds and requires explicit withdrawal scope.POST/payments/connect/payout
Token scope payouts:withdrawActor permission ownerAction type financial

This action needs separately enabled financial automation. Check deployed capabilities before using it; its scope may be unavailable in the token picker.

Send Idempotency-Key. Retry the same intended action with the same key and exact payload to retrieve its saved result.

Explore this request

Edit example fields and validate the request against its schema.

What you receive

Stripe payout result from available balance. This moves funds and requires explicit withdrawal scope.

Request example · cURL

Replace example IDs and values. Supply the token from your secret store. Each intended write uses one stable $ACTION_KEY.

curl -X POST "$BASE/payments/connect/payout" \
  -H "Authorization: Bearer $ALLPROFILES_API_TOKEN" \
  -H "Idempotency-Key: $ACTION_KEY"
Success response schema · HTTP 201
{
  "application/json": {
    "schema": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "minLength": 0,
          "maxLength": 5000
        },
        "amount": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "arrivalDate": {
          "type": "string",
          "format": "date-time"
        }
      },
      "required": [
        "id",
        "amount",
        "arrivalDate"
      ],
      "additionalProperties": true
    }
  }
}
Errors and recovery
400
Invalid JSON, request fields, query, path identifier or missing Idempotency-Key.
401
Missing, invalid, revoked or expired organization API token; its issuing actor must still be the current organization owner.
403
Token scope or actor capability denied, disabled/banned account, or action unavailable.
404
Unknown route or resource not accessible in the bound organization. Cross-tenant resources are not enumerated.
409
Conflicting profile/rental state, duplicate resource, idempotency payload mismatch or operation still in progress.
410
event_cursor_expired: the event cursor is behind retained history. Reconcile current resources and start from the supplied recovery cursor.
422
Business validation/moderation rejected the operation. CHAT_MESSAGE_BLOCKED was not delivered.
429
API rate/concurrency limit exceeded; use backoff and Retry-After when present.
500
Internal operation error. Sensitive implementation details are not returned. Investigate using the request ID before repeating a write.
503
Provider or configuration unavailable; uncertain writes must retain the same Idempotency-Key.

These are documented API errors. The local sandbox checks schema fields only and does not test authorization, moderation or provider behavior.

Financial fields named ...Cents or ...InCents use integer cents. Path fields and nested constraints are shown above and in the downloadable OpenAPI contract.

Remove and disconnect

Remove a record, revoke access or end a connection.

Disconnect Stripe ConnectDisconnection result. May stop receiving organization payouts.POST/payments/connect/disconnect
Token scope payouts:writeActor permission ownerAction type destructive

This action needs separately enabled financial automation. Check deployed capabilities before using it; its scope may be unavailable in the token picker.

Send Idempotency-Key. Retry the same intended action with the same key and exact payload to retrieve its saved result.

Explore this request

Edit example fields and validate the request against its schema.

What you receive

Disconnection result. May stop receiving organization payouts.

Request example · cURL

Replace example IDs and values. Supply the token from your secret store. Each intended write uses one stable $ACTION_KEY.

curl -X POST "$BASE/payments/connect/disconnect" \
  -H "Authorization: Bearer $ALLPROFILES_API_TOKEN" \
  -H "Idempotency-Key: $ACTION_KEY"
Success response schema · HTTP 201
{
  "application/json": {
    "schema": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "additionalProperties": true
    }
  }
}
Errors and recovery
400
Invalid JSON, request fields, query, path identifier or missing Idempotency-Key.
401
Missing, invalid, revoked or expired organization API token; its issuing actor must still be the current organization owner.
403
Token scope or actor capability denied, disabled/banned account, or action unavailable.
404
Unknown route or resource not accessible in the bound organization. Cross-tenant resources are not enumerated.
409
Conflicting profile/rental state, duplicate resource, idempotency payload mismatch or operation still in progress.
410
event_cursor_expired: the event cursor is behind retained history. Reconcile current resources and start from the supplied recovery cursor.
422
Business validation/moderation rejected the operation. CHAT_MESSAGE_BLOCKED was not delivered.
429
API rate/concurrency limit exceeded; use backoff and Retry-After when present.
500
Internal operation error. Sensitive implementation details are not returned. Investigate using the request ID before repeating a write.
503
Provider or configuration unavailable; uncertain writes must retain the same Idempotency-Key.

These are documented API errors. The local sandbox checks schema fields only and does not test authorization, moderation or provider behavior.

Financial fields named ...Cents or ...InCents use integer cents. Path fields and nested constraints are shown above and in the downloadable OpenAPI contract.

Reset Stripe Connect setupReset connection setup; a human may need to complete onboarding again.POST/payments/connect/reset
Token scope payouts:writeActor permission ownerAction type destructive

This action needs separately enabled financial automation. Check deployed capabilities before using it; its scope may be unavailable in the token picker.

Send Idempotency-Key. Retry the same intended action with the same key and exact payload to retrieve its saved result.

An authorized person completes the provider verification or signing step in the interactive app.

Explore this request

Edit example fields and validate the request against its schema.

What you receive

Reset connection setup; a human may need to complete onboarding again.

Request example · cURL

Replace example IDs and values. Supply the token from your secret store. Each intended write uses one stable $ACTION_KEY.

curl -X POST "$BASE/payments/connect/reset" \
  -H "Authorization: Bearer $ALLPROFILES_API_TOKEN" \
  -H "Idempotency-Key: $ACTION_KEY"
Success response schema · HTTP 201
{
  "application/json": {
    "schema": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        }
      },
      "required": [
        "success"
      ],
      "additionalProperties": true
    }
  }
}
Errors and recovery
400
Invalid JSON, request fields, query, path identifier or missing Idempotency-Key.
401
Missing, invalid, revoked or expired organization API token; its issuing actor must still be the current organization owner.
403
Token scope or actor capability denied, disabled/banned account, or action unavailable.
404
Unknown route or resource not accessible in the bound organization. Cross-tenant resources are not enumerated.
409
Conflicting profile/rental state, duplicate resource, idempotency payload mismatch or operation still in progress.
410
event_cursor_expired: the event cursor is behind retained history. Reconcile current resources and start from the supplied recovery cursor.
422
Business validation/moderation rejected the operation. CHAT_MESSAGE_BLOCKED was not delivered.
429
API rate/concurrency limit exceeded; use backoff and Retry-After when present.
500
Internal operation error. Sensitive implementation details are not returned. Investigate using the request ID before repeating a write.
503
Provider or configuration unavailable; uncertain writes must retain the same Idempotency-Key.

These are documented API errors. The local sandbox checks schema fields only and does not test authorization, moderation or provider behavior.

Financial fields named ...Cents or ...InCents use integer cents. Path fields and nested constraints are shown above and in the downloadable OpenAPI contract.