Update expenditure

PUT /api/v2/household/{HouseholdGUID}/expenditure/{ExpenditureGUID}

This endpoint allows users to update an expenditure for a household.

Path parameters

application/json

Body Required

  • Not set directly. Can be set as belonging to: the main client (ClientGUID from Household) ; the related client (RelatedClientGUID from Household); jointly owned by the main client and the related client. To set owned by the main client set ClientGUID as ClientGUID. To set owned by the related client set ClientGUID as RelatedClientGUID. To set as jointly owned set ClientGUID as ClientGUID, set JointOwnerClientGUID as RelatedClientGUID.

  • ClientGUID string(uuid) Required

    ClientGUID must be in the household. See Owner for details on what to set.

  • ExpenditureDescription string Required

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

    Maximum length is 50.

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

    Expenditure type can not be changed if expenditure is back office linked.

  • ExpenditureAmount number(float) Required
  • SumAssured number(float) | null

    This field is required if the value of ExpenditureType = 6.

  • AmountAfterDeath number(float) | null

    Only used if the value of ExpenditureType is not equal to 6 and both ClientGUID and JointOwnerClientGUID are not NULL.

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

  • JointOwnerClientGUID string(uuid) | null

    JointOwnerClientGUID must be different from ClientGUID and must be in the household. See Owner for details on what to set.

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

  • StartEventGUID string(uuid) | null

    This field is required if the value of StartBasis = 4. EventGUID must belong to 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}/expenditure/options

  • StartAge integer | null

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

    Minimum value is 0, maximum value is 130.

  • StartDate string | null

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

    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 Frequency is not equal to 120.

    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}/expenditure/options

  • EndEventGUID string(uuid) | null

    This field is required if the value of EndBasis = 4. Event end must be after starting. EventGUID must belong to 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}/expenditure/options

  • EndAge integer | null

    This field is required if the value of EndBasis = 2 or 7. EndAge must be after starting.

    Minimum value is 0, maximum value is 130.

  • EndDate string | null

    This field is required if the value of EndBasis = 3. EndDate must be after starting.

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

  • FutureGrossAmount number(float) | null

    This field is required if the value of FutureLevelChange = 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}/incomes/options

  • FutureDateOfChangeEventGUID string(uuid) | null

    This field is required if the value of FutureLevelChange = 1 and FutureDateOfChangeBasis = 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}/incomes/options

  • This field is required if the value of FutureLevelChange = 1 and FutureDateOfChangeBasis = 2 or 7. FutureDateOfChangeAge must be in the future

    Minimum value is 0, maximum value is 130.

  • This field is required if the value of FutureLevelChange = 1 and FutureDateOfChangeBasis = 3. FutureDateOfChangeDate 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}/expenditure/{ExpenditureGUID}
curl \
 -X PUT https://api.fincalc.co.uk/api/v2/household/{HouseholdGUID}/expenditure/{ExpenditureGUID} \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"ClientGUID":"3F0B1C88-6D80-4C17-BB3E-1D68E6D26405","ExpenditureDescription":"API Expenditure","ExpenditureType":1,"ExpenditureAmount":1500,"SumAssured":1500,"AmountAfterDeath":1250,"Frequency":12,"JointOwnerClientGUID":"3F0B1C88-6D80-4C17-BB3E-1D68E6D26405","StartBasis":4,"StartEventGUID":"F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7","StartAge":42,"StartDate":"2023-05-04","EndBasis":3,"EndEventGUID":"1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7","EndAge":65,"EndDate":"2069-02-01","BackOfficeID":13573,"BackOfficeSync":1,"FutureLevelChange":1,"FutureGrossAmount":100000,"FutureDateOfChangeBasis":3,"FutureDateOfChangeEventGUID":"1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7","FutureDateOfChangeAge":68,"FutureDateOfChangeDate":"2069-02-01"}'
Request examples
{
  "ClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
  "ExpenditureDescription": "API Expenditure",
  "ExpenditureType": 1,
  "ExpenditureAmount": 1500,
  "SumAssured": 1500,
  "AmountAfterDeath": 1250,
  "Frequency": 12,
  "JointOwnerClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
  "StartBasis": 4,
  "StartEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
  "StartAge": 42,
  "StartDate": "2023-05-04",
  "EndBasis": 3,
  "EndEventGUID": "1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7",
  "EndAge": 65,
  "EndDate": "2069-02-01",
  "BackOfficeID": 13573,
  "BackOfficeSync": 1,
  "FutureLevelChange": 1,
  "FutureGrossAmount": 100000,
  "FutureDateOfChangeBasis": 3,
  "FutureDateOfChangeEventGUID": "1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7",
  "FutureDateOfChangeAge": 68,
  "FutureDateOfChangeDate": "2069-02-01"
}
Response examples (200)
{
  "success": true,
  "data": {
    "ExpenditureGUID": "E3AEEF8D-3A6F-44B5-BA6D-8E8C7646C9D6",
    "ClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
    "ExpenditureDescription": "API Expenditure",
    "ExpenditureType": 1,
    "ExpenditureAmount": 1500,
    "SumAssured": 1500,
    "AmountAfterDeath": 1250,
    "Frequency": 12,
    "JointOwnerClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
    "StartBasis": 4,
    "StartEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
    "StartAge": 42,
    "StartDate": "2023-05-04",
    "EndBasis": 3,
    "EndEventGUID": "1A58F6C8-90BD-4D2D-9B22-3E1F9C8E15E7",
    "EndAge": 65,
    "EndDate": "2069-02-01",
    "BackOfficeID": "F7FBB6B1-2D90-485C-AE89-9F9FA0426F1E",
    "BackOfficeSync": 1,
    "FutureLevelChange": 1,
    "FutureGrossAmount": 10000,
    "FutureDateOfChangeBasis": 4,
    "FutureDateOfChangeEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
    "FutureDateOfChangeAge": 55,
    "FutureDateOfChangeDate": "2069-05-04",
    "FormattedValues": {
      "EndDate": "01/02/2069",
      "EndBasis": "Specific Date",
      "Frequency": "per month",
      "StartBasis": "Event",
      "SumAssured": "£1,500",
      "StartEventGUID": "Tom's State Pension Age",
      "ExpenditureType": "Essential",
      "AmountAfterDeath": "£1,250",
      "ExpenditureAmount": "£1,500",
      "FutureGrossAmount": "£10,000",
      "FutureLevelChange": "Yes",
      "FutureDateOfChangeDate": "04/05/2069",
      "FutureDateOfChangeBasis": "Event",
      "FutureDateOfChangeEventGUID": "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 expenditure."
}