# Update expenditure **PUT /api/v2/household/{HouseholdGUID}/expenditure/{ExpenditureGUID}** This endpoint allows users to update an expenditure for a household. ## Servers - https://api.fincalc.co.uk: https://api.fincalc.co.uk () ## Authentication methods - Bearer auth ## Parameters #### Path parameters - **HouseholdGUID** (string(uuid)) The HouseholdGUID of the client. - **ExpenditureGUID** (string(uuid)) The ExpenditureGUID you want to update. ## Body parameters Content-type: application/json - **Owner** () 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)) ClientGUID must be in the household. See Owner for details on what to set. - **ExpenditureDescription** (string) The following characters are not permitted: \\:*"<>| - **ExpenditureType** (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}/expenditure/options Expenditure type can not be changed if expenditure is back office linked. - **ExpenditureAmount** (number(float)) - **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) 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) 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. 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. - **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. If FutureChangeLevel = 1 then ending must be after future date of change. 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. If FutureChangeLevel = 1 then ending must be after future date of change. - **EndDate** (string | null) This field is required if the value of EndBasis = 3. EndDate must be after starting. If FutureChangeLevel = 1 then ending must be after future date of change. 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. - **Client1PercentageOwned** (number(float) | null) Percentage of ownership attributed to client 1. - Client 1 corresponds to the “ClientGUID” in the household record. - This is not a required field (and NULL is accepted) unless Client2PercentageOwned is greater than 0. - When set, the value must be greater than 0 and not exceed 100. Values can include 2 decimal places. - The total of Client1PercentageOwned + Client2PercentageOwned cannot exceed 100. - **Client2PercentageOwned** (number(float) | null) Percentage of ownership attributed to client 2. This is only applicable for joint households. - Client 2 corresponds to the “RelatedClientGUID” in the household record. - This is not a required field (and NULL is accepted) unless Client1PercentageOwned is greater than 0. - When set, the value must be greater than 0 and not exceed 100. Values can include 2 decimal places. - The total of Client2PercentageOwned + Client1PercentageOwned cannot exceed 100. - This field should not be set for single-client households. - **BackOfficeID** (string | null) - **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. - **FutureDateOfChangeBasis** (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}/incomes/options - **FutureDateOfChangeEventGUID** (string(uuid) | null) This field is required if the value of FutureLevelChange = 1 and FutureDateOfChangeBasis = 4. If FutureChangeLevel = 1 then ending must be after future date of change. 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 - **FutureDateOfChangeAge** (integer | null) This field is required if the value of FutureLevelChange = 1 and FutureDateOfChangeBasis = 2 or 7. FutureDateOfChangeAge must be in the future. If FutureChangeLevel = 1 then ending must be after future date of change. - **FutureDateOfChangeDate** (string | null) This field is required if the value of FutureLevelChange = 1 and FutureDateOfChangeBasis = 3. FutureDateOfChangeDate must be in the future. If FutureChangeLevel = 1 then ending must be after future date of change. 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. - **IsGoal** (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/withdrawals/options - **EventIcon** (string | null) Chose one of the preselected font awesome icons. If you do not enter an icon then a default icon will be applied. 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}/events/options - **EventColour** (string | null) Enter a colour code that is 6 characters long, like "C3A1F6." You can include "#" at the beginning, like "#C3A1F6," or leave it out. If you do not enter a value then a default value will be applied. - **GoalPriority** (integer | null) If you do not enter a value then a default value will be applied. - **ExcludeFormattedValues** (string | null) If set to any value, formatted values will be excluded from the response. ## Responses ### 200: Success #### Body Parameters: application/json (object) - **success** (boolean) - **data** (object) ### 403: Permission error. #### Body Parameters: application/json (object) - **success** (boolean) - **message** (string) ### 404: Household not found #### Body Parameters: application/json (object) - **success** (boolean) - **message** (string) ### 422: Validation error. #### Body Parameters: application/json (object) - **success** (boolean) - **message** (string) - **data** (object) Example validation error message. ### 500: Internal server error. #### Body Parameters: application/json (object) - **success** (boolean) - **message** (string) [Powered by Bump.sh](https://bump.sh)