DriveWealth Funds API

The Funds API from DriveWealth — 3 operation(s) for funds.

OpenAPI Specification

drivewealth-funds-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  title: DriveWealth Accounts Funds 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: Funds
  x-displayName: Funds
paths:
  /managed/funds:
    post:
      deprecated: true
      tags:
      - Funds
      summary: Create Fund
      description: Creates a Fund.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fundsRequest'
        required: true
      responses:
        '200':
          description: Creating a Fund was Successful
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fundsResponse'
      security:
      - bearerAuth: []
        dwAppKey: []
      - sessionToken: []
        dwAppKey: []
  /managed/funds/{fundID}:
    get:
      deprecated: true
      tags:
      - Funds
      parameters:
      - in: path
        name: fundID
        schema:
          type: string
        required: true
        example: fund_3d7d00d1-f08e-4f52-9cbf-893c75cf77fe
        description: The unique identifier associated with the Fund.
      summary: Retrieve Fund
      description: Retrieves a Fund by fundID.
      responses:
        '200':
          description: Retrieving a Fund by fundID was Successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fundsResponse'
      security:
      - bearerAuth: []
        dwAppKey: []
      - sessionToken: []
        dwAppKey: []
  /users/{userID}/managed/funds:
    get:
      deprecated: true
      tags:
      - Funds
      summary: List Funds by Advisor
      description: Fetches a list of funds 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.
      responses:
        '200':
          description: Fetching A List of Funds By userID was Successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FundsByUserID'
      security:
      - bearerAuth: []
        dwAppKey: []
      - sessionToken: []
        dwAppKey: []
components:
  schemas:
    fundID:
      type: string
      example: fund_4c16152c-f8e7-4a5a-af6b-c36f4e5cc6e7
      description: The unique identifier of a fund.
    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.
    FundByUserID:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/fundID'
        userID:
          $ref: '#/components/schemas/userID'
        name:
          $ref: '#/components/schemas/fundName'
        type:
          $ref: '#/components/schemas/fundType'
        clientFundID:
          $ref: '#/components/schemas/clientFundID'
        description:
          $ref: '#/components/schemas/fundDescription'
        holdings:
          type: array
          description: A list of instruments to make up the fund.
          items:
            oneOf:
            - $ref: '#/components/schemas/FundByUserID.Holdings'
        triggers:
          type: array
          description: A list of the individual triggers for each instrument.
          items:
            oneOf:
            - $ref: '#/components/schemas/FundByUserID.Triggers'
    FundByUserID.Holdings:
      type: object
      properties:
        instrumentID:
          $ref: '#/components/schemas/instrumentID'
        target:
          $ref: '#/components/schemas/fundTarget'
    fundsRequest:
      type: object
      required:
      - userID
      - name
      - clientFundID
      - description
      - holdings
      - triggers
      properties:
        userID:
          type: string
          example: 66304da9-3h6f-2234-935f-ac6b7933d706
          description: The unique identifier of the registered investment advisors account.
        name:
          type: string
          example: TECH
          description: A name given to the Fund by the RIA.
        clientFundID:
          $ref: '#/components/schemas/clientListID'
        description:
          type: string
          example: Top 10 US Tech
          description: A short description for the Fund.
        holdings:
          type: array
          description: An array of objects that hold the type of securities in a Fund.
          items:
            $ref: '#/components/schemas/holdingsObject'
        triggers:
          type: array
          description: An array of objects that hold information on when to trigger a rebalance in a Fund.
          items:
            $ref: '#/components/schemas/triggersObject'
    clientFundID:
      type: string
      example: AAABBB-1222-3344.123456789
      description: A user defined identifier attached to the fund.
    triggersObject:
      type: object
      description: An object that holds the details of when to trigger a rebalance of the Fund.
      required:
      - type
      - child
      - maxAllowed
      - lowerBound
      - upperBound
      properties:
        type:
          type: string
          example: TOTAL_DRIFT
          description: The type of trigger specified to enable a rebalance.
          enum:
          - TOTAL_DRIFT
          - RELATIVE_DRIFT
          - ABSOLUTE_DRIFT
        maxAllowed:
          type: number
          example: 0.05
          description: The maximum allowed drift for the Fund.
        child:
          type: string
          example: null
        lowerBound:
          type: number
          example: 0.01
          description: The lowest bound range of the drift parameters.
        upperBound:
          type: number
          example: 0.02
          description: The highest bound range of the drift parameter.
    clientListID:
      type: string
      example: SUMS_CUSTOM_ALLOCATION_TEST
      description: An advisor created identifier for a specific allocation.
    fundTarget:
      type: number
      example: 0.75
      description: The individual targeted weight of the instrument.
    fundDescription:
      type: string
      example: This fund is comprised of large cap stocks weight like the S&P 500.
      description: A user defined description that describes the underlying fund.
    fundType:
      type: string
      example: FUND
      description: The type of fund.
      enum:
      - FUND
      - CASH_RESERVE
    fundLowerBound:
      type: number
      example: 0.1
    fundUpperLowerBound:
      type: number
      example: 0.25
    FundsByUserID:
      type: array
      description: A list of individual funds holdings.
      items:
        oneOf:
        - $ref: '#/components/schemas/FundByUserID'
    fundsResponse:
      type: object
      properties:
        id:
          type: string
          example: fund_3d7d00d1-f09e-4f86-9cbf-893c75cf77fe
          description: The unique identifier associated with the Fund.
        userID:
          $ref: '#/components/schemas/managedAccountsUserID'
        name:
          type: string
          example: TECH
          description: A name given to the Fund by the RIA.
        type:
          type: string
          example: FUND
        clientFundID:
          $ref: '#/components/schemas/clientFundID'
        description:
          type: string
          example: Top 10 US Tech
          description: A short description for the Fund.
        holdings:
          type: array
          description: An array of objects that hold the type of securities in a Fund.
          items:
            $ref: '#/components/schemas/holdingsObject'
        triggers:
          type: array
          description: An array of objects that hold information on when to trigger a rebalance.
          items:
            $ref: '#/components/schemas/triggersObject'
        isInstrumentTargetsChanged:
          type: boolean
          example: false
        instrumentTargetsChanged:
          type: boolean
          example: false
    instrumentID:
      type: string
      format: uuid
      example: 3fb1e8a9-f7d5-4d90-95e2-43e7326b5636
      description: 'A unique ID created by DriveWealth to identify a specific instrument. '
    fundName:
      type: string
      example: Large Capitalization Fund
      description: A user defined name that describes the underlying fund.
    fundMaxAllowed:
      type: number
      example: 0.05
      description: The total drift amount for this instrument.
    managedAccountsUserID:
      type: string
      example: 66304da9-3h6f-2234-935f-ac6b7933d706
      description: The unique identifier of the registered investment advisors account.
    triggerTypes:
      type: string
      example: TOTAL_DRIFT
      description: The type of trigger associated to the fund as a whole or an individual instrument.
      enum:
      - TOTAL_DRIFT
      - RELATIVE_DRIFT
      - ABSOLUTE_DRIFT
    FundByUserID.Triggers:
      type: object
      properties:
        child:
          $ref: '#/components/schemas/instrumentID'
        maxAllowed:
          $ref: '#/components/schemas/fundMaxAllowed'
        lowerBound:
          $ref: '#/components/schemas/fundLowerBound'
        upperBound:
          $ref: '#/components/schemas/fundUpperLowerBound'
        type:
          $ref: '#/components/schemas/triggerTypes'
  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