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

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

Path parameters

  • HouseholdGUID string(uuid) Required

    The HouseholdGUID of the client.

application/json

Body Required

  • ClientGUID string(uuid) Required

    ClientGUID must be in the household.

  • PensionDescription string Required

    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

  • DCSpecialType integer

    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 represents the pension’s retirement date or retirement age. All pensions are assumed to continue indefinitely once payments begin.

    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

  • ATRGUID string(uuid) | 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

  • 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.

  • GuaranteePeriodMonths integer | null

    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.

  • LumpSumDeathBenefitBasis integer | null

    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

  • FutureRiskLevelChange 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

  • FutureRiskATRGUID string(uuid) | 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}/pensions/options

  • FutureRiskDateOfChangeBasis integer

    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

  • FutureRiskDateOfChangeEventGUID string(uuid) | null

    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

  • FutureRiskDateOfChangeAge integer | null

    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.

  • FutureRiskDateOfChangeDate string | null

    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.

  • ExcludeFormattedValues string | null

    If set to any value, formatted values will be excluded from the response.

  • FullyCrystallised integer | null

    This field is only available for PensionType = 3, if this is set crystallised fund value will be equal to current value

    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

  • SpousePensionBasis 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

Responses

  • 201 application/json

    Success

    Hide response attributes Show response attributes object
    • success boolean

      Default value is true.

    • data object
      Hide data attributes Show data attributes object
      • PensionGUID string(uuid)
      • ClientGUID string(uuid)
      • PensionDescription string
      • PensionType integer
      • DependantGUID string(uuid)
      • DCSpecialType integer
      • CurrentValue number(float)
      • CrystallisedFundValue number(float)
      • ValueDate string(date)
      • EndBasis integer
      • EndEventGUID string(uuid)
      • EndAge integer
      • EndDate string
      • Frequency integer
      • TaxBasis integer
      • ATRGUID string(uuid)
      • NRA integer
      • LinkedIncomeGUID string(uuid)
      • ProtectedAge integer
      • ProtectedTFC integer
      • ProtectedTFCADayValue number(float)
      • ProtectedTFCADayFundPension number(float)
      • SpousePension number(float)
      • GuaranteePeriodYears integer
      • GuaranteePeriodMonths integer
      • DBRetirementBasis integer
      • AdditionalCash number(float)
      • DCRetirementBasis integer
      • DBAccrualBasis integer
      • BackOfficeID string
      • BackOfficeSync integer
      • CrystallisedPreviously number(float)
      • SumAssured number(float)
      • LumpSumDeathBenefitBasis integer
      • DeathMultiple number(float)
      • PolicyNumber string
      • ProviderCode string
      • FutureRiskLevelChange integer
      • FutureRiskATRGUID string(uuid)
      • FutureRiskDateOfChangeBasis integer
      • FutureRiskDateOfChangeEventGUID string(uuid)
      • FutureRiskDateOfChangeAge integer
      • FutureRiskDateOfChangeDate string
      • FullyCrystallised integer
      • SpousePensionBasis integer
      • FormattedValues object
  • 403 application/json

    Permission error.

    Hide response attributes Show response attributes object
    • success boolean

      Default value is false.

    • message string
  • 404 application/json

    Household not found

    Hide response attributes Show response attributes object
    • success boolean

      Default value is false.

    • message string
  • 422 application/json

    Validation error.

    Hide response attributes Show response attributes object
    • success boolean

      Default value is false.

    • message string
    • data object

      Example validation error message.

      Hide data attribute Show data attribute object
      • ClientGUID array[string]
  • 500 application/json

    Internal server error.

    Hide response attributes Show response attributes object
    • success boolean

      Default value is false.

    • message string
POST /api/v2/household/{HouseholdGUID}/pensions
curl \
 --request POST 'https://api.fincalc.co.uk/api/v2/household/{HouseholdGUID}/pensions' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"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":65,"EndAge":65,"EndDate":"2069-02-01","Frequency":1,"TaxBasis":1,"ATRGUID":"48BBFB36-8CFC-4582-AEA7-51DBDF35B13D","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,"FutureRiskATRGUID":"F6783B9B-4953-40DC-BDDB-B3599D7BF83A","FutureRiskDateOfChangeBasis":3,"FutureRiskDateOfChangeEventGUID":"1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7","FutureRiskDateOfChangeAge":65,"FutureRiskDateOfChangeDate":"2069-02-01","ExcludeFormattedValues":1,"FullyCrystallised":2,"SpousePensionBasis":1}'
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": 65,
  "EndAge": 65,
  "EndDate": "2069-02-01",
  "Frequency": 1,
  "TaxBasis": 1,
  "ATRGUID": "48BBFB36-8CFC-4582-AEA7-51DBDF35B13D",
  "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,
  "FutureRiskATRGUID": "F6783B9B-4953-40DC-BDDB-B3599D7BF83A",
  "FutureRiskDateOfChangeBasis": 3,
  "FutureRiskDateOfChangeEventGUID": "1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7",
  "FutureRiskDateOfChangeAge": 65,
  "FutureRiskDateOfChangeDate": "2069-02-01",
  "ExcludeFormattedValues": 1,
  "FullyCrystallised": 2,
  "SpousePensionBasis": 1
}
Response examples (201)
{
  "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,
    "ATRGUID": "A4148DC8-D95A-49F5-ACA3-5D894D461C22",
    "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,
    "FutureRiskATRGUID": "425A6B40-A09E-447A-A90A-A7E3BBBC639C",
    "FutureRiskDateOfChangeBasis": 4,
    "FutureRiskDateOfChangeEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
    "FutureRiskDateOfChangeAge": 55,
    "FutureRiskDateOfChangeDate": "2069-05-04",
    "FullyCrystallised": 2,
    "SpousePensionBasis": 1,
    "FormattedValues": {
      "PensionType": "Defined Benefit Deferred",
      "DependantGUID": "Diane Edwards",
      "DCSpecialType": "QROP scheme (30% tax free cash)",
      "CurrentValue": "£1,000",
      "CrystallisedFundValue": "£1,000",
      "ValueDate": "25/04/2023",
      "EndBasis": "Event",
      "EndEventGUID": "API Tester",
      "EndDate": "01/02/2069",
      "Frequency": "One-off",
      "TaxBasis": "Taxable",
      "ATRGUID": "Cautious",
      "LinkedIncomeGUID": "Salary",
      "ProtectedAge": "No",
      "ProtectedTFC": "No",
      "ProtectedTFCADayValue": "£1,000",
      "ProtectedTFCADayFundPension": "£1,000",
      "SpousePension": "12%",
      "DBRetirementBasis": "Full Pension",
      "DCRetirementBasis": "100% Annuity",
      "CrystallisedPreviously": "£1,000",
      "SumAssured": "£1,500",
      "LumpSumDeathBenefitBasis": "Multiple of pension",
      "DeathMultiple": "x4",
      "ProviderCode": "1st Policy Company Limited",
      "FutureRiskLevelChange": "Yes",
      "FutureRiskATRGUID": "Lowest",
      "FutureRiskDateOfChangeBasis": "Event",
      "FutureRiskDateOfChangeEventGUID": "API's State Pension Age",
      "FutureRiskDateOfChangeDate": "04/05/2069",
      "FullyCrystallised": "No",
      "SpousePensionBasis": "Pre commutation"
    }
  }
}
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 pension in household"
}