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 Single User Auth Token
      • Create Multiple User Auth Tokens
      • Get End User(s)
      • Get EDD Requests
      • Get EDD Prompts
      • Create EDD Responses
      • Submit Documents
        • Submit Documents (SFTP)
      • 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 14 hours 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.

first_name required

string

User's first name.

last_name required

string

User's last name.

email required

string

phone_country_code required

string

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 Beneficial Owner parameters in beneficial_owners[]

Individual Parameters

Parameter
Type
Description

dob required

string

residential_country_code required

string

residential_address required

string

Street address of primary residence. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.

residential_city required

string

City of primary residence. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.

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

residential_postal_code required

string

The postal code for the associated residential_address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.

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 Parameters

Parameter
Type
Description

entity_name required

string

The legal business entity name

organization_type required

string

The type of business organization.

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

registration_number required

string

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

principal_place_country required

string

principal_place_state required

string

State or province of the business’ principal place of business operations. If principal_place_country = US, must be a valid 2 char U.S. state code (e.g. CA)

principal_place_address required

string

Street address of the business’ principal place of business operations. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.

principal_place_city required

string

City of the business’ principal place of business operations. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.

principal_place_postal_code required

string

The postal code for the associated principal_place_address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.

incorporation_country required

string

incorporation_state required

string

State the entity was incorporated. If incorporation_country_code = US, must be a valid 2 char U.S. state code (e.g. CA)

incorporation_date required

string

accredited_investor required

boolean

Whether the business qualifies as an accredited investor.

non_agent_intermediary required

boolean

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

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

description required

string

A description of the business

website

string

URL to the business’s website

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

phone_number required

string

dob required

string

address_country_code required

string

address_subdivision required

string

An ISO 3166-2 subdivision code of primary residence. Related terms would be "state", "province", "prefecture", "zone", "subdivision", etc. If residential_country_code = US, must be a valid 2 char state code (e.g. CA)

address_street1 required

string

Street address of owner's primary residence. A string with at least one non-whitespace alphabetical character, with a max length of 80 characters.

address_city required

string

City of the owner's primary residence. A string with at least one non-whitespace alphabetical character, with a max length of 100 characters.

address_postal_code required

string

The postal code for the owner's associated address. Between 2 and 10 alphanumeric characters. For US-based addresses this must be 5 numeric digits.

id_type required

string

Form of identification associated with the id_number below. Possible values: ssn (if residential_country_code = US), passport

id_country_code required

string

id_number required

string

Social Security Number (SSN) or Passport number of the user’s identification.

Example Requests

Individual Accounts

#individual account
curl -X POST \
  -H 'Content-type: application/json' \
  -H 'Authorization: Bearer ${ENTERPRISE_API_KEY}' \
  --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['ENTERPRISE_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 ${ENTERPRISE_API_KEY}' \
  --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_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['ENTERPRISE_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 email address. Must not have leading or trailing spaces and must be compliant.

The country code of the phone number.

The user's phone number in (e.g. +14155552671).

object {}

object {}

[]

User's date of birth in the format YYYY-MM-DD ().

The country code of the primary residence (e.g. US)

The country code of the business’ principal place of business operations (e.g. US).

The country code where the entity was incorporated (e.g. US)

Date that the company was created in the format YYYY-MM-DD ().

The email address of beneficial owner. Must not have leading or trailing spaces and must be compliant.

A valid phone number for the beneficial owner in (e.g. +14155552671).

The date of birth of beneficial owner in the format YYYY-MM-DD ().

The country code of the owner's primary residence (e.g. US)

The country code of the issuing country of the id_type. If id_type = ssn, must be US

the interactive demo
RFC 3696
ISO 3166-1 alpha-2
E.164 format
Individual
Business
Beneficial Owners
RFC 3339 Section 5.6
ISO 3166-1 alpha-2
ISO 3166-1 alpha-2
ISO 3166-1 alpha-2
RFC 3339 Section 5.6
RFC 3696
E.164 format
RFC 3339 Section 5.6
ISO 3166-1 alpha-2
ISO 3166-1 alpha-2