DriveWealth Portfolios API

The Portfolios API from DriveWealth — 3 operation(s) for portfolios.

Operations 4

POST /managed/portfolios Create Portfolio
GET /managed/portfolios/{portfolioID} Retrieve Portfolio
PATCH /managed/portfolios/{portfolioID} Update Portfolio
GET /users/{userID}/managed/portfolio List Portfolios by Advisor

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/drivewealth-portfolios-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

drivewealth-portfolios-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DriveWealth Accounts Portfolios 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: Portfolios
  x-displayName: Portfolios
paths:
  /managed/portfolios:
    post:
      deprecated: true
      tags:
      - Portfolios
      summary: Create Portfolio
      description: Creates a Portfolio.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/portfolioReq'
        required: true
      responses:
        '200':
          description: Creating a Portfolio was Successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/portfolioRes'
      security:
      - bearerAuth: []
        dwAppKey: []
      - sessionToken: []
        dwAppKey: []
  /managed/portfolios/{portfolioID}:
    get:
      deprecated: true
      tags:
      - Portfolios
      summary: Retrieve Portfolio
      description: Retrieves a Portfolio by portfolioID.
      parameters:
      - in: path
        name: portfolioID
        schema:
          type: string
        required: true
        example: portfolio_4a22340a-31f8-4f0e-b5ee-24ddfbc66727
        description: A unique identifier associated with a specific Portfolio.
      responses:
        '200':
          description: Retrieving a Portfolio by portfolioID was Successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/portfolioRes'
      security:
      - bearerAuth: []
        dwAppKey: []
      - sessionToken: []
        dwAppKey: []
    patch:
      deprecated: true
      tags:
      - Portfolios
      summary: Update Portfolio
      description: Updates a Profolio by portfolioID.
      parameters:
      - in: path
        name: portfolioID
        schema:
          type: string
        required: true
        example: portfolio_4a22340a-31f8-4f0e-b5ee-24ddfbc66727
        description: A unique identifier associated with a specific Portfolio.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  example: Recession Proof
                  description: A name given to the Portfolio by the RIA.
                clientPortfolioID:
                  $ref: '#/components/schemas/clientPortfolioID'
                description:
                  type: string
                  example: A portifolio description.
                  description: A short description for the portfolio.
                holdings:
                  type: array
                  description: An array of objects that hold the type of Funds in the Portfolio.
                  items:
                    $ref: '#/components/schemas/portfolioReqHoldings'
                triggers:
                  $ref: '#/components/schemas/portfolioTriggers'
      responses:
        '200':
          description: Updating a Portfolio by portfolioID was Successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/portfolioRes'
      security:
      - bearerAuth: []
        dwAppKey: []
      - sessionToken: []
        dwAppKey: []
  /users/{userID}/managed/portfolio:
    get:
      deprecated: true
      tags:
      - Portfolios
      summary: List Portfolios by Advisor
      description: Fetches a list of portfolios 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 Portfolios By userID was Successful.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PortfoliosByUserID'
      security:
      - bearerAuth: []
        dwAppKey: []
      - sessionToken: []
        dwAppKey: []
components:
  schemas:
    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.
    portfolioReq:
      type: object
      required:
      - userID
      - name
      - clientPortfolioID
      - description
      - holdings
      - triggers
      properties:
        userID:
          $ref: '#/components/schemas/managedAccountsUserID'
        name:
          type: string
          example: Recession Proof
          description: A name given to the Portfolio by the RIA.
        clientPortfolioID:
          $ref: '#/components/schemas/clientPortfolioID'
        description:
          type: string
          example: Mix of sectors
          description: A short description for the portfolio.
        holdings:
          type: array
          description: An array of objects that hold a list of Funds in a portfolio.
          items:
            $ref: '#/components/schemas/portfolioReqHoldings'
        triggers:
          type: array
          description: An array of objects that hold a list if triggers associated with a portfolio.
          items:
            $ref: '#/components/schemas/portfolioTriggers'
    portfolioTriggers:
      type: object
      description: An object that holds the details of when to trigger a rebalance of a Portfolio.
      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 Portfolio.
        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.
    fundUpperLowerBound:
      type: number
      example: 0.25
    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.
    portfolioRes:
      type: object
      properties:
        id:
          type: string
          example: portfolio_4a22340a-31f8-4f0e-b5ee-24ddfbc66727
          description: The unique identifier associated with a portfolio.
        name:
          type: string
          example: Recession Proof
          description: A name given to the Portfolio by the RIA.
        clientPortfolioID:
          $ref: '#/components/schemas/clientPortfolioID'
        description:
          type: string
          example: A portifolio description
          description: A short description for the Portfolio.
        holdings:
          type: array
          description: An array of objects that hold the type of Funds in the Portfolio.
          items:
            $ref: '#/components/schemas/portfolioResHoldingsObject'
        userID:
          $ref: '#/components/schemas/managedAccountsUserID'
        triggers:
          type: array
          description: An array of objects that hold information on when to trigger a rebalance in the Portfolio.
          items:
            $ref: '#/components/schemas/portfolioTriggers'
        isFundTargetsChanged:
          type: boolean
          example: false
        fundsTargetsChanged:
          type: boolean
          example: false
    fundLowerBound:
      type: number
      example: 0.1
    portfolioDescription:
      type: string
      example: This portfolio is comprised different funds that make up an aggressive portfolio.
      description: A user defined description that describes the underlying portfolio.
    fundMaxAllowed:
      type: number
      example: 0.05
      description: The total drift amount for this instrument.
    clientPortfolioID:
      type: string
      example: AAABBB-1222-3344.123456789
      description: A user defined identifier attached to the portfolio.
    portfolioName:
      type: string
      example: Go Getter Portfolio
      description: A user defined name that describes the underlying portfolio.
    portfolioMaxAllowed:
      type: number
      example: 0.05
      description: The total drift amount for this fund or cash.
    PortfolioByUserID.Triggers:
      type: object
      properties:
        child:
          $ref: '#/components/schemas/fundID'
        maxAllowed:
          $ref: '#/components/schemas/portfolioMaxAllowed'
        lowerBound:
          $ref: '#/components/schemas/portfolioLowerBound'
        upperBound:
          $ref: '#/components/schemas/portfolioUpperLowerBound'
        type:
          $ref: '#/components/schemas/triggerTypes'
    fundType:
      type: string
      example: FUND
      description: The type of fund.
      enum:
      - FUND
      - CASH_RESERVE
    portfolioLowerBound:
      type: number
      example: 0.1
    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'
    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
    fundName:
      type: string
      example: Large Capitalization Fund
      description: A user defined name that describes the underlying fund.
    PortfolioByUserID:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/portfolioID'
        name:
          $ref: '#/components/schemas/portfolioName'
        description:
          $ref: '#/components/schemas/portfolioDescription'
        clientPortfolioID:
          $ref: '#/components/schemas/clientPortfolioID'
        holdings:
          type: array
          description: A list of all the individual funds making up the portfolio.
          items:
            oneOf:
            - $ref: '#/components/schemas/PortfolioByUserID.Holdings.CashReserve'
            - $ref: '#/components/schemas/FundByUserID'
        userID:
          $ref: '#/components/schemas/userID'
        triggers:
          type: array
          description: A list of the individual triggers for each fund and or cash.
          items:
            $ref: '#/components/schemas/PortfolioByUserID.Triggers'
    managedAccountsUserID:
      type: string
      example: 66304da9-3h6f-2234-935f-ac6b7933d706
      description: The unique identifier of the registered investment advisors account.
    FundByUserID.Holdings:
      type: object
      properties:
        instrumentID:
          $ref: '#/components/schemas/instrumentID'
        target:
          $ref: '#/components/schemas/fundTarget'
    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'
    portfolioReqHoldings:
      type: object
      required:
      - type
      - target
      properties:
        type:
          type: string
          example: FUND
          description: The type of asset in a Portfolio.
          enum:
          - FUND
          - CASH_RESERVE
        id:
          type: string
          example: fund_3d9d00d1-f06e-4f86-9cbf-893c75cf77fe
          description: The unique fundID.
        target:
          type: number
          example: 0.95
          description: The percentage of a Fund within a Portfolio.
    fundID:
      type: string
      example: fund_4c16152c-f8e7-4a5a-af6b-c36f4e5cc6e7
      description: The unique identifier of a fund.
    userID:
      type: string
      example: cc07f91b-7ee1-4868-b8fc-823c70a1b932
      description: A unique identifier created for each User on DriveWealth's platform.
    fundTarget:
      type: number
      example: 0.75
      description: The individual targeted weight of the instrument.
    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.
    portfolioUpperLowerBound:
      type: number
      example: 0.25
    instrumentID:
      type: string
      format: uuid
      example: 3fb1e8a9-f7d5-4d90-95e2-43e7326b5636
      description: 'A unique ID created by DriveWealth to identify a specific instrument. '
    portfolioResHoldingsObject:
      type: object
      description: An array of objects that hold details of a Fund in a Portfolio.
      properties:
        id:
          type: string
          example: fund_3d9d00d1-f06e-4f86-9cbf-893c75cf77fe
          description: The unique FundID.
        name:
          type: string
          example: TECH
          description: A name given to the Fund by the RIA.
        type:
          type: string
          example: FUND
          description: The type of asset in the Portfolio.
          enum:
          - FUND
          - CASH_RESERVE
        clientFundID:
          $ref: '#/components/schemas/clientFundID'
        description:
          type: string
          example: Top 10 US Tech
          description: A short description for the Fund.
        target:
          type: number
          example: 0.95
          description: The percentage of a Fund within a Portfolio.
        holdings:
          type: array
          description: A list of the securities held in a Fund.
          items:
            $ref: '#/components/schemas/holdingsObject'
        triggers:
          type: array
          description: The triggers associated with a Portfolio.
          items:
            $ref: '#/components/schemas/triggersObject'
    PortfolioByUserID.Holdings.CashReserve:
      type: object
      properties:
        type:
          type: string
          example: CASH_RESERVE
          description: The type of collection making up the portfolio
          enum:
          - CASH_RESERVE
          - FUND
        target:
          type: string
          example: 0.25
          description: The individual targeted weight of the cash portion of the portfolio.
    PortfoliosByUserID:
      type: array
      description: A list of portfolios by userID.
      items:
        oneOf:
        - $ref: '#/components/schemas/PortfolioByUserID'
    portfolioID:
      type: string
      example: portfolio_87fec25f-c350-4a53-83a0-fc6be0c2989e
      description: The unique identifier of a portfolio.
    clientFundID:
      type: string
      example: AAABBB-1222-3344.123456789
      description: A user defined identifier attached to the fund.
  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