DriveWealth Users API
The Users API from DriveWealth — 3 operation(s) for users.
The Users API from DriveWealth — 3 operation(s) for users.
openapi: 3.0.2
info:
title: DriveWealth Accounts Users API
version: '1.0'
servers:
- url: https://bo-api.drivewealth.io/back-office
description: Sandbox server (Uses test data)
- url: https://bo-api.drivewealth.net/back-office
description: Production Server (Uses LIVE data)
tags:
- name: Users
x-displayName: Users
paths:
/users:
post:
tags:
- Users
summary: Create User
description: Creates a User.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UsersReq'
responses:
'200':
description: Creating a User was Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/UserResponse'
examples: {}
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/users/{userID}:
get:
tags:
- Users
summary: Retrieve User
description: Retrieves a User details by userID.
parameters:
- in: path
name: userID
schema:
type: string
required: true
example: cc07f91b-7ee1-4868-b8fc-823c70a1b932
description: Unique ID of the User to fetch.
responses:
'200':
description: Retrieving a User was Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/FetchUserResponse'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
patch:
tags:
- Users
summary: Update User
description: Updates a User details by userID.
parameters:
- in: path
name: userID
schema:
type: string
required: true
example: cc07f91b-7ee1-4868-b8fc-823c70a1b932
description: Unique ID of the User to update.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Documents'
responses:
'200':
description: Fetching a User is Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/UserObject'
examples:
User Creation:
value:
id: cc07f91b-7ee1-4868-b8fc-823c70a1b932
ackSignedWhen: '2022-12-11T22:28:21.666Z'
addressLine1: 15 Exchange Place
addressLine2: Suite 1000
city: Jersey City
countryID: USA
displayName: JSmith
dob: 2000-12-3
email: jj@drivewealth.dev
firstName: Justin
gender:
name: MALE
languageID: en_US
lastname: Smith
parentIBID:
id: 80f9b672-120d-4b73-9cc9-42fb3262c4b9
name: Tendies Trading Company
phone: '18004612680'
referralCode: 71J000
stateProvince: NJ
wlpID: TTC
zipPostalCode: '94105'
idNo: '****-4444'
status:
name: PENDING
description: User is pending approval.
userType:
name: INDIVIDUAL_TRADER
description: Individual Trader
usCitizen: true
updatedWhen: '2022-12-11T22:28:21.810Z'
brandAmbassador: false
employerBusiness: FINANCE
employementStatus:
name: EMPLOYED
description: Employed
citizenship: US
createdWhen: '2022-12-11T22:28:21.810Z'
marginDefault: 0
maritalStatus:
name: SINGLE
description: Single
ackCustomerAgreement: true
ackFindersFee: false
ackFixedIncomeAgreement: true
ackForeignFindersFee: false
ackJointCustomerAgreement: true
ackJointFindersFee: false
ackJointForeignFindersFee: false
ackJointMarketData: false
ackMarketData: false
ackExtendedHoursAgreement: false
ackOptionsAgreement: true
dependents: 0
termsOfUse: true
director: false
employerCompany: DriveWealth LLC
employerCompanyID: cc07f91b-7ee1-4868-b8fc-823c70a1b932
employerCompanyStartDate: '2014-09-29'
employerCompanyEndDate: '2022-12-25'
employerIsBroker: true
employmentPosition: ENGINEER
employmentYears: 0
jointEmployerIsBroker: false
investmentObjectives:
name: FREQUENT
description: Frequent trader, depending on the market
investmentExperience:
name: YRS_10_
description: 10+ yrs
politicallyExposed: false
riskTolerance: HIGH
userNoteQty: 0
validTaxForm: false
taxTreatyWithUS: true
avatarURL: https://secure.gravatar.com/avatar/2076105f6efe7c11e285add95f514b9a.jpg
annualIncomeRange: $0 - $24,999
ackDisclosureRule14b: true
ackJointDisclosureRule14b: false
networthLiquidRange: $0 - $24,999
networthTotalRange: $0 - $24,999
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/users/{userID}/kyc-status:
get:
tags:
- Users
summary: Retrieve KYC
description: Retrives a User KYC by userID.
parameters:
- in: path
name: userID
schema:
type: string
required: true
example: cc07f91b-7ee1-4868-b8fc-823c70a1b932
description: Unique ID of the User to fetch their profile & kyc status.
responses:
'200':
description: Fetching User's Profile Details & KYC is Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/FetchUserKYCResponse'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
components:
schemas:
email:
type: string
example: jj@drivewealth.dev
description: The user's email address.
Identification_Info_Optional:
type: object
required:
- type
- data
properties:
type:
type: string
example: IDENTIFICATION_INFO
data:
type: object
properties:
value:
type: string
example: '1223334444'
description: The User's national identification number or tax identification number.
type:
type: string
example: SSN
description: The type of national identification number.
enum:
- SSN
- EIN
- FTIN
- FTNLO
citizenship:
type: string
example: USA
description: The country where the User has citizenship.
usTaxPayer:
type: boolean
example: true
description: True, the User is a United States tax payer.
Disclosures_Optional:
type: object
required:
- type
- data
properties:
type:
type: string
example: DISCLOSURES
data:
type: object
properties:
extendedHoursAgreement:
type: boolean
example: false
description: The User accepts DriveWealth's Extended Hours Agreement.
termsOfUse:
type: boolean
example: true
description: The User accepts DriveWealth's Terms of Use.
customerAgreement:
type: boolean
example: true
description: "The User accepts DriveWealth's Customer Agreement. \n\n*⚠ Only for opening regular brokerage accounts.*"
iraAgreement:
type: boolean
example: false
description: "The User accepts DriveWealth's Individual Retirement Account (IRA) Agreement. \n\n*⚠ Only for opening IRA accounts.*"
marginAgreement:
type: boolean
example: false
description: "The User accepts DriveWealth's Margin Agreement. \n\n*⚠ Only for opening Margin (leveraged) accounts.*"
cryptoAgreements:
type: boolean
example: false
description: "The User accepts DriveWealth's Digital Assets Agreement. \n\n*⚠ Only for opening Digital Assets accounts.*"
marketDataAgreement:
type: boolean
example: true
description: The User accepts DriveWealth's Market Data Agreement.
optionsAgreement:
type: boolean
example: true
description: True, if the User accepts DriveWealth's Options trading Agreement.
rule14b:
type: boolean
example: true
description: The User accepts DriveWealth's Rule 14b1(c).
foreignFindersFee:
type: boolean
example: false
finderFee:
type: boolean
example: false
privacyPolicy:
type: boolean
example: true
description: The User accepts DriveWealth's Privacy Policy.
dataSharing:
type: boolean
example: true
description: The User accepts DriveWealth's Data Sharing Policy.
signedBy:
type: string
example: Justin Smith
description: The User's digital signature (full name).
firstName:
type: string
example: Justin
description: The first name of the user.
userTaxIDLastFour:
type: string
example: '****-4444'
description: The user's last 4 digits of their national identification number or tax identification number.
Address_Info:
type: object
required:
- type
- data
properties:
type:
type: string
description: The type of data object.
example: ADDRESS_INFO
enum:
- BASIC_INFO
- IDENTIFICATION_INFO
- TAX_INFO
- PERSONAL_INFO
- ADDRESS_INFO
- EMPLOYMENT_INFO
- INVESTOR_PROFILE_INFO
- DISCLOSURES
- MARGIN_DISCLOSURE
- CUSTODIAN_INFO
- DIRECTOR_INFO
- INSTITUTIONAL_INFO
- TRUST_INFO
data:
type: object
required:
- street1
- city
- province
- postalCode
- country
properties:
street1:
$ref: '#/components/schemas/userStreet1'
street2:
$ref: '#/components/schemas/userStreet2'
city:
$ref: '#/components/schemas/userCity'
province:
$ref: '#/components/schemas/userProvince'
postalCode:
$ref: '#/components/schemas/userPostalCode'
country:
$ref: '#/components/schemas/userCountry'
userStatus:
type: string
example: PENDING
description: The user's current status.
enum:
- PENDING
- APPROVED
userTaxIDType:
type: string
example: SSN
description: The type of national identification number or tax identification number.
enum:
- SSN
- EIN
- FTIN
- FTNLO
- '*'
Personal_Info:
type: object
required:
- type
- data
properties:
type:
type: string
description: The type of data object.
example: PERSONAL_INFO
enum:
- BASIC_INFO
- IDENTIFICATION_INFO
- TAX_INFO
- PERSONAL_INFO
- ADDRESS_INFO
- EMPLOYMENT_INFO
- INVESTOR_PROFILE_INFO
- DISCLOSURES
- MARGIN_DISCLOSURE
- CUSTODIAN_INFO
- DIRECTOR_INFO
- INSTITUTIONAL_INFO
- TRUST_INFO
data:
type: object
required:
- birthDay
- birthMonth
- birthYear
- politicallyExposedNames
properties:
birthDay:
type: number
example: 3
description: The User's born day.
birthMonth:
type: number
example: 12
description: The User's born month.
birthYear:
type: number
example: 2000
description: The User's born year.
politicallyExposedNames:
type: string
example: Nancy Pelosi
description: The names of the people whom are political exposes, separated by a comma.
irsBackupWithholdings:
type: boolean
example: false
description: True, if the type of account will be a retirement account.
gender:
type: string
example: Male
description: The gender of the User.
enum:
- Male
- Female
martial:
$ref: '#/components/schemas/userMartialStatus'
KYC_Verification_Info:
type: object
properties:
type:
type: string
example: KYC_VERIFICATION_INFO
data:
type: object
properties:
verification:
type: string
example: APPROVED
enum:
- APPROVED
- FAILED
verificationIDType:
type: string
example: DRIVER_LICENSE
enum:
- DRIVER_LICENSE
- NATIONAL_ID
- RESIDENCE_PERMIT
- PASSPORT
- VISA
- TAX_ID
- VOTER_ID
- WORK_PERMIT
- TRUST
- TRUST_CORP
- CORPORATE
verificationFullName:
type: string
example: Justin Smith
description: The name of the customer that was passed during the KYC verification.
verificationTimestamp:
type: string
example: '2022-12-22T16:04:46.724Z'
description: The ISO 8601 timestamp of when the KYC verification was completed by the partner.
verificationTransactionID:
type: string
example: ''
description: A unique identifier passed to reference the KYC verification was completed by the partner.
customField1:
example: customFieldValue1
customField2:
example: customFieldValue2
customField3:
example: customFieldValue3
customField4:
example: customFieldValue4
customField5:
example: customFieldValue5
userID:
type: string
example: cc07f91b-7ee1-4868-b8fc-823c70a1b932
description: A unique identifier created for each User on DriveWealth's platform.
phoneNumber:
type: string
example: '18004612680'
description: The phone number of the user.
investmenetsSuitability:
type: object
properties:
experience:
type: string
example: LIMITED
description: Trading experience level.
enum:
- LIMITED
- NONE
- GOOD
- EXCELLENT
years:
type: string
example: YRS_10_PLUS
description: Number of years equity trading experience.
enum:
- YRS_1_2
- YRS_3_5
- YRS_6_9
- YRS_10_PLUS
tradesPerYear:
type: string
example: YRS_10_14
description: Total number of trades per year.
enum:
- YRS_0_9
- YRS_10_14
- YRS_15_24
- YRS_25_74
- YRS_75_PLUS
averageTradeSize:
type: string
example: AVG_0_9999
description: Average per trade size.
enum:
- AVG_0_9999
- AVG_10000_24999
- AVG_5000_PLUS
AccountsRequest:
type: object
properties:
id:
type: string
example: 8b8ba3fd-74dc-45dc-b2dc-7de683bd713c.1556222995391
description: The User's unqiue account identifier.
accountNo:
type: string
example: DWBG000052
description: The User's unqiue account number, that is human readable.
nickname:
type: string
example: Justin's Self Directed Account
accountStatus:
type: object
properties:
name:
type: string
example: PENDING
description: The status of the User's account.
description:
type: string
example: Pending
description: A custom description about status of the User's account.
accountType:
type: string
example: LIVE
description: The type of account that has been created.
accountManagementType:
type: string
example: SELF
description: The type of account who has trading authority.
enum:
- SELF
- ADVISORY
- RIA_MANAGED
- CUSTODIAL
- CUSTODIAL_MANAGED
- RESERVED
- HSA_SELF
- HSA_ADVISORY
- HSA_RIA_MANAGED
tradingType:
type: string
example: CASH
description: The type of trading ocurring in the account.
enum:
- CASH
- MARGIN
- CRYPTO
leverage:
type: number
example: 1
description: The leverage that is applied to the User's account.
Tax_Info:
type: object
required:
- type
- data
properties:
type:
type: string
description: The type of data object.
example: TAX_INFO
enum:
- BASIC_INFO
- IDENTIFICATION_INFO
- TAX_INFO
- PERSONAL_INFO
- ADDRESS_INFO
- EMPLOYMENT_INFO
- INVESTOR_PROFILE_INFO
- DISCLOSURES
- MARGIN_DISCLOSURE
- CUSTODIAN_INFO
- DIRECTOR_INFO
- INSTITUTIONAL_INFO
- TRUST_INFO
data:
type: object
required:
- taxTreatyWithUS
properties:
taxTreatyWithUS:
type: boolean
example: true
description: True, if the User's country has a tax treaty with the United States.
Basic_Info_Optional:
type: object
required:
- type
- data
properties:
type:
type: string
example: BASIC_INFO
data:
type: object
properties:
firstName:
type: string
example: Justin
description: The first name of the User.
lastName:
type: string
example: Smith
description: The last (family) name of the User.
country:
type: string
example: USA
description: The country where the User is residing.
phone:
type: string
example: '18004612680'
description: The phone number of the User.
emailAddress:
type: string
example: jj@drivewealth.dev
description: The email address of the User.
language:
type: string
example: en_US
enum:
- en_US
- zh_CN
- es_ES
- pt_BR
description: The lanaguage the User read/speaks.
FetchUserResponse:
type: object
properties:
user:
$ref: '#/components/schemas/UserObject'
userTaxID:
type: string
example: '1223334444'
description: The user's national identification number or tax identification number.
Disclosures:
type: object
required:
- type
- data
properties:
type:
type: string
example: DISCLOSURES
data:
type: object
required:
- termsOfUse
- marketDataAgreement
- rule14b
- privacyPolicy
- dataSharing
properties:
extendedHoursAgreement:
type: boolean
example: false
description: True, if the User accepts DriveWealth's Extended Hours Agreement.
termsOfUse:
type: boolean
example: true
description: True, if the User accepts DriveWealth's Terms of Use.
customerAgreement:
type: boolean
example: true
description: True, if the User accepts DriveWealth's Customer Agreement. *⚠ Only for opening regular brokerage accounts.*
iraAgreement:
type: boolean
example: false
description: True, if the User accepts DriveWealth's Individual Retirement Account (IRA) Agreement. *⚠ Only for opening IRA accounts.*
marginAgreement:
type: boolean
example: false
description: True, if the User accepts DriveWealth's Margin Agreement. *⚠ Only for opening Margin (leveraged) accounts.*
cryptoAgreements:
type: boolean
example: false
description: True, if the User accepts DriveWealth's Digital Assets Agreement.
marketDataAgreement:
type: boolean
example: true
description: True, if the User accepts DriveWealth's Market Data Agreement.
optionsAgreement:
type: boolean
example: true
description: True, if the User accepts DriveWealth's Options trading Agreement.
rule14b:
type: boolean
example: true
description: True, if the User accepts DriveWealth's Rule 14b1(c).
finderFee:
type: boolean
example: false
description: True, if the User accepts DriveWealth Finder's Fee Disclosure. *⚠ Only required for foreign finder relationships.*
privacyPolicy:
type: boolean
example: true
description: True, if the User accepts DriveWealth's Privacy Policy.
dataSharing:
type: boolean
example: true
description: True, if the User accepts DriveWealth's Data Sharing Policy.
signedBy:
type: string
example: Justin Smith
description: The User's digital signature (full name).
userCity:
type: string
example: Jersey City
description: The user's current city, where they live.
Identification_Info:
type: object
required:
- type
- data
properties:
type:
type: string
description: The type of data object.
example: IDENTIFICATION_INFO
enum:
- BASIC_INFO
- IDENTIFICATION_INFO
- TAX_INFO
- PERSONAL_INFO
- ADDRESS_INFO
- EMPLOYMENT_INFO
- INVESTOR_PROFILE_INFO
- DISCLOSURES
- MARGIN_DISCLOSURE
- CUSTODIAN_INFO
- DIRECTOR_INFO
- INSTITUTIONAL_INFO
- TRUST_INFO
data:
type: object
required:
- value
- type
- citizenship
- usTaxPayer
properties:
value:
$ref: '#/components/schemas/userTaxID'
type:
$ref: '#/components/schemas/userTaxIDType'
citizenship:
$ref: '#/components/schemas/userCountry'
description: The country where the User has citizenship.
usTaxPayer:
type: boolean
example: true
description: True, the User is a United States tax payer.
Investor_Profile_Info_Optional:
type: object
required:
- type
- data
properties:
type:
type: string
example: INVESTOR_PROFILE_INFO
data:
type: object
properties:
investmentExperience:
type: string
example: YRS_10_
description: The User's current investment expertise.
enum:
- NONE
- YRS_1_2
- YRS_3_5
- YRS_5_10
- YRS_10_
annualIncome:
type: number
example: 1000000
description: The User's current annalized income over one year.
networthTotal:
type: number
example: 2500000
description: The user's current networth. This calculation is the User's assets - liabilities.
riskTolerance:
type: string
example: HIGH
description: The User's risk ceiling.
enum:
- LOW
- MODERATE
- SPECULATION
- HIGH
investmentObjectives:
type: string
example: LONG_TERM
description: The User's current investment objectives.
enum:
- LONG_TERM
- INFREQUENT
- FREQUENT
- ACTIVE_DAILY
- NEW
networthLiquid:
type: number
example: 300000
description: The user's liquid net worth. The amount of cash or near cash equivalents of the User's net worth.
dependents:
type: number
example: '4'
description: Total number of dependents the account holder has.
suitabilityEquities:
$ref: '#/components/schemas/investmenetsSuitability'
description: An object containing required fields for options approval
suitabilityOptions:
$ref: '#/components/schemas/investmenetsSuitability'
description: An object containing required fields for options approval
userProvince:
type: string
example: NJ
description: The user's current state/province/territory, where they live.
Employment_Info:
type: object
required:
- type
- data
properties:
type:
type: string
example: EMPLOYMENT_INFO
data:
type: object
required:
- status
properties:
status:
type: string
example: EMPLOYED
description: The User current employment status.
enum:
- EMPLOYED
- RETIRED
- STUDENT
- UNEMPLOYED
- SELF_EMPLOYED
company:
type: string
example: DriveWealth LLC
description: "The User's current employer name. \n\n *⚠️ Only required when status equal to EMPLOYED or SELF_EMPLOYED*"
companyID:
type: string
example: cc07f91b-7ee1-4868-b8fc-823c70a1b932
description: "A unique identifier created for each Institution or entity on DriveWealth's platform. \n\n *⚠️ Required when 'company' is not provided*"
from:
type: string
example: '2014-09-29'
description: The User's start date at the employment.
to:
type: string
example: '2022-12-25'
description: The User's end date at the employment.
type:
type: string
example: FINANCE
description: "The User's current employer type. \n\n *⚠️ Only required when status equal to EMPLOYED or SELF_EMPLOYED*"
enum:
- AGRICULTURE
- MINING
- UTILITIES
- CONSTRUCTION
- MANUFACTURING
- WHOLESALE
- RETAIL
- TRANSPORT
- INFORMATION
- FINANCE
- REAL_ESTATE
- PROFESSIONAL
- MANAGEMENT
- EDUCATION
- HEALTH
- ART
- FOOD
- PUBLIC
- WASTE
position:
type: string
example: ENGINEER
description: " The User's current role at the employment. \n\n *⚠️ Only required when status equal to EMPLOYED or SELF_EMPLOYED*"
enum:
- ACCOUNTANT
- ACTUARY
- ADJUSTER
- ADMINISTRATOR
- ADVERTISER
- AGENT
- ATC
- AMBASSADOR
- ANALYST
- APPRAISER
- ARCHITECT
- ARTIST
- ASSISTANT
- ATHLETE
- ATTENDANT
- ATTORNEY
- AUCTIONEER
- AUDITOR
- BARBER
- BROKER
- BUSINESS_EXEC
- BUSINESS_OWNER
- CAREGIVER
- CARPENTER
- CASHIER
- CHEF
- CHIROPRACTOR
- CIVIL
- CLERGY
- CLERK
- COMPLIANCE
- CONSULTANT
- CONTRACTOR
- COUNSELOR
- CUSTOMER_SERVICE
- DEALER
- DEVELOPER
- DISTRIBUTOR
- DOCTOR
- DRIVER
- ENGINEER
- EXAMINER
- EXTERMINATOR
- FACTORY
- FARMER
- FINANCIAL
- FISHERMAN
- FLIGHT
- HR
- IMPEX
- INSPECTOR
- INTERN
- INVESTMENT
- INVESTOR
- IT
- JANITOR
- JEWELER
- LABORER
- LANDSCAPER
- LENDING
- MANAGER
- MECHANIC
- MILITARY
- MORTICIAN
- NURSE
- NUTRITIONIST
- OFFICE
- PHARMACIST
- PHYSICAL
- PILOT
- POLICE
- POLITICIAN
- PM
- REP
- RESEARCHER
- SAILOR
- SALES
- SCIENTIST
- SEAMSTRESS
- SECURITY
- SOCIAL
- TEACHER
- TECHNICIAN
- TELLER
- TRADESPERSON
- TRAINER
- TRANSPORTER
- UNDERWRITER
- WRITER
broker:
type: boolean
example: true
description: "True, if the User's current employer is broker. \n\n *⚠️ Only required when status equal to EMPLOYED or SELF_EMPLOYED*"
directorOf:
type: string
example: AAPL, SQ
description: The company name, ticker of the company; if the user is a director or owns more than 10% of a publicly traded company.
Cust
# --- truncated at 32 KB (72 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/drivewealth/refs/heads/main/openapi/drivewealth-users-api-openapi.yml