Create expenditure

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

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

Path parameters

  • HouseholdGUID string(uuid) Required

    The HouseholdGUID of the client.

application/json

Body

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

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

    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.

    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.

    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.

    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.

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

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

    Minimum value is 0, maximum value is 130.

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

    Minimum value is 1, maximum value is 5.

  • ExcludeFormattedValues string | null

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

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
      • ExpenditureGUID string(uuid)
      • ClientGUID string(uuid)
      • ExpenditureDescription string
      • ExpenditureType integer
      • ExpenditureAmount number(float)
      • SumAssured number(float)
      • AmountAfterDeath number(float)
      • Frequency integer
      • JointOwnerClientGUID string(uuid)
      • StartBasis integer
      • StartEventGUID string(uuid)
      • StartAge integer
      • StartDate string
      • EndBasis integer
      • EndEventGUID string(uuid) | null
      • EndAge integer
      • EndDate string
      • BackOfficeID string
      • BackOfficeSync integer
      • FutureLevelChange integer
      • FutureGrossAmount number(float)
      • FutureDateOfChangeBasis integer
      • FutureDateOfChangeEventGUID string(uuid)
      • FutureDateOfChangeAge integer
      • FutureDateOfChangeDate string
      • IsGoal integer
      • EventIcon string
      • EventColour string
      • GoalPriority 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}/expenditure
curl \
 --request POST 'https://api.fincalc.co.uk/api/v2/household/{HouseholdGUID}/expenditure' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"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","IsGoal":1,"EventIcon":"fa-solid fa-rings-wedding","EventColour":"C3A1F6","GoalPriority":3,"ExcludeFormattedValues":1}'
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",
  "IsGoal": 1,
  "EventIcon": "fa-solid fa-rings-wedding",
  "EventColour": "C3A1F6",
  "GoalPriority": 3,
  "ExcludeFormattedValues": 1
}
Response examples (201)
{
  "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",
    "IsGoal": 1,
    "EventIcon": "fa-solid fa-rings-wedding",
    "EventColour": "#C3A1F6",
    "GoalPriority": 3,
    "FormattedValues": {
      "IsGoal": "Yes",
      "EndDate": "01/02/2069",
      "EndBasis": "Specific Date",
      "EventIcon": "rings-wedding",
      "Frequency": "per month",
      "StartBasis": "Event",
      "SumAssured": "£1,500",
      "GoalPriority": "Medium",
      "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 create expenditure in household"
}