create_goal

Creates a new saving goal for the authenticated user.

Description

Creates a new saving goal for the authenticated user.

Required fields: name (amount is inferred when omitted).
amount and contributors[].contributorAmount are in CENTS, not dollars: $10,000 = 1000000.
MCP defaults when omitted:
  • goalType defaults to GENERAL_SAVINGS (HOME_PURCHASE when the name implies property)
  • amount inferred from purchase tier (vehicle, luxury asset, experience, etc.), an explicit $ amount in the name (e.g. "$50k"), or spending history for emergency funds
  • maturityDate from relative phrases (e.g. "in 18 months"), purchase tier, or HOME_PURCHASE age/location benchmarks
  • contributors defaults to the authenticated user as OWNER_ROLE with contributorAmount = amount
  • HOME_PURCHASE without preferences: infers down payment from user age (or the stated timeline), location, and appreciation benchmarks; an explicit amount is used as the down payment
  • Emergency-fund names without amount: infers ~3 months of average recent spending when available

accountId, when provided, must belong to the authenticated user (owner or collaborator).
Contributor userIds may only reference the authenticated user; other identities are rejected.

Use this when users want to save toward a target (yacht, car, wedding, house, emergency fund, etc.).
For HOME_PURCHASE or CAR_PURCHASE goals, include the matching preference object when you have explicit values.
After creation, use read_goal with response.savingGoalId or list_goals to verify.

Input parameters

NameTypeRequiredDescription
accountIdstringNo
amountnumberNo
carPurchasePreferencesobjectNo
contributorsarrayNo
debtPaymentRecurrenceRatestringNo
goalImageIdstringNo
goalTypestringNo
homePurchasePreferencesobjectNo
loanPreferencesobjectNo
maturityDatestringNo
namestringYes
numberOfChildrenintegerNo
startSavingsDatestringNo
targetAmountnumberNo
targetDatestringNo