Create saving

POST /api/v2/household/{HouseholdGUID}/savings

This endpoint allows users to create a new saving for a household.

Path parameters

application/json

Body Required

  • ClientGUID string(uuid) Required

    ClientGUID must be in the household.

  • SavingsDescription string Required

    The following characters are not permitted: \:*"<>|

    Maximum length is 100.

  • SavingsType integer Required

    Savings type cannot be changed if saving has a contribution or withdrawal or is the default account.

    To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/savings/options

  • Value number(float) Required

    Value must not be less than 0 if SavingsType value is not 1.

  • ValueDate string(date) Required

    Date must be before or equal to today.

    Dates should be provided in the format "Y-m-d", where "Y" represents the year, "m" represents the month and "d" represents the day. For example, "2023-07-24" represents 24th July, 2023.

  • JointOwnerClientGUID string(uuid) | null

    The following SavingsType can not have a joint owner: 3, 4, 6, 10, 14, 18, 19 and 21. JointOwnerClientGUID must be in the household.

  • MinimumBalance number(float) | null

    Value must not be less than 0.

  • DependantGUID string(uuid) | null

    Must be a dependant of one of the clients within the household.

    To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/savings/options

  • ATRSlot integer | null

    To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/savings/options

  • OriginalInvestmentValue number(float) | null
  • OriginalInvestmentDate string(date) | null

    Dates should be provided in the format "Y-m-d", where "Y" represents the year, "m" represents the month and "d" represents the day. For example, "2023-07-24" represents 24th July, 2023.

  • BackOfficeID string | null

    Maximum length is 255.

  • BackOfficeSync integer | null

    An integer representing the status of the back office sync:

    • 1: Yes
    • 2: No
    • 3: Only update from back office
  • PolicyNumber string | null

    Maximum length is 50.

  • ProviderCode string | null

    To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/savings/options

  • Only relevant in the cashflow when the savings type is 3 or 6.

  • To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/options

  • FutureRiskLevel integer | null

    This field is required if the value of SavingsType > 5 and FutureRiskLevelChange = 1.

    To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/savings/options

  • This field is required if the value of SavingsType > 5 and FutureRiskLevelChange = 1.

    To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/options

  • This field is required if the value of SavingsType > 5, FutureRiskLevelChange = 1 and FutureRiskDateOfChangeBasis = 4.

    To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/household/{HouseholdGUID}/pensions/options

  • This field is required if the value of SavingsType > 5, FutureRiskLevelChange = 1 and FutureRiskDateOfChangeBasis = 2 or 7. FutureRiskDateOfChangeAge must be in the future

    Minimum value is 0, maximum value is 130.

  • This field is required if the value of SavingsType > 5, FutureRiskLevelChange = 1 and FutureRiskDateOfChangeBasis = 3. FutureRiskDateOfChangeDate must be in the future

    Dates should be provided in the format "Y-m-d", where "Y" represents the year, "m" represents the month and "d" represents the day. For example, "2023-07-24" represents 24th July, 2023.

Responses

POST /api/v2/household/{HouseholdGUID}/savings
curl \
 -X POST https://api.fincalc.co.uk/api/v2/household/{HouseholdGUID}/savings \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"ClientGUID":"3F0B1C88-6D80-4C17-BB3E-1D68E6D26405","SavingsDescription":"API Test","SavingsType":22,"Value":150000.1,"ValueDate":"2023-04-20","JointOwnerClientGUID":"3F0B1C88-6D80-4C17-BB3E-1D68E6D26405","MinimumBalance":10000.1,"DependantGUID":"4FDA7A23-46AF-45B0-89DB-635544D65147","ATRSlot":1,"OriginalInvestmentValue":1500,"OriginalInvestmentDate":"2023-04-20","OriginalInvestmentPercentageWithdrawn":15,"BackOfficeID":13573,"BackOfficeSync":1,"PolicyNumber":134300454,"ProviderCode":"8379dc94-3bcf-e011-87a9-b8ac6f1693a9","ISASpecialType":1,"FutureRiskLevelChange":1,"FutureRiskLevel":17,"FutureRiskDateOfChangeBasis":3,"FutureRiskDateOfChangeEventGUID":"1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7","FutureRiskDateOfChangeAge":65,"FutureRiskDateOfChangeDate":"2069-02-01"}'
Request examples
{
  "ClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
  "SavingsDescription": "API Test",
  "SavingsType": 22,
  "Value": 150000.1,
  "ValueDate": "2023-04-20",
  "JointOwnerClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
  "MinimumBalance": 10000.1,
  "DependantGUID": "4FDA7A23-46AF-45B0-89DB-635544D65147",
  "ATRSlot": 1,
  "OriginalInvestmentValue": 1500,
  "OriginalInvestmentDate": "2023-04-20",
  "OriginalInvestmentPercentageWithdrawn": 15,
  "BackOfficeID": 13573,
  "BackOfficeSync": 1,
  "PolicyNumber": 134300454,
  "ProviderCode": "8379dc94-3bcf-e011-87a9-b8ac6f1693a9",
  "ISASpecialType": 1,
  "FutureRiskLevelChange": 1,
  "FutureRiskLevel": 17,
  "FutureRiskDateOfChangeBasis": 3,
  "FutureRiskDateOfChangeEventGUID": "1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7",
  "FutureRiskDateOfChangeAge": 65,
  "FutureRiskDateOfChangeDate": "2069-02-01"
}
Response examples (201)
{
  "success": true,
  "data": {
    "SavingsGUID": "E4A4A332-C53C-4C33-8D5B-1B846C3D6D6D",
    "ClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
    "SavingsDescription": "API Test",
    "SavingsType": 22,
    "Value": 150000.1,
    "ValueDate": "2023-04-20",
    "JointOwnerClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
    "MinimumBalance": 10000.1,
    "DependantGUID": "4FDA7A23-46AF-45B0-89DB-635544D65147",
    "ATRSlot": 1,
    "OriginalInvestmentValue": 1500,
    "OriginalInvestmentDate": "2023-04-20",
    "OriginalInvestmentPercentageWithdrawn": 15,
    "BackOfficeID": "F7FBB6B1-2D90-485C-AE89-9F9FA0426F1E",
    "BackOfficeSync": 1,
    "PolicyNumber": 134300454,
    "ProviderCode": "8379dc94-3bcf-e011-87a9-b8ac6f1693a9",
    "DefaultAccount": 1,
    "ISASpecialType": 1,
    "FutureRiskLevelChange": 1,
    "FutureRiskLevel": 17,
    "FutureRiskDateOfChangeBasis": 4,
    "FutureRiskDateOfChangeEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
    "FutureRiskDateOfChangeAge": 55,
    "FutureRiskDateOfChangeDate": "2069-05-04",
    "FormattedValues": {
      "Value": "£150,000",
      "ATRSlot": "Medium",
      "ValueDate": "20/04/2023",
      "SavingsType": "Structured Product",
      "ProviderCode": "1st Source Direct",
      "DependantGUID": "Diane Edwards",
      "DefaultAccount": "No",
      "ISASpecialType": "Junior ISA",
      "MinimumBalance": "£10,000",
      "FutureRiskLevel": "Lowest",
      "FutureRiskLevelChange": "Yes",
      "OriginalInvestmentDate": "20/04/2023",
      "OriginalInvestmentValue": "£1,500",
      "FutureRiskDateOfChangeDate": "04/05/2069",
      "FutureRiskDateOfChangeBasis": "Event",
      "FutureRiskDateOfChangeEventGUID": "API's State Pension Age",
      "OriginalInvestmentPercentageWithdrawn": "15%"
    }
  }
}
Response examples (403)
{
  "success": false,
  "message": "You do not have permission to edit the household."
}
Response examples (404)
{
  "success": false,
  "message": "Household not found."
}
Response examples (422)
{
  "success": false,
  "message": "Validation Error.",
  "data": {
    "ClientGUID": [
      "The client guid field is required."
    ]
  }
}
Response examples (500)
{
  "success": false,
  "message": "Failed to create savings in household"
}