Update contribution

PUT /api/v2/household/{HouseholdGUID}/savings/{SavingsGUID}/contributions/{ContributionGUID}

This endpoint allows users to update a contribution for a household saving.

Path parameters

  • HouseholdGUID string(uuid) Required

    The HouseholdGUID of the client.

  • SavingsGUID string(uuid) Required

    The SavingsGUID for the contribution you want to update.

  • ContributionGUID string(uuid) Required

    The ContributionGUID you want to update.

application/json

Body Required

  • TransactionType integer Required

    If SavingsType is any of the following: 7, 8, 9, 10, 11, 12, 14, 17, 18, 19, or 21 then the allowed types are 2, 3, and 12. Otherwise, if SavingsType = 3 then the allowed types are 2, 11, and 12. Otherwise, if SavingsType = 6 then the allowed types are 2, 3, 11, and 12. Finally, if none of the above conditions are met then the allowed types are 2 and 12.

  • LinkedSavingsGUID string(uuid) | null

    This field is required if the value of TransactionType = 11 or the value of TransactionType = 12. The value of LinkedSavingsGUID can not be the same as the SavingsGUID that this contribution is linked to.

    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/contributions/options

  • TransactionAmount number(float) | null

    This field is required except where the value of TransactionType = 11 or where the value of TransactionType = 3 and the value of TransactionPercentage is not = 0. TransactionAmount must be greater than 0.

  • TransactionPercentage number(float) | null

    This field is required where the value of TransactionType = 3 except where the value of TransactionAmount is not = 0. TransactionPercentage must be greater than 0.

  • Frequency integer | null

    This field is required if TransactionType is not = 11.

    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/contributions/options

  • 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}/savings/contributions/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}/savings/contributions/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 = 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}/savings/contributions/options

  • EndEventGUID string(uuid) | null

    This field is required if the value of EndBasis = 4 and the value of Frequency is not = 120 and the value of TransactionType is not = 8. Event end must be after starting.

    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/contributions/options

  • EndAge integer | null

    This field is required if the value of EndBasis = 2 or 7 and the value of Frequency is not = 120 and the value of TransactionType is not = 8. 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 and the value of Frequency is not = 120 and the value of TransactionType is not = 8. 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

Responses

PUT /api/v2/household/{HouseholdGUID}/savings/{SavingsGUID}/contributions/{ContributionGUID}
curl \
 -X PUT https://api.fincalc.co.uk/api/v2/household/{HouseholdGUID}/savings/{SavingsGUID}/contributions/{ContributionGUID} \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"TransactionType":2,"LinkedSavingsGUID":"F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7","TransactionAmount":5000.1,"TransactionPercentage":12,"Frequency":26,"StartBasis":3,"StartEventGUID":"F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7","StartAge":42,"StartDate":"2024-01-01","EndBasis":3,"EndEventGUID":"F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7","EndAge":65,"EndDate":"2025-01-01","BackOfficeID":13573,"BackOfficeSync":1}'
Request examples
{
  "TransactionType": 2,
  "LinkedSavingsGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
  "TransactionAmount": 5000.1,
  "TransactionPercentage": 12,
  "Frequency": 26,
  "StartBasis": 3,
  "StartEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
  "StartAge": 42,
  "StartDate": "2024-01-01",
  "EndBasis": 3,
  "EndEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
  "EndAge": 65,
  "EndDate": "2025-01-01",
  "BackOfficeID": 13573,
  "BackOfficeSync": 1
}
Response examples (200)
{
  "success": true,
  "data": {
    "TransactionGUID": "055CAE9F-6167-4186-8DE2-EC994D2222A2",
    "TransactionType": 2,
    "SavingsGUID": "246C6E3A-3A3D-42A6-BEA3-85A8E3272C2C",
    "LinkedSavingsGUID": "G3AAED8E-3A5G-66B5-BC6D-3E8C7646C9D9",
    "TransactionAmount": 5000.1,
    "TransactionPercentage": 12,
    "Frequency": 26,
    "StartBasis": 3,
    "StartEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
    "StartAge": 42,
    "StartDate": "2024-01-01",
    "EndBasis": 3,
    "EndEventGUID": "F3AAED8D-3A5F-44B5-BC6D-9E8C7646C9D7",
    "EndAge": 65,
    "EndDate": "2025-01-01",
    "BackOfficeID": "F7FBB6B1-2D90-485C-AE89-9F9FA0426F1E",
    "BackOfficeSync": 1,
    "FormattedValues": {
      "EndDate": "01/01/2025",
      "EndBasis": "Specific Date",
      "Frequency": "Paid Fortnightly",
      "StartDate": "01/01/2024",
      "StartBasis": "Specific Date",
      "SavingsGUID": "API Test",
      "EndEventGUID": "Terry's State Pension Age",
      "StareEventGUID": "Tom's State Pension Age",
      "TransactionType": "Savings Contribution",
      "LinkedSavingsGUID": "Current Account",
      "TransactionAmount": "£5,000",
      "TransactionPercentage": "12%"
    }
  }
}
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 savings contribution."
}