sFOX API
Sign InOpen Account
Connect API
Connect API
  • Introduction
    • Welcome
    • Getting Started
    • Resources
      • Terminology
      • Systems & Operations
      • Integration Options
    • Guides
      • End User Onboarding & KYC
        • Individuals
        • Businesses
        • Enhanced Due Diligence
  • REST API
    • REST Endpoints
    • Authentication
    • End Users
      • Create End User Account
      • Request Verification Code
      • Confirm Verification Code
      • Create User Auth Token(s)
      • Get End User(s)
      • Get EDD Requests
      • Get EDD Prompts
      • Create EDD Responses
        • Uploading Files as Responses
      • Submit Documents
      • Deactivate User
    • Payments
      • Create Bank Account (Plaid)
      • Create Bank Account
      • Get Bank Account
      • Get Plaid Processors
      • Amend Plaid Processors
      • Verify Bank Account
      • Delete Bank Account
      • Get Wire Instructions
      • Get ACH Agreement Status
      • Request ACH Onboarding
      • Get ACH Deposit Limit
    • Withdrawals
      • Confirm Withdrawal
      • Resend Confirmation Code
      • Cancel Withdrawal
    • Transfers
      • Create Transfer
      • Confirm Transfer
      • Resend Confirmation Code
      • Cancel Transfer
      • Get Transfer Permissions
      • Get Transfer History
    • Monetization
      • Create Setting
      • Update Setting
      • Delete Setting
      • Get Settings
      • Get Permissions
      • Get Monetization History
  • WebSocket API
    • Connecting
    • Authentication
    • Subscribing & Unsubscribing
    • Message Format
    • End Users
      • Onboarding
      • Balances
      • Orders
      • Trades
    • Market Data
      • Order Book
      • Trades
      • Ticker
  • Single Sign-On
    • Overview
      • IdP Initiated SSO
    • IdP Data
    • SAML Response Data
  • Errors
    • Error Codes
Powered by GitBook
On this page
  • Request
  • Body Parameters
  • Example Requests
  • Response
  • Response Body
  • Responses
  • Interactive Demo
  1. REST API
  2. End Users

Create End User Account

PreviousEnd UsersNextRequest Verification Code

Last updated 1 day ago

POST

https://api.sfox.com/v1/enterprise/register-account

Create (register) an sFOX account for an end user.


Creating an account is the first step in the end user onboarding flow. In this request, you will provide identification information for your user, whether that user is an individual or a business. sFOX will then register an account on behalf of this end user.

Collect this information from the end user within your platform and submit it to sFOX. Refer to this example onboarding flow in .

Request

Body Parameters

Parameter
Type
Description

account_type required

string

Type of sFOX account to create. Possible values: individual, corporation

account_role required

string

The primary role of this account. Possible values: client, advisor

user_id required

string

Unique ID for this user defined by you that will serve as the shared identifier for this account between you and sFOX

advisor_user_id

string

The user_id of an existing account with account_role = advisor, if applicable. Defining the advisor_user_id for an account ties this account to the advisor account.

email required

string

User's email address.

first_name required

string

User's first name.

last_name required

string

User's last name.

phone_country_code required

string

Country code of the user's phone number. Must be a valid 2 character country code. e.g. If the user's phone_number is a United States (US) phone number then phone_country_code should = US.

phone_number required

string

account_purpose required

string

Primary purpose or use case for the account. Possible values for account_type = individual : Trading, Selling only, Other, Online purchases, Online payments, Investing, Buying only, Business

Possible values for account_type = corporation : Treasury Management, Operating, Liquidating Crypto Assets, Investment Fund, Cross Border Payments, Arbitrage Trading, Other

individual

Required if account_type = individual. Include the following parameters in individual[]

business

Required if account_type = corporation . Include the following parameters in business[]

beneficial_owners

Required if account_type = corporation . Include the following parameters in beneficial_owners[]

Individual Account Parameters

Parameter
Type
Description

dob required

string

User's date of birth

residential_country_code required

string

User's country of residence e.g. US

residential_address required

string

User's street address of primary residence

residential_city required

string

City of primary residence

residential_state required

string

State or province of primary residence. If residential_country_code = US, must be a valid 2 char state code e.g. CA

id_type required

string

Form of identification associated with the id_number below. If residential_country_code <> US, must be passport. Else, passport or ssn

id_number required

string

Social Security Number or Passport Number of the user’s identification.

id_country_code required

string

Issuing country of the identification. If id_type = ssn, must be US

Business Account Parameters

Parameter
Type
Description

entity_name required

string

The legal business entity name

incorporation_country required

string

Country code the entity was incorporated

incorporation_state required

string

State the entity was incorporated

incorporation_date required

string

Date that the company was created

organization_type required

string

The type of business organization.

Possible values: Trust, Sole Proprietor, LLC, Partnership, Corporation, Other

business_type required

string

The type of business this entity conducts.

Possible values: Hedge Fund, Private Equity Fund, Mutual Fund, Proprietary Trading Firm, Personal Investment Company, Individual Retirement Account Holding Company, Money Service Business (MSB), Financial Institution Brokerage, Agency OTC Brokerage, Principle OTC Brokerage, Retail Brokerage, Robo-Advisor, or FX/CFD Provider, Fund of Funds, Pension Fund, Endowment, Exchange Traded Fund, Fund Administrator, Professional Service Provider (Accounting or Law Firm), Software Vendor, Platform Provider, Data Aggregator, Charity Organization or Non-profit, Crypto Exchange, Digital Currency Mining Firm, Merchant

registration_number required

string

The business’s TIN (tax identification number) for US businesses or registration number

website

string

URL to the business’s website

description required

string

A description of the business

accredited_investor required

string

Whether the business has accredited investor status

non_agent_intermediary required

string

Whether the business has is acting as a non-agent intermediary

principal_place_country required

string

Country code of the business’ principal place of business operations

principal_place_state required

string

State/province of the business’ principal place of business operations

principal_place_address required

string

Street address of the business’ principal place of business operations

principal_place_city required

string

City of the business’ principal place of business operations

postal_code required

string

Postal code of the business’ principal place of business operations

Beneficial Owner Parameters

Parameter
Type
Description

first_name required

string

The first name of the beneficial owner

middle_name

string

The middle name of the beneficial owner

last_name required

string

The last name of the beneficial owner

email required

string

The email address of beneficial owner

phone_number required

string

The phone number of beneficial owner

dob required

string

The date of birth of beneficial owner

residential_country_code required

string

User's country of residence e.g. US

residential_address required

string

User's street address of primary residence

residential_city required

string

City of primary residence

residential_state required

string

State or province of primary residence. If residential_country_code = US, must be a valid 2 char state code e.g. CA

id_type required

string

Form of identification associated with the id_number below. If residential_country_code <> US, must be passport. Else, passport or ssn

id_number required

string

Social Security Number or Passport Number of the user’s identification

id_country_code required

string

Issuing country of the identification. If id_type = ssn, must be US

Example Requests

Individual Accounts

#individual account
curl -X POST \
  -H 'Content-type: application/json' \
  -H 'Authorization: Bearer ${API_TOKEN}' \
  --data '{
            "account_type": "individual",
            "account_role": "client",
            "account_purpose": "Investing",
            "first_name": "Sean",
            "last_name": "Fox",
            "email": "sfox_connect@email.com",
            "phone_country_code": "US",
            "phone_number": "+12223334444",
            "user_id": "client_account_1",
            "advisor_user_id": "advisor_account_1",
            "individual": 
                  {
                      "dob": "1990-10-15",
                      "residential_country_code": "US",
                      "residential_address": "123 sFOX Lane",
                      "residential_city": "Los Angeles",
                      "residential_state": "CA",
                      "residential_postal_code": "90403",
                      "id_type": "passport",
                      "id_number": "123456789",
                      "id_country_code": "US"
        }
}'  \
  'https://api.sfox.com/v1/enterprise/register-account'
// individual
const axios = require("axios");

let data = JSON.stringify({
            "account_type": "individual",
            "account_role": "client",
            "account_purpose": "Investing",
            "first_name": "Sean",
            "last_name": "Fox",
            "email": "sfox_connect@email.com",
            "phone_country_code": "US",
            "phone_number": "+12223334444",
            "user_id": "client_account_1",
            "advisor_user_id": "advisor_account_1",
            "individual": {
                "dob": "1990-10-15",
                "residential_country_code": "US",
                "residential_address": "123 sFOX Lane",
                "residential_city": "Los Angeles",
                "residential_state": "CA",
                "residential_postal_code": "90403",
                "id_type": "passport",
                "id_number": "123456789",
                "id_country_code": "US"
            }
});

let config = {
  method: "post",
  url: "https://api.sfox.com/v1/enterprise/register-account",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.ENTERPRISE_API_KEY}`,
  },
  data: data,
};

axios(config)
  .then((response) => {
    console.log(response.status);
    console.log(response.data);
  })
  .catch((error) => {
    console.error(error.response.status);
    console.error(error.response.data);
  });
# individual account
import requests
import os

data = requests.post(
  "https://api.sfox.com/v1/enterprise/register-account",
  headers={
    "Authorization": f"Bearer {os.environ['API_KEY']}",
  },
  json={
  "account_type": "individual",
  "account_role": "client",
  "account_purpose": "Investing",
  "first_name": "Sean",
  "last_name": "Fox",
  "email": "sfox_connect@email.com",
  "phone_country_code": "US",
  "phone_number": "+12223334444",
  "user_id": "client_account_1",
  "advisor_user_id": "advisor_account_1",
  "individual": {
      "dob": "1990-10-15",
      "residential_country_code": "US",
      "residential_address": "123 sFOX Lane",
      "residential_city": "Los Angeles",
      "residential_state": "CA",
      "residential_postal_code": "90403",
      "id_type": "passport",
      "id_number": "123456789",
      "id_country_code": "US"
  }
})
print(data.status_code)
print(data.json())

Business Accounts

#Business account
curl -X POST \
  -H 'Content-type: application/json' \
  -H 'Authorization: Bearer ${API_TOKEN}' \
  --data '{
    "account_type": "corporation",
    "first_name": "Sean",
    "last_name": "Fox",
    "email": "sfox_connect@email.com",
    "phone_country_code": "US",
    "phone_number": "+12223334444",
    "account_role": "advisor",
    "user_id": "advisor_account_1",
    "account_purpose": "Operating",
    "business": 
        {
            "entity_name": "Sean Fox Hedge Fund",
            "incorporation_country": "US",
            "incorporation_state": "WY",
            "incorporation_date": "2020-10-15",
            "organization_type": "LLC",
            "business_type": "Hedge Fund",
            "registration_number": 123456789,
            "description": "Crypto hedge fund",
            "accredited_investor": true,
            "non_agent_intermediary": true,
            "principal_place_country": "US",
            "principal_place_state": "CA",
            "principal_place_address": "1234 Flower Street",
            "principal_place_city": "Los Angeles",
            "principal_place_postal_code": "90403"
        },
    "beneficial_owners": 
        [
            {
                "first_name": "Sean",
                "middle_name": "",
                "last_name": "Fox",
                "email": "sfox_connect@email.com",
                "dob": "1990-10-15",
                "phone_number": "+12223334444",
                "id_type": "ssn",
                "id_issuing_country": "US",
                "address_street1": "123 sFOX Lane",
                "address_street2": "",
                "address_city": "Los Angeles",
                "address_subdivision": "CA",
                "address_country_code": "US",
                "address_postal_code": "90403",
                "ssn": "123456789"
            }
        ]
}'  \
  'https://api.sfox.com/v1/enterprise/register-account'
// corporation
const axios = require("axios");

let data = JSON.stringify({
    "account_type": "corporation",
    "first_name": "Sean",
    "last_name": "Fox",
    "email": "sfox_connect@email.com",
    "phone_country_code": "US",
    "phone_number": "+12223334444",
    "account_role": "advisor",
    "user_id": "advisor_account_1",
    "account_purpose": "Operating",
    "business": {
        "entity_name": "Sean Fox Hedge Fund",
        "incorporation_country": "US",
        "incorporation_state": "WY",
        "incorporation_date": "2020-10-15",
        "organization_type": "LLC",
        "business_type": "Hedge Fund",
        "registration_number": 123456789,
        "description": "Crypto hedge fund",
        "accredited_investor": true,
        "non_agent_intermediary": true,
        "principal_place_country": "US",
        "principal_place_state": "CA",
        "principal_place_address": "1234 Flower Street",
        "principal_place_city": "Los Angeles",
        "principal_place_postal_code": "90403"
    },
    "beneficial_owners": 
        [
            {
                "first_name": "Sean",
                "middle_name": "",
                "last_name": "Fox",
                "email": "sfox_connect@email.com",
                "dob": "1990-10-15",
                "phone_number": "+12223334444",
                "id_type": "ssn",
                "id_issuing_country": "US",
                "address_street1": "123 sFOX Lane",
                "address_street2": "",
                "address_city": "Los Angeles",
                "address_subdivision": "CA",
                "address_country_code": "US",
                "address_postal_code": "90403",
                "ssn": "123456789"
            }
        ]
});

let config = {
  method: "post",
  url: "https://api.sfox.com/v1/enterprise/register-account",
  headers: {
    "Content-Type": "application/json",
    Authorization: `Bearer ${process.env.ENTERPRISE_API_KEY}`,
  },
  data: data,
};

axios(config)
  .then((response) => {
    console.log(response.status);
    console.log(response.data);
  })
  .catch((error) => {
    console.error(error.response.status);
    console.error(error.response.data);
  });
# corporate account
import requests
import os

data = requests.post(
  "https://api.sfox.com/v1/enterprise/register-account",
  headers={
    "Authorization": f"Bearer {os.environ['API_KEY']}",
  },
  json={
    "account_type": "corporation",
    "first_name": "Sean",
    "last_name": "Fox",
    "email": "sfox_connect@email.com",
    "phone_country_code": "US",
    "phone_number": "+12223334444",
    "account_role": "advisor",
    "user_id": "advisor_account_1",
    "account_purpose": "Operating",
    "business": {
        "entity_name": "Sean Fox Hedge Fund",
        "incorporation_country": "US",
        "incorporation_state": "WY",
        "incorporation_date": "2020-10-15",
        "organization_type": "LLC",
        "business_type": "Hedge Fund",
        "registration_number": 123456789,
        "description": "Crypto hedge fund",
        "accredited_investor": true,
        "non_agent_intermediary": true,
        "principal_place_country": "US",
        "principal_place_state": "CA",
        "principal_place_address": "1234 Flower Street",
        "principal_place_city": "Los Angeles",
        "principal_place_postal_code": "90403"
    },
    "beneficial_owners": 
        [
            {
                "first_name": "Sean",
                "middle_name": "",
                "last_name": "Fox",
                "email": "sfox_connect@email.com",
                "dob": "1990-10-15",
                "phone_number": "+12223334444",
                "id_type": "ssn",
                "id_issuing_country": "US",
                "address_street1": "123 sFOX Lane",
                "address_street2": "",
                "address_city": "Los Angeles",
                "address_subdivision": "CA",
                "address_country_code": "US",
                "address_postal_code": "90403",
                "ssn": "123456789"
            }
        ]
})
print(data.status_code)
print(data.json())

Response

Response Body

Key
Description

user_id

The shared unique identifier for the account as defined by you in the request

status

The verification status of the account

  • Unsupported

  • Pending

  • Verified

requirements

The remaining requirements to complete account verification

Responses

202 Accepted
{
    "data": {
        "user_id": "advisor_account_1",
        "status": "Pending",
        "requirements": {
            "email": true,
            "sms": true
        }
    }
}

Interactive Demo

The user's phone number in : <+><1-3 digit numerical country code><phone number including area code> e.g. +14155552671

Object of

Object of

Array of objects

the interactive demo
E.164 format
individual account parameters
business account parameters
beneficial owner