DriveWealth AutoPilot API
The AutoPilot API from DriveWealth — 4 operation(s) for autopilot.
The AutoPilot API from DriveWealth — 4 operation(s) for autopilot.
openapi: 3.0.2
info:
title: DriveWealth Accounts AutoPilot 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: AutoPilot
x-displayName: AutoPilot
paths:
/managed/autopilot/{partnerID}:
post:
deprecated: true
tags:
- AutoPilot
parameters:
- in: path
name: partnerID
schema:
type: string
required: true
example: 66304da9-3h6f-2234-935f-ac6b7933d706
description: This is the parentIBID or userID of the registered investment advisor.
summary: Create Autopilot Run
description: Create an Autopilot Run.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/autopilotReq'
required: true
responses:
'200':
description: Creating an Autopilot Run was Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/autopilotRes'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/managed/autopilot/{rebalanceRunID}:
get:
deprecated: true
tags:
- AutoPilot
parameters:
- in: path
name: rebalanceRunID
schema:
type: string
required: true
example: ria_rebalance_ebf7e878-e2d6-4b3d-a333-b8ff05b92b83
description: The unique re-balance run identifier `rebalanceRunID` associated with a specific re-balance.
summary: Retrieve Autopilot Run
description: Retrieves an Autopilot Run by rebalanceRunID.
responses:
'200':
description: Retrieving an Autopilot Run by rebalanceRunID was Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/runStatusRes'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/accounts/{accountID}/portfolio:
get:
deprecated: true
tags:
- AutoPilot
parameters:
- in: path
name: accountID
schema:
$ref: '#/components/schemas/accountID'
required: true
summary: Retrieve Portfolio by Account
description: Retrieve Portfolio details by accountID.
responses:
'200':
description: Fetching Portfolio details was Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/PortfolioStatusRes'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
/users/{userID}/managed/autopilot:
get:
deprecated: true
tags:
- AutoPilot
summary: List AutoPilot Runs by Advisor
description: Fetches a list of autopilot runs by userID.
parameters:
- in: path
name: userID
schema:
$ref: '#/components/schemas/userID'
required: true
example: cc07f91b-7ee1-4868-b8fc-823c70a1b932
description: The User's unique identifier.
- in: query
name: from
schema:
type: string
required: false
example: '2022-12-08T18:36:40.609Z'
description: The date and time in which to start from.
- in: query
name: to
schema:
type: string
required: false
example: '2022-12-25T18:36:40.609Z'
description: The date and time in which to end at.
- in: query
name: direction
schema:
type: string
enum:
- NEXT
- PREVIOUS
required: false
example: NEXT
- in: query
name: offset
schema:
type: string
required: false
example: '2022-12-08T18:36:40.609Z'
responses:
'200':
description: Fetching A List Of Autopilot Runs By userID was Successful.
content:
application/json:
schema:
$ref: '#/components/schemas/AutoPilotRunsByUserID'
security:
- bearerAuth: []
dwAppKey: []
- sessionToken: []
dwAppKey: []
components:
schemas:
fundID:
type: string
example: fund_4c16152c-f8e7-4a5a-af6b-c36f4e5cc6e7
description: The unique identifier of a fund.
runStatusRes:
type: object
properties:
id:
type: string
example: ria_rebalance_ebf7e764-e2d6-4b3d-a333-b8ff05b92b89
description: The unique re-balance run identifier `rebalanceRunID` associated with a specific re-balance.
riaID:
type: string
example: 66304da9-3h6f-2234-935f-ac6b7933d706
description: This is the parentIBID or userID of the registered investment advisor creating the re-balance run.
status:
type: string
example: REBALANCE_NOT_STARTED
description: Status of the re-balance run. See [Autopilot Run Status](https://developer.drivewealth.com/reference/get-autopilot-run-status) for status values.
updated:
type: string
example: '2022-12-27T06:07:28.955Z'
description: A timestamp of when the re-balance run was updated.
created:
type: string
example: '2022-12-27T06:06:28.955Z'
description: A timestamp of when the re-balance run was created.
moneyMovement:
type: boolean
example: true
description: Was this run part of the regular AutoPilot money movement process?
regularRebalance:
type: boolean
example: true
description: Was this run part of the regular AutoPilot rebalancing process?
reviewOnly:
type: boolean
example: true
orders:
type: object
description: An object containing the details of submitted orders for the re-balance.
properties:
total:
type: number
example: 0
description: Total number of orders submitted.
submitted:
type: string
example: https://uat.drivewealth.autopilot.s3.amazonaws.com/44304da9....
description: Amazon S3 download containing the details of each submitted order.
outcome:
type: string
example: https://uat.drivewealth.autopilot.s3....
description: Amazon S3 download containing the status and final outcome of the orders that were submitted.
amountBuys:
type: number
example: -1059.35
description: An aggregate value of all buy orders. Expect a negative number.
amountSells:
type: number
example: 862.69
description: An aggregate value of all sell orders.
cleanedUp:
type: string
example: null
allocations:
type: object
description: An object containing the details of the allocations in a re-balance.
properties:
submitted:
type: string
example: https://uat.drivewealth.autopilot.s3....
description: Amazon S3 download containing the details of each submitted allocation.
outcome:
type: string
example: https://uat.drivewealth.autopilot.s3....
description: Amazon S3 download containing the status and final outcome of each allocation that was submitted.
subAccounts:
type: object
description: An object containing details on user accounts and their holdings.
properties:
total:
type: number
example: 4
description: The total number of user accounts under the advisor.
rebalanced:
type: number
example: 3
description: The total number of user accounts that were rebalanced.
error:
type: number
example: 0
description: The total number of allocation errors at the users account level during the rebalance.
outcome:
type: string
example: https://uat.drivewealth.autopilot.s3....
description: Amazon S3 download containing the final outcome of the rebalance, includes users account details and their holdings.
AutoPilotRunsByUserID:
type: array
description: A list of autopilot runs by userID.
items:
oneOf:
- $ref: '#/components/schemas/AutoPilotRunByUserID'
portfolioHoldings:
type: object
properties:
id:
$ref: '#/components/schemas/fundID'
type:
$ref: '#/components/schemas/fundType'
name:
$ref: '#/components/schemas/fundName'
target:
$ref: '#/components/schemas/fundTarget'
actual:
type: number
example: 0.3054
description: The percentage weight of a Fund in a Portfolio.
value:
type: number
example: 33604.12
description: The current value of the Fund in a Portfolio in USD.
rebalanceRequired:
type: boolean
example: true
description: A flag that determines if a re-balance is required based on total drift.
holdings:
$ref: '#/components/schemas/holdings'
portfolioID:
type: string
example: portfolio_87fec25f-c350-4a53-83a0-fc6be0c2989e
description: The unique identifier of a portfolio.
autopilotReq:
type: object
required:
- reviewOnly
- forceRebalance
properties:
reviewOnly:
type: boolean
example: true
description: True, if a review should occur without a forced rebalance.
forceRebalance:
type: boolean
example: true
description: True, if a forces rebalance should occur.
subAccounts:
type: array
description: A list of user's accountIDs to be rebalanced.
items:
oneOf:
- $ref: '#/components/schemas/accountID'
holdingsObject:
type: object
description: An object in the holdings array that holds the instrumentID and target.
properties:
instrumentID:
type: string
example: 5b85fabb-d57c-44e6-a7f6-a3efc760226c
description: A unique ID created by DriveWealth to identify a specific instrument.
target:
type: number
example: 0.5
description: The target percentage for the specific instrumentID within a fund.
userID:
type: string
example: cc07f91b-7ee1-4868-b8fc-823c70a1b932
description: A unique identifier created for each User on DriveWealth's platform.
autopilotRes:
type: object
properties:
id:
type: string
example: ria_rebalance_ebf7e764-e2d6-4b3d-a333-b8ff05b92b89
description: The unique re-balance run identifier `rebalanceRunID` associated with a specific re-balance.
created:
type: string
example: '2022-12-27T06:06:28.955Z'
description: A timestamp of when the re-balance run was created.
status:
type: string
example: REBALANCE_NOT_STARTED
description: Status of the re-balance run. See [Autopilot Run Status](https://developer.drivewealth.com/reference/get-autopilot-run-status) for status values.
riaID:
$ref: '#/components/schemas/riaID'
riaID:
type: string
example: 66304da9-3h6f-2234-935f-ac6b7933d706
description: This is the parentIBID or userID of the registered investment advisor creating the re-balance run.
AutoPilotRunByUserID:
type: object
properties:
id:
$ref: '#/components/schemas/autoPilotRebalanceID'
created:
type: string
example: '2022-12-11T22:28:21.810Z'
description: The date and time that the autopilot re-balance was created.
status:
$ref: '#/components/schemas/autoPilotStatus'
moneyMovement:
type: string
example: true
description: True, if the re-balance was apart of a funding or withdrawal process.
regularRebalance:
type: string
example: false
description: True, if the re-balance was apart of the regularly scheduled re-balancing cycle.
accountID:
type: string
example: cc07f91b-7ee1-4868-b8fc-823c70a1b932.1407775317759
description: The user's unique account identifier.
autoPilotStatus:
type: string
example: REBALANCE_NOT_STARTED
description: The current status of the re-balance run.
enum:
- REBALANCE_NOT_STARTED
- REBALANCE_ABORTED
- REBALANCE_REVIEW_COMPLETED
- REBALANCE_NO_ORDERS_GENERATED
- REBALANCE_10
- REBALANCE_20
- REBALANCE_30
- REBALANCE_40
- REBALANCE_50
- REBALANCE_60
- REBALANCE_70
- REBALANCE_80
- REBALANCE_90
- REBALANCE_COMPLETED
- REBALANCE_FAILED
- AMOUNTCASH_ORDERS_AGGREGATED
- ORDERQTY_ORDERS_AGGREGATED
- ORDERQTY_ORDERS_PREPARED
- AMOUNTCASH_ORDERS_PREPARED
- SELL_ORDERQTY_ORDERS_SUBMITTED
- SUBACCOUNT_ORDERS_ADJUSTED
- SELL_AMOUNTCASH_ORDERS_SUBMITTED
- SELL_AMOUNTCASH_ORDERS_COMPLETED
- SELL_AMOUNTCASH_ORDERS_FAILED
- SELL_AMOUNTCASH_ORDERS_TIMEDOUT
- SELL_ORDERQTY_ORDERS_COMPLETED
- SELL_ORDERQTY_ORDERS_FAILED
- SELL_ORDERQTY_ORDERS_TIMEDOUT
- BUY_ORDERQTY_ORDERS_SUBMITTED
- BUY_ORDERQTY_ORDERS_COMPLETED
- BUY_ORDERQTY_ORDERS_FAILED
- BUY_ORDERQTY_ORDERS_TIMEDOUT
- BUY_AMOUNTCASH_ORDERS_SUBMITTED
- BUY_AMOUNTCASH_ORDERS_COMPLETED
- BUY_AMOUNTCASH_ORDERS_FAILED
- BUY_AMOUNTCASH_ORDERS_TIMEDOUT
- ORDERS_CLEANEDUP
- RIA_NEXT_REBALANCE_UPDATED
- ALLOCATION_PREPARED
- ALLOCATION_SUBMITTED
- ALLOCATION_NOT_STARTED
- ALLOCATION_10
- ALLOCATION_20
- ALLOCATION_30
- ALLOCATION_40
- ALLOCATION_50
- ALLOCATION_60
- ALLOCATION_70
- ALLOCATION_80
- ALLOCATION_90
- ALLOCATION_COMPLETED
- ALLOCATION_FAILED
- ALLOCATION_TIMEDOUT
- SUBACCOUNT_HOLDINGS_UPDATED
- SUBACCOUNT_HOLDINGS_UPDATE_FAILED
- SUCCESS
fundTarget:
type: number
example: 0.75
description: The individual targeted weight of the instrument.
fundType:
type: string
example: FUND
description: The type of fund.
enum:
- FUND
- CASH_RESERVE
PortfolioStatusRes:
type: object
properties:
id:
$ref: '#/components/schemas/portfolioID'
equity:
type: number
example: 11003.76
description: The account value of the customers account.
totalDrift:
type: number
example: 0.012
description: Total drift away from target.
rebalanceRequired:
type: boolean
example: true
description: A flag that determines if a re-balance is required based on total drift.
nextPortfolioRebalance:
type: string
example: '2018-12-11T15:00:00.846Z'
description: The date of the next portfolio re-balance.
lastPortfolioRebalance:
type: string
example: '2017-12-11T15:00:00.846Z'
description: The date of the last portfolio rebalance.
holdings:
type: array
items:
oneOf:
- $ref: '#/components/schemas/portfolioHoldings'
autoPilotRebalanceID:
type: string
example: ria_rebalance_721ff5c3-f6f2-48d8-aaa3-41a49a044f2c
description: The unique identifier of the auto pilot re-balance run.
fundName:
type: string
example: Large Capitalization Fund
description: A user defined name that describes the underlying fund.
holdings:
type: array
description: A list of the securities held in a Fund.
items:
oneOf:
- $ref: '#/components/schemas/holdingsObject'
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
dwAppKey:
type: apiKey
in: header
name: dw-client-app-key
sessionToken:
type: apiKey
in: header
name: dw-auth-token