Update pension

PUT /api/v2/household/{HouseholdGUID}/pensions/{PensionGUID}

This endpoint allows users to update a pension for a household.

Path parameters

  • HouseholdGUID string(uuid) Required

    The HouseholdGUID of the client.

  • PensionGUID string(uuid) Required

    The PensionGUID you want to update.

application/json

Body Required

  • ClientGUID string(uuid) Required

    ClientGUID must be in the household.

  • PensionDescription string Required

    Pension description can not be changed if the pension type is 9 (Defined Benefit Deferred Pension Transvas Linked).

    Maximum length is 100.

  • PensionType integer Required

    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

    Pension type can not be changed if pension has a linked Income, Contribution or Withdrawal

  • DependantGUID string(uuid) | null

    Must be a dependant of one of the clients within the household. This field is only needed for pension type 3 but is not required.

    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

  • 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 input is only required if PensionType == 3 (DC Contribution Fund).

  • CurrentValue number(float) Required
  • CrystallisedFundValue number(float) | null

    If input, needs to be equal to or lower than the CurrentValue.

  • ValueDate string(date) Required

    This field is required if any of the following conditions are met:

    • The value of PensionType = 2,3,4,5,6 or 7 (ValueDate must be before or equal to now).
    • The value of PensionType = 8 and The value of EndBasis = 1 (ValueDate must be before or equal to now).
    • If the value of PensionType = 1 (ValueDate must be before retirement age/date or equal to normal retirement age).
    • If the value of PensionType = 8 and the value of EndBasis is not = 1 (ValueDate must be before retirement age/date or equal to the next 6th April).

    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.

  • EndBasis integer | null

    This field is required if the value of PensionType is not = 3.

    The value of EndBasis:

    • must be 1 when the value of PensionType = 4, 5, or 7
    • must be 2, 3, or 4 when the value of PensionType = 1, 2, or 3
    • must be 1, 2, 3, or 4 when the value of PensionType = 8

    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

  • EndEventGUID string(uuid) | null

    This field is required if the value of EndBasis = 4
    The value of EndEventGUID:

    • Cannot be before minimum pension age unless protected when the value of PensionType = 1 or 2.
    • Cannot be before State Pension Age when the value of PensionType = 8.

    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

  • EndAge integer | null

    This field is required if the value of EndBasis = 2 or 7.

    The value of EndAge:

    • Cannot have a past retirement date with an annuity retirement choice when the value of PensionType = 3.
    • Must be in future when the value of PensionType = 3 or 8.
    • Cannot be before minimum pension age unless protected when the value of PensionType = 1, 2 or 3.
    • Must not be before State Pension Age when the value of PensionType = 8.

    Minimum value is 0, maximum value is 130.

  • EndDate string | null

    This field is required if the value of EndBasis = 3.

    The value of EndDate:

    • Must be after now when the value of PensionType = 3 or 8.
    • Cannot be before minimum pension age unless protected when the value of PensionType = 1, 2 or 3.
    • Must not be before State Pension Age when the value of PensionType = 8.
      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.
  • Frequency integer | null

    This field is required if any of the following conditions are met:

    • The value of PensionType = 4, 5, 6 or 7.
    • The value of PensionType = 8 and the value of EndBasis = 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

  • TaxBasis 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}/pensions/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

  • NRA integer | null

    This field is required if the value of PensionType = 1 or 2.

    Minimum value is 0.

  • LinkedIncomeGUID string(uuid) | null

    The value of LinkedIncomeGUID:

    • Must be owned by the owner of the pension.
    • Cannot be edited if pension has a contribution.

    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

  • ProtectedAge 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}/pensions/options

  • ProtectedTFC 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}/pensions/options

  • ProtectedTFCADayValue number(float) | null

    This field is required if the value of ProtectedTFC = 1.

  • ProtectedTFCADayFundPension number(float) | null

    This field is required if the value of ProtectedTFC = 1.

  • SpousePension number(float) | null

    Minimum value is 0.

  • GuaranteePeriodYears integer | null

    Minimum value is 0.

  • Minimum value is 0, maximum value is 11.

  • DBRetirementBasis 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}/pensions/options

  • AdditionalCash number(float) | null
  • DCRetirementBasis 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}/pensions/options

  • DBAccrualBasis 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}/pensions/options

  • 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
  • CrystallisedPreviously number(float) | null
  • SumAssured number(float) | null

    This field is required if the value of PensionType = 1 or 2 and the value of LumpSumDeathBenefitBasis = 2.

  • This field is required if the value of PensionType = 1 or 2.

    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

  • DeathMultiple number(float) | null

    This field is required if the value of PensionType = 1 or 2 and the value of LumpSumDeathBenefitBasis = 3. The value of DeathMultiple must be greater than or equal to 1 and less than or equal to 50.

  • 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}/pensions/options

  • 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 PensionType = 3 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 PensionType = 3 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 PensionType = 3, 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 PensionType = 3, 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 PensionType = 3, 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

PUT /api/v2/household/{HouseholdGUID}/pensions/{PensionGUID}
curl \
 -X PUT https://api.fincalc.co.uk/api/v2/household/{HouseholdGUID}/pensions/{PensionGUID} \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"ClientGUID":"3F0B1C88-6D80-4C17-BB3E-1D68E6D26405","PensionDescription":"DB Fund","PensionType":1,"DependantGUID":"4FDA7A23-46AF-45B0-89DB-635544D65147","DCSpecialType":2,"CurrentValue":1000.1,"CrystallisedFundValue":1000.1,"ValueDate":"2023-04-25","EndBasis":4,"EndEventGUID":"EBBBE624-0994-FF70-4691-E5FBFFDB9BD6","EndAge":65,"EndDate":"2069-02-01","Frequency":1,"TaxBasis":1,"ATRSlot":22,"NRA":75,"LinkedIncomeGUID":"EBBBE624-0994-FF70-4691-E5FBFFDB9BD6","ProtectedAge":2,"ProtectedTFC":2,"ProtectedTFCADayValue":1000.1,"ProtectedTFCADayFundPension":1000.1,"SpousePension":12,"GuaranteePeriodYears":12,"GuaranteePeriodMonths":5,"DBRetirementBasis":1,"AdditionalCash":1000,"DCRetirementBasis":1,"DBAccrualBasis":1,"BackOfficeID":13573,"BackOfficeSync":1,"CrystallisedPreviously":1000.1,"SumAssured":1500,"LumpSumDeathBenefitBasis":4,"DeathMultiple":1500,"PolicyNumber":134300454,"ProviderCode":"8379dc94-3bcf-e011-87a9-b8ac6f1693a9","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",
  "PensionDescription": "DB Fund",
  "PensionType": 1,
  "DependantGUID": "4FDA7A23-46AF-45B0-89DB-635544D65147",
  "DCSpecialType": 2,
  "CurrentValue": 1000.1,
  "CrystallisedFundValue": 1000.1,
  "ValueDate": "2023-04-25",
  "EndBasis": 4,
  "EndEventGUID": "EBBBE624-0994-FF70-4691-E5FBFFDB9BD6",
  "EndAge": 65,
  "EndDate": "2069-02-01",
  "Frequency": 1,
  "TaxBasis": 1,
  "ATRSlot": 22,
  "NRA": 75,
  "LinkedIncomeGUID": "EBBBE624-0994-FF70-4691-E5FBFFDB9BD6",
  "ProtectedAge": 2,
  "ProtectedTFC": 2,
  "ProtectedTFCADayValue": 1000.1,
  "ProtectedTFCADayFundPension": 1000.1,
  "SpousePension": 12,
  "GuaranteePeriodYears": 12,
  "GuaranteePeriodMonths": 5,
  "DBRetirementBasis": 1,
  "AdditionalCash": 1000,
  "DCRetirementBasis": 1,
  "DBAccrualBasis": 1,
  "BackOfficeID": 13573,
  "BackOfficeSync": 1,
  "CrystallisedPreviously": 1000.1,
  "SumAssured": 1500,
  "LumpSumDeathBenefitBasis": 4,
  "DeathMultiple": 1500,
  "PolicyNumber": 134300454,
  "ProviderCode": "8379dc94-3bcf-e011-87a9-b8ac6f1693a9",
  "FutureRiskLevelChange": 1,
  "FutureRiskLevel": 17,
  "FutureRiskDateOfChangeBasis": 3,
  "FutureRiskDateOfChangeEventGUID": "1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7",
  "FutureRiskDateOfChangeAge": 65,
  "FutureRiskDateOfChangeDate": "2069-02-01"
}
Response examples (200)
{
  "success": true,
  "data": {
    "PensionGUID": "E3AEEF8D-3A6F-44B5-BA6D-8E8C7646C9D6",
    "ClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
    "PensionDescription": "DB Fund",
    "PensionType": 1,
    "DependantGUID": "4FDA7A23-46AF-45B0-89DB-635544D65147",
    "DCSpecialType": 2,
    "CurrentValue": 1000.1,
    "CrystallisedFundValue": 1000.1,
    "ValueDate": "2023-04-25",
    "EndBasis": 4,
    "EndEventGUID": "A3290089-8FF3-3729-21E2-492423599F57",
    "EndAge": 70,
    "EndDate": "2069-02-01",
    "Frequency": 1,
    "TaxBasis": 1,
    "ATRSlot": 22,
    "NRA": 75,
    "LinkedIncomeGUID": "D3290089-8FF3-3729-21E2-492423599F54",
    "ProtectedAge": 2,
    "ProtectedTFC": 2,
    "ProtectedTFCADayValue": 1000.1,
    "ProtectedTFCADayFundPension": 1000.1,
    "SpousePension": 12,
    "GuaranteePeriodYears": 12,
    "GuaranteePeriodMonths": 5,
    "DBRetirementBasis": 1,
    "AdditionalCash": 1000,
    "DCRetirementBasis": 1,
    "DBAccrualBasis": 1,
    "BackOfficeID": "F7FBB6B1-2D90-485C-AE89-9F9FA0426F1E",
    "BackOfficeSync": 1,
    "CrystallisedPreviously": 1000.1,
    "SumAssured": 1500,
    "LumpSumDeathBenefitBasis": 4,
    "DeathMultiple": 1500,
    "PolicyNumber": 134300454,
    "ProviderCode": "8379dc94-3bcf-e011-87a9-b8ac6f1693a9",
    "FutureRiskLevelChange": 1,
    "FutureRiskLevel": 17,
    "FutureRiskDateOfChangeBasis": 4,
    "FutureRiskDateOfChangeEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
    "FutureRiskDateOfChangeAge": 55,
    "FutureRiskDateOfChangeDate": "2069-05-04",
    "FormattedValues": {
      "ATRSlot": "Cautious",
      "EndDate": "01/02/2069",
      "EndBasis": "Event",
      "TaxBasis": "Taxable",
      "Frequency": "One-off",
      "ValueDate": "25/04/2023",
      "SumAssured": "£1,500",
      "PensionType": "Defined Benefit Deferred",
      "CurrentValue": "£1,000",
      "EndEventGUID": "API Tester",
      "ProtectedAge": "No",
      "ProtectedTFC": "No",
      "ProviderCode": "1st Policy Company Limited",
      "DCSpecialType": "QROP (30% tax free cash)",
      "DeathMultiple": "x4",
      "DependantGUID": "Diane Edwards",
      "SpousePension": "12%",
      "FutureRiskLevel": "Lowest",
      "LinkedIncomeGUID": "Salary",
      "DBRetirementBasis": "Full Pension",
      "DCRetirementBasis": "100% Annuity",
      "CrystallisedFundValue": "£1,000",
      "FutureRiskLevelChange": "Yes",
      "ProtectedTFCADayValue": "£1,000",
      "CrystallisedPreviously": "£1,000",
      "LumpSumDeathBenefitBasis": "Multiple of pension",
      "FutureRiskDateOfChangeDate": "04/05/2069",
      "FutureRiskDateOfChangeBasis": "Event",
      "ProtectedTFCADayFundPension": "£1,000",
      "FutureRiskDateOfChangeEventGUID": "API's State Pension Age"
    }
  }
}
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 update the pension."
}