v2.subaccounts

Create an internal subaccount with company receiving

Explicit opt-in company receiving. Idempotent by platform + environment + external_user_id; different payload returns 409 subaccount_idempotency_conflict. Sandbox simulates without Orion or Stripe writes. Live creates a separate company-owned store; no Horizon seller, managed-seller membership or individual Connect/KYC is created. The company receives distributable funds and handles external user payouts. Currently BRL subaccount stores and one-time checkout sessions only; recurring, split and post-purchase are rejected. Company/provider eligibility must be verified before live enablement. No client-selected platform, owner or Stripe account fields.

post/subaccounts

Request

  • Base URL: https://api.cooud.com/v2
  • URL: https://api.cooud.com/v2/subaccounts
  • Auth: HTTP bearer

Headers

Cooud-Compat-Datestring date required

Required per-request compat-date. Format: ISO calendar date YYYY-MM-DD. Merchants pinned to an older date have their request and response transformed by every gate whose appliesAfter is strictly greater than this date.

Request body

external_user_idstring required
namestring required
currency'BRL' | 'USD' | 'EUR' | 'GBP' | 'CHF' | 'ARS' required

The subaccount store currency, chosen once at creation (the same list POST /v2/accounts accepts in store.currency). Its catalog prices and checkout sessions use this currency; sales are converted by Stripe and settle in BRL to the central receiving company, as in any Cooud store in that currency. It cannot be changed after creation.

contact_emailstring email required

Response

Created or replayed subaccount; inspect state.

idstring required
object'subaccount' required
external_user_idstring required
namestring required
currency'BRL' | 'USD' | 'EUR' | 'GBP' | 'CHF' | 'ARS' required

The subaccount store currency, upper case.

state'provisioning' | 'active' | 'disabled' required
receiving_mode'platform_central' required
payouts_managed_by'platform' required
individual_withdrawals_enabledfalse required
onboarding_requiredfalse required
livemodeboolean required
createdinteger required
request_idstring required

Changes

No recorded changes to this operation across all 1 revision of this API.