Skip to main content
Create an investor for your end user. This one call collects identity, contact, tax, regulatory disclosures, and signed agreements. The body is flat — all fields sit at the top level. Make sure your shell is set up from the overview.

Create the investor

curl -X POST "$BASE_URL/investors" \
  -H "Authorization: Basic $AUTH" \
  -H "Content-Type: application/json" \
  -d '{
    "account_type": "individual",
    "management_type": "self_directed",
    "first_name": "Jane",
    "last_name": "Doe",
    "date_of_birth": "1990-05-15",
    "tax_id": "987-65-4321",
    "tax_id_type": "SSN",
    "tax_id_country": "US",
    "country_of_citizenship": "US",
    "country_of_birth": "US",
    "country_of_tax_residence": "US",
    "funding_source": ["employment_income"],
    "annual_income": { "min": "100000", "max": "150000" },
    "liquid_net_worth": { "min": "50000", "max": "100000" },
    "email": "jane.doe@example.com",
    "phone": "+14155551234",
    "employment_status": "employed",
    "address": {
      "street": ["456 Oak Avenue"],
      "city": "San Francisco",
      "state": "CA",
      "postal_code": "94102",
      "country": "US"
    },
    "is_control_person": false,
    "is_affiliated_exchange_or_finra": false,
    "is_politically_exposed": false,
    "immediate_family_exposed": false,
    "signed_agreements": [
      { "type": "investor_agreement", "signed_at": "2026-07-01T10:30:00Z", "ip_address": "203.0.113.42" },
      { "type": "margin_disclosure_acknowledged", "signed_at": "2026-07-01T10:30:00Z", "ip_address": "203.0.113.42" }
    ]
  }'

Response

{
  "id": "inv_01j9x8m2k7qpzwv3t5r6y8n0ab",
  "object": "investor",
  "account_type": "individual",
  "management_type": "self_directed",
  "first_name": "Jane",
  "last_name": "Doe",
  "email": "jane.doe@example.com",
  "status": "onboarding",
  "created": 1751365800
}
Store the id. Every subsequent call on this path uses it:
INVESTOR_ID="inv_01j9x8m2k7qpzwv3t5r6y8n0ab"

Signed agreements

signed_agreements is required and must contain at least the two US agreements:
TypeWhen required
investor_agreementAlways. Do not send it twice.
margin_disclosure_acknowledgedAlways.
w8ben_certificationAdd it when country_of_tax_residence is not US.
Each entry carries type, signed_at (ISO 8601), and the end user’s ip_address at the time they accepted.
US tax residents must include state and postal_code in address. Set tax_id_type to the code that matches the ID: SSN, ITIN, EIN, SIN, NINO, TFN, VAT, TIN, or OTHER.
If is_control_person or is_affiliated_exchange_or_finra is true, include the affiliated_company object with name, address, and compliance_email. ticker is also required for control persons.
For investor types, lifecycle states, and the full field reference, see Investors and the API reference.
Next → Verify identity.