PortfolioLinkApi

<back to all web services

GetRiskNeed

Requires Authentication
The following routes are available for this service:
All Verbs/riskprofiles/calculate/riskneed
GetRiskNeed Parameters:
NameParameterData TypeRequiredDescription
LumpSumquerydecimalNo
GetIncomeCashFlowRequestqueryGetIncomeCashFlowRequestNo
GetContributionCashFlowRequestqueryGetContributionCashFlowRequestNo
AdditionalGetIncomeCashFlowRequestsqueryList<GetIncomeCashFlowRequest>No
AdditionalGetContributionCashFlowRequestsqueryList<GetContributionCashFlowRequest>No
CurrencyquerystringNo
GoalInfoqueryGoalInfoNo
OverridequeryboolNo
OverrideMessagequerystringNo
OverrideRiskProfileIdqueryintNo
GetIncomeCashFlowRequest Parameters:
NameParameterData TypeRequiredDescription
KeyIndexformintNo
IncomeLabelformstringNo
IncomeIncludeZeroIncomeYearsformboolNo
IncomeformdecimalNo
TaxRateformdecimalNo
IncomeToLastformintNo
CurrentAgeformintNo
IncomeGrowthformdecimalNo
IncomeGrowthFrequencyformdecimalNo
PayoutFrequencyformintNo
StartYearformintNo
HasAdhocCashFlowformboolNo
AdhocCashFlowAge1formintNo
AdhocCashFlow1formdecimalNo
AdhocCashFlowAge2formintNo
AdhocCashFlow2formdecimalNo
AdhocCashFlowAge3formintNo
AdhocCashFlow3formdecimalNo
ApplySmileformboolNo
GetContributionCashFlowRequest Parameters:
NameParameterData TypeRequiredDescription
KeyIndexformintNo
ContributionLabelformstringNo
ApplyContributionformboolNo
ContributionformdecimalNo
ContributionGrowthformdecimalNo
ContributionGrowthFrequencyformdecimalNo
ContributionFrequencyformintNo
ContributionStartYearformintNo
ContributionToLastformintNo
GoalInfo Parameters:
NameParameterData TypeRequiredDescription
GoalNameformstringNo
GoalDescriptionformstringNo
TypeformGoalTypeEnumNo
GoalHasTargetformboolNo
GoalTargetformdecimalNo
GoalTargetAgeformintNo
CurrencyformstringNo
WrapperTypeformstringNo
GoalTypeEnum Enum:
PostRetirement
PreRetirement
Emergency
Education
GeneralInvesting
Target
Wedding
House
GetRiskNeedResponse Parameters:
NameParameterData TypeRequiredDescription
RequiredRateOfReturnformdecimalNo
RiskProfileformstringNo
RiskProfileIdformintNo
MessageformstringNo
OverrideformboolNo
OverrideMessageformstringNo
OverrideRiskProfileIdformintNo

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /riskprofiles/calculate/riskneed HTTP/1.1 
Host: api.portfoliolink.co.za 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	lumpSum: 0,
	getIncomeCashFlowRequest: 
	{
		keyIndex: 0,
		incomeLabel: String,
		incomeIncludeZeroIncomeYears: False,
		income: 0,
		taxRate: 0,
		incomeToLast: 0,
		currentAge: 0,
		incomeGrowth: 0,
		incomeGrowthFrequency: 0,
		payoutFrequency: 0,
		startYear: 0,
		hasAdhocCashFlow: False,
		adhocCashFlowAge1: 0,
		adhocCashFlow1: 0,
		adhocCashFlowAge2: 0,
		adhocCashFlow2: 0,
		adhocCashFlowAge3: 0,
		adhocCashFlow3: 0,
		applySmile: False
	},
	getContributionCashFlowRequest: 
	{
		keyIndex: 0,
		contributionLabel: String,
		applyContribution: False,
		contribution: 0,
		contributionGrowth: 0,
		contributionGrowthFrequency: 0,
		contributionFrequency: 0,
		contributionStartYear: 0,
		contributionToLast: 0
	},
	additionalGetIncomeCashFlowRequests: 
	[
		{
			keyIndex: 0,
			incomeLabel: String,
			incomeIncludeZeroIncomeYears: False,
			income: 0,
			taxRate: 0,
			incomeToLast: 0,
			currentAge: 0,
			incomeGrowth: 0,
			incomeGrowthFrequency: 0,
			payoutFrequency: 0,
			startYear: 0,
			hasAdhocCashFlow: False,
			adhocCashFlowAge1: 0,
			adhocCashFlow1: 0,
			adhocCashFlowAge2: 0,
			adhocCashFlow2: 0,
			adhocCashFlowAge3: 0,
			adhocCashFlow3: 0,
			applySmile: False
		}
	],
	additionalGetContributionCashFlowRequests: 
	[
		{
			keyIndex: 0,
			contributionLabel: String,
			applyContribution: False,
			contribution: 0,
			contributionGrowth: 0,
			contributionGrowthFrequency: 0,
			contributionFrequency: 0,
			contributionStartYear: 0,
			contributionToLast: 0
		}
	],
	currency: String,
	goalInfo: 
	{
		goalName: String,
		goalDescription: String,
		type: PostRetirement,
		goalHasTarget: False,
		goalTarget: 0,
		goalTargetAge: 0,
		currency: String,
		wrapperType: String
	},
	override: False,
	overrideMessage: String,
	overrideRiskProfileId: 0
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	requiredRateOfReturn: 0,
	riskProfile: String,
	riskProfileId: 0,
	message: String,
	override: False,
	overrideMessage: String,
	overrideRiskProfileId: 0
}