Development Guides

Updating Custom Fields (AKA: User Defined Fields)

Purpose: Custom Fields can be utilized withing Portfolio Audit, custom Reports, and Queries.  They help organize and track unique identifiers for the Representative, Household, Registration, Account, and Product levels.  Below you will find steps on how to update your previously created User Defined Fields. 

Simple Use Case: You have a unique identifier that you would like to include on an Orion entity for tracking that isn’t already included elsewhere in the Orion system that needs to be updated.   

Scope and Outputs: This workflow will step through updating existing Custom Fields.  It is recommended to create the Custom Fields in the UI.  To download the Creating Custom Fields help document, click https://api.orionadvisor.com/orionconnectapp/index.html?orionSupportRedirect=%2Fs%2Farticle%2FCreating-Custom-Fields.

Process Overview: Get the existing custom field information for the entity you would like to update. Once the custom field information has been obtained, make the updates for the correlating changes and return the entire payload to process the updates. 

Process Steps:

  1. Get the Custom Fields for the desired entity: The following example is for Client(household) level data.

GET: /portfolio/{entity}/verbose/{key}?expand=userdefinedfields ; in this instance I used GET /portfolio/clients/verbose/46?expand=userdefinedfields

  1. Update the “value” for the custom field you would like to update. 
  2. Return the entire payload as a PUT to the same endpoint. 

PUT: /portfolio/clients/verbose/46?expand=userdefinedfields 

{
  "id": 46,
  "name": "Papa Smurf",
  "billing": null,
  "recurringAdjustments": null,
  "feePayingAccounts": null,
  "tieredFeeAccounts": null,
  "householdBills": null,
  "financialPlanningFee": null,
  "portfolio": null,
  "householdMembers": null,
  "notes": null,
  "documents": null,
  "additionalAccounts": null,
  "suitability": null,
  "userDefinedFields": [
	{
      "userDefineDataId": 1000,
  	"value": "800009",
      "childParameter": null,
  	"entity": "Household",
  	"entityId": 46,
      "entityName": null,
      "userDefineDefinitionId": 306,
  	"name": "Outside Revenue",
  	"category": "No Category",
  	"type": "Currency",
  	"code": "5OUTSIDERE",
  	"sequence": 9,
  	"options": [],
  	"input": null,
      "securityCode": null,
  	"canEdit": false
	},
   ],
  "entityOptions": null,
  "targetAllocations": null,
  "creditCard": null,
  "assetExclusions": null,
  "portfolioGroups": null,
  "appLinks": null,
  "additionalRepresentatives": null
}

Process Tips or Controls:

  1. Be sure to pass back all data in the payload, even for the data on the custom field that will not be changing. 
  2. If you are updating more than one account, be sure to include the payload for each account you’re updating, and use the PUT without the key. /portfolio/{entity}/verbose/{key}?expand=userdefinedfields