Post Subaccounts
AuthorizationBearer <token>Scope: subaccounts:write
Idempotency-Key*stringUnique key to make the create idempotent across retries.
application/json- body
Create a subaccount. entity_type and name are required. Business-only and individual-only profile fields are rejected with 400 when sent for the wrong entity_type; none of the profile fields are echoed back in the response.
entity_type*stringThe kind of subaccount.
"business""individual"name*stringLegal or full name.
alias?stringOptional display alias.
email?stringemailphone?stringE.164 phone number.
country?stringISO 3166-1 alpha-2 country code.
city?stringstate?stringaddress?stringpostcode?stringtax_id_number?stringtax_id_type?stringTax ID type code (see the reference tax-id-types endpoint).
local_id_number?stringlocal_id_type?stringcompany_type?stringBusiness only.
"llc""corporation""partnership""sole_proprietorship""non_profit"incorporation_date?stringBusiness only; must be in the past (YYYY-MM-DD).
dateindustry?stringBusiness only.
describe_business_model?stringBusiness only.
describe_revenue_sources?stringBusiness only.
describe_source_funds?stringIndividual only.
describe_services_provided?stringBusiness only.
describe_account_purpose?stringBusiness only.
describe_clients?stringBusiness only.
annual_income?stringDecimal string, >= 0.
net_total_assets?stringDecimal string, >= 0.
estimated_processing_volume?stringDecimal string, >= 0.
list_client_territories?stringBusiness only; free text.
website_url?stringwebsite_platform?string"shopify""woocommerce""custom"terms_conditions_url?stringBusiness only.
privacy_policy_url?stringBusiness only.
occupation?stringIndividual only.
is_intermediary?booleanIdempotent replay: the Idempotency-Key matched an existing subaccount, which is returned unchanged.
application/json- response
id*stringSubaccount ID (prefix sub_).
account_id*stringOwning account ID (prefix acc_).
entity_type*string"business""individual"name*stringalias?stringemail?stringphone?stringcountry?stringcity?stringstate?stringaddress?stringpostcode?stringtax_id_number?stringtax_id_type?stringlocal_id_number?stringlocal_id_type?stringis_active*booleankyc_status*string"pending""approved""rejected""expired""info_requested"kyc_daily_limit?stringDecimal string.
kyc_weekly_limit?stringDecimal string.
kyc_monthly_limit?stringDecimal string.
created_at*stringdate-timeupdated_at*stringdate-timeinactivated_at?|Set when the subaccount is inactivated.
date-timecurl -X POST 'https://api.betaramps.com/subaccounts' \ -H 'Idempotency-Key: string' \ -H 'Content-Type: application/json' \ -d '{ "entity_type": "business", "name": "Acme Payments LLC", "email": "ops@acmepayments.example", "phone": "+15125550199", "country": "US", "city": "Austin", "state": "TX", "address": "100 Congress Ave", "postcode": "78701", "tax_id_number": "47-1234567", "tax_id_type": "ein", "company_type": "llc", "incorporation_date": "2019-04-12", "industry": "software", "describe_business_model": "SaaS billing platform for online merchants", "estimated_processing_volume": "250000", "website_url": "https://acmepayments.example"}'{ "id": "sub_0192f4e3-8a9b-7c6d-5e4f-3a2b1c0d9e8f", "account_id": "acc_0192f4e0-1a2b-7c3d-8e4f-5a6b7c8d9e01", "entity_type": "business", "name": "Acme Payments LLC", "email": "ops@acmepayments.example", "phone": "+15125550199", "country": "US", "city": "Austin", "state": "TX", "address": "100 Congress Ave", "postcode": "78701", "tax_id_number": "47-1234567", "tax_id_type": "ein", "is_active": true, "kyc_status": "pending", "kyc_daily_limit": "500", "kyc_weekly_limit": "500", "kyc_monthly_limit": "500", "created_at": "2026-10-30T12:00:00Z", "updated_at": "2026-10-30T12:00:00Z"}