chatformdocs
API referenceV1

Connect a Stripe account with a restricted key

Accepts only a restricted key (`rk_test_…` or `rk_live_…`); a full `sk_` secret key is refused with `full_secret_key`. The key is checked by reading the account, creating and immediately expiring a Checkout Session, and creating a webhook endpoint — a missing permission comes back as `missing_permission` with the permission named.

POST
/v1/payment-accounts/stripe

Authorization

AuthorizationBearer <token>

A server-side secret key. Never send one from a browser — a request carrying an Origin header is refused for this reason.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/payment-accounts/stripe" \  -H "Content-Type: application/json" \  -d '{    "restrictedKey": "string"  }'
{  "account": {    "id": "string",    "provider": "cashfree",    "credentialKind": "oauth",    "environment": "test",    "label": "string",    "providerAccountId": "string",    "status": "active",    "lastError": "string",    "currencies": [      "string"    ],    "createdAt": 0,    "formsUsing": 0,    "connectedBy": {      "name": "string",      "email": "string"    },    "isDefault": true  }}