Savings Goals — create, fund, withdraw from, and delete savings pots attached to an account.
Required scopes: savings-goal:read, savings-goal:create, savings-goal:delete,
savings-goal-transfer:read, savings-goal-transfer:create, savings-goal-transfer:delete.
Summary
Functions
Adds money to a savings goal (a 'top-up'). transfer_uid is an idempotency key you generate.
Creates a new savings goal.
Deletes a savings goal.
Fetches a single savings goal.
Lists all savings goals on an account.
Sets/replaces the photo for a savings goal.
Withdraws money from a savings goal back into the main account.
Types
Functions
@spec add_money( String.t(), String.t(), String.t(), map(), StarlingBank.Client.t() | keyword() | nil ) :: {:ok, map()} | {:error, StarlingBank.Error.t()}
Adds money to a savings goal (a 'top-up'). transfer_uid is an idempotency key you generate.
@spec create(String.t(), map(), StarlingBank.Client.t() | keyword() | nil) :: {:ok, map()} | {:error, StarlingBank.Error.t()}
Creates a new savings goal.
StarlingBank.SavingsGoals.create(account_uid, %{
name: "Holiday",
currency: "GBP",
target: %{currency: "GBP", minorUnits: 100_000}
})
@spec delete(String.t(), String.t(), StarlingBank.Client.t() | keyword() | nil) :: {:ok, nil} | {:error, StarlingBank.Error.t()}
Deletes a savings goal.
@spec get(String.t(), String.t(), StarlingBank.Client.t() | keyword() | nil) :: {:ok, t()} | {:error, StarlingBank.Error.t()}
Fetches a single savings goal.
@spec list(String.t(), StarlingBank.Client.t() | keyword() | nil) :: {:ok, [t()]} | {:error, StarlingBank.Error.t()}
Lists all savings goals on an account.
@spec set_photo( String.t(), String.t(), binary(), StarlingBank.Client.t() | keyword() | nil ) :: {:ok, nil} | {:error, StarlingBank.Error.t()}
Sets/replaces the photo for a savings goal.
@spec withdraw_money( String.t(), String.t(), String.t(), map(), StarlingBank.Client.t() | keyword() | nil ) :: {:ok, map()} | {:error, StarlingBank.Error.t()}
Withdraws money from a savings goal back into the main account.