Update client

PUT /api/v2/clients/{ClientGUID}

Update a client record record.

Path parameters

  • ClientGUID string(uuid) Required

    The GUID of the client you want to update.

application/json

Body

  • Title string | null

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

    Maximum length is 20.

  • FirstName string Required

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

    Minimum length is 2, maximum length is 50.

  • Surname string Required

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

    Maximum length is 50.

  • KnownAs string | null

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

    Maximum length is 50.

  • Gender integer Required

    An integer representing the gender of the client:

    • 1: Male
    • 2: Female
    • 3: Other
  • EmailAddress string(email) | null

    Maximum length is 64.

  • Mobile string | null

    Maximum length is 20.

  • DateOfBirth string(date) Required

    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. The response will contain an object of formatted values where the date will in the format "d/m/Y".

  • MaritalStatus 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/clients/options

  • MarriageAllowance integer | null

    An integer representing the status of the clients marriage allowance:

    • 1: Yes
    • 2: No
  • NINumber string | null
  • EmploymentStatus 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/clients/options

  • OccupationCode 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/clients/options

    Maximum length is 8.

  • RetirementPlanned 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/clients/options

    This field is required if the value of EmploymentStatus = 1, 2, 3, 4 or 6.

  • RetirementDate string(date) | null

    This field is required if the value of EmploymentStatus = 1, 2, 3, 4 or 6 and the value of RetirementPlanned = 2. 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. The response will contain an object of formatted values where the date will in the format "d/m/Y".

  • RetirementAge integer | null

    This field is required if the value of EmploymentStatus = 1, 2, 3, 4 or 6 and the value of RetirementPlanned = 1.

    Minimum value is 0, maximum value is 130.

  • AddressCountryCode 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/clients/options

  • AddressLine1 string | null

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

    Maximum length is 50.

  • AddressLine2 string | null

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

    Maximum length is 50.

  • AddressLine3 string | null

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

    Maximum length is 50.

  • AddressLine4 string | null

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

    Maximum length is 50.

  • AddressTown string | null

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

    Maximum length is 50.

  • AddressCounty string | null

    Maximum length is 50.

  • AddressPostCode string | null

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

    Maximum length is 20.

  • IncomeTaxArea integer | null

    An integer representing the clients income tax area:

    • 1: UK excluding Scotland
    • 2: Scotland
    • 3: Other
    • 4: All at 20%
    • 5: No Tax Applied
  • AdviserID integer | null

    This field is required if the client portal is enabled for the user you are editing.

    To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/clients/options

  • Reference string | null

    Maximum length is 50.

  • AttitudeToRiskLevel 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/clients/options

  • ClientTier 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/clients/options

  • To retrieve a comprehensive list of acceptable values and their corresponding formatted values, you may make a request to the designated endpoint: /api/v2/clients/options

  • AddressFrom string(date) | null

    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. The response will contain an object of formatted values where the date will in the format "d/m/Y".

  • NextReviewDate string(date) | null

    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. The response will contain an object of formatted values where the date will in the format "d/m/Y".

  • LTA object
    Hide LTA attributes Show LTA attributes object
    • MPAATriggered integer | null

      An integer representing the status of the clients MPAA:

      • 1: Yes
      • 2: No
    • MpaTriggerDate string(date)

      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. The response will contain an object of formatted values where the date will in the format "d/m/Y". Date should be before or equal to today.

    • LTAHMRCertificateValue number(float) | null

      This field is required if any of the following conditions are met:

      • The value of LTAProtectionType = 4 and the value of LTAAppliedFor = 1.
      • The value of LTAProtectionType = 6 and the value of LTAAppliedFor = 1.

      If the value of LTAProtectionType is 4: - LTAHMRCertificateValue must be greater than £1,250,000. - LTAHMRCertificateValue must be less than or equal to £1,500,000.

      If the value of LTAProtectionType is 6: - LTAHMRCertificateValue must be greater than £1,000,000. - LTAHMRCertificateValue must be less than or equal to £1,250,000.

    • LTAProtectedCashAmount number(float) | null

      This field is required if the value of LTAProtectionType = 2 and the value of LTAProtectedLumpSum = 1 LTAProtectedCashAmount must be greater than 0.

      Minimum value is 1.

    • LTAProtectedCashPercentage number(float) | null

      This field is required if the value of LTAProtectionType = 1 and the value of LTAProtectedLumpSum = 1 LTAProtectedCashPercentage must be greater than 0.

      Minimum value is 1.

    • LTAPrevBCEs integer | null

      This field is required if any of the following conditions are met:

      • The value of LTAProtectionType = 2
      • The value of LTAProtectionType = 1 and the value of LTAProtectedLumpSum = 2.
    • LTAPercentageLeft number(float) | null

      Minimum value is 0, maximum value is 100.

    • LTAAppliedFor integer | null

      An integer representing weather or not the client has HMRC protection:

      • 1: Yes
      • 2: No
    • LTAProtectionType 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/clients/options This field is required if the value of LTAAppliedFor = 1.

    • LTAEnhancementFactor number(float) | null

      This field is required if the value of LTAProtectionType = 2.

    • LTAProtectedLumpSum integer | null

      An integer representing the clients protected lump sum rights:

      • 1: Yes
      • 2: No

      This field is required if any of the following conditions are met:

      • The value of LTAProtectionType = 1
      • The value of LTAProtectionType = 2
    • InheritedNilRateBand number(float) | null
    • InheritedResidenceNilRateBand number(float) | null
    • TaxFreeCash array[object]

      This field is required if any of the following conditions are met:

      • The value of LTAProtectionType = 2 and the value of LTAProtectedLumpSum = 1 and the value of LTAPrevBCEs = 1.
      • The value of LTAProtectionType = 1 and the value of LTAProtectedLumpSum = 2 and the value of LTAPrevBCEs = 1.
      • The value of LTAProtectionType = 2 and the value of LTAProtectedLumpSum = 2 and the value of LTAPrevBCEs = 1.

      An array of objects representing multiple rows of tax-free cash data. Each object should have the following properties: - BCEDate: a date string in the format yyyy-mm-dd. Duplication of BCEDate is not permitted. - BCEAmount: an integer representing the BCE amount. - BCETFC: an integer representing the BCE tax-free cash amount. (Not required if LTAProtectionType = 1 or 2 and LTAProtectedLumpSum = 2)

      Updating the array will overwrite any existing data for that client, therefore if adding new rows to the array, data for existing rows should be included in the request.

Responses

PUT /api/v2/clients/{ClientGUID}
curl \
 -X PUT https://api.fincalc.co.uk/api/v2/clients/{ClientGUID} \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"Title":"Mr","FirstName":"John","Surname":"Smith","KnownAs":"Big John","Gender":1,"EmailAddress":"hello@example.com","Mobile":"07777000858","DateOfBirth":"2024-05-04","MaritalStatus":1,"MarriageAllowance":1,"NINumber":"JW001100A","EmploymentStatus":1,"OccupationCode":"AAB00001","RetirementPlanned":1,"RetirementDate":"1990-05-04","RetirementAge":68,"AddressCountryCode":826,"AddressLine1":"216 Newgate Street","AddressLine2":"Address Line 2","AddressLine3":"Address Line 3","AddressLine4":"Address Line 4","AddressTown":"Westminister","AddressCounty":"London","AddressPostCode":"SW1A 1AA","IncomeTaxArea":1,"AdviserID":42,"Reference":"API Client","AttitudeToRiskLevel":42,"ClientTier":42,"FinancialDependenceAge":1,"AddressFrom":"1990-05-04","NextReviewDate":"1990-05-04","LTA":{"MPAATriggered":1,"MpaTriggerDate":"1990-05-04","LTAHMRCertificateValue":42.0,"LTAProtectedCashAmount":42.0,"LTAProtectedCashPercentage":42.0,"LTAPrevBCEs":1,"LTAPercentageLeft":42.0,"LTAAppliedFor":1,"LTAProtectionType":1,"LTAEnhancementFactor":42.0,"LTAProtectedLumpSum":42,"InheritedNilRateBand":42.0,"InheritedResidenceNilRateBand":42.0,"TaxFreeCash":[{"BCETFC":1000000,"BCEDate":"2006-04-07","BCEAmount":1000000},{"BCETFC":2000000,"BCEDate":"2006-04-05","BCEAmount":2000000}]}}'
Request examples
{
  "Title": "Mr",
  "FirstName": "John",
  "Surname": "Smith",
  "KnownAs": "Big John",
  "Gender": 1,
  "EmailAddress": "hello@example.com",
  "Mobile": "07777000858",
  "DateOfBirth": "2024-05-04",
  "MaritalStatus": 1,
  "MarriageAllowance": 1,
  "NINumber": "JW001100A",
  "EmploymentStatus": 1,
  "OccupationCode": "AAB00001",
  "RetirementPlanned": 1,
  "RetirementDate": "1990-05-04",
  "RetirementAge": 68,
  "AddressCountryCode": 826,
  "AddressLine1": "216 Newgate Street",
  "AddressLine2": "Address Line 2",
  "AddressLine3": "Address Line 3",
  "AddressLine4": "Address Line 4",
  "AddressTown": "Westminister",
  "AddressCounty": "London",
  "AddressPostCode": "SW1A 1AA",
  "IncomeTaxArea": 1,
  "AdviserID": 42,
  "Reference": "API Client",
  "AttitudeToRiskLevel": 42,
  "ClientTier": 42,
  "FinancialDependenceAge": 1,
  "AddressFrom": "1990-05-04",
  "NextReviewDate": "1990-05-04",
  "LTA": {
    "MPAATriggered": 1,
    "MpaTriggerDate": "1990-05-04",
    "LTAHMRCertificateValue": 42.0,
    "LTAProtectedCashAmount": 42.0,
    "LTAProtectedCashPercentage": 42.0,
    "LTAPrevBCEs": 1,
    "LTAPercentageLeft": 42.0,
    "LTAAppliedFor": 1,
    "LTAProtectionType": 1,
    "LTAEnhancementFactor": 42.0,
    "LTAProtectedLumpSum": 42,
    "InheritedNilRateBand": 42.0,
    "InheritedResidenceNilRateBand": 42.0,
    "TaxFreeCash": [
      {
        "BCETFC": 1000000,
        "BCEDate": "2006-04-07",
        "BCEAmount": 1000000
      },
      {
        "BCETFC": 2000000,
        "BCEDate": "2006-04-05",
        "BCEAmount": 2000000
      }
    ]
  }
}
Response examples (200)
{
  "success": true,
  "data": {
    "ClientGUID": "3F0B1C88-6D80-4C17-BB3E-1D68E6D26405",
    "Title": "Mr",
    "FirstName": "John",
    "Surname": "Smith",
    "KnownAs": "Big John",
    "Gender": 1,
    "EmailAddress": "hello@example.com",
    "Mobile": "07777000858",
    "DateOfBirth": "1990-05-04",
    "MaritalStatus": 1,
    "MarriageAllowance": 1,
    "NINumber": "JW001100A",
    "EmploymentStatus": 1,
    "OccupationCode": "AAB00001",
    "RetirementPlanned": 1,
    "RetirementDate": "1990-05-04",
    "RetirementAge": 69,
    "AddressCountryCode": 826,
    "AddressLine1": "216 Newgate Street",
    "AddressLine2": "Address Line 2",
    "AddressLine3": "Address Line 3",
    "AddressLine4": "Address Line 4",
    "AddressTown": "Westminister",
    "AddressCounty": "London",
    "AddressPostCode": "SW1A 1AA",
    "IncomeTaxArea": 1,
    "AdviserID": 42,
    "Reference": "API Client",
    "AttitudeToRiskLevel": 42,
    "ClientTier": 42,
    "FinancialDependenceAge": 1,
    "AddressFrom": "1990-05-04",
    "NextReviewDate": "1990-05-04",
    "LTA": {
      "MPAATriggered": 1,
      "MpaTriggerDate": "1990-05-04",
      "LTAHMRCertificateValue": 42.0,
      "LTAProtectedCashAmount": 42.0,
      "LTAProtectedCashPercentage": 42.0,
      "LTAPrevBCEs": 1,
      "LTAPercentageLeft": 42.0,
      "LTAAppliedFor": 1,
      "LTAProtectionType": 1,
      "LTAEnhancementFactor": 42.0,
      "LTAProtectedLumpSum": 42,
      "InheritedNilRateBand": 42,
      "InheritedResidenceNilRateBand": 42,
      "FormattedValues": {
        "LTAPrevBCEs": "Yes",
        "LTAAppliedFor": "Yes",
        "MPAATriggered": "Yes",
        "MpaTriggerDate": "04/05/1990",
        "LTAProtectionType": "Primary Protection",
        "LTAProtectedLumpSum": "Yes",
        "LTAProtectedCashAmount": "£42",
        "LTAProtectedCashPercentage": "42%"
      },
      "TaxFreeCash": [
        {
          "BCETFC": 1000000,
          "BCEDate": "2006-04-07",
          "BCEAmount": 1000000,
          "FormattedValues": {
            "BCETFC": "£1,000,000",
            "BCEDate": "07/04/2006",
            "BCEAmount": "£1,000,000"
          }
        },
        {
          "BCETFC": 2000000,
          "BCEDate": "2006-04-05",
          "BCEAmount": 2000000,
          "FormattedValues": {
            "BCETFC": "£2,000,000",
            "BCEDate": "05/04/2006",
            "BCEAmount": "£2,000,000"
          }
        }
      ]
    },
    "FormattedValues": {
      "Gender": "Male",
      "AdviserID": "Jonathan Thomas",
      "ClientTier": "London Branch",
      "AddressFrom": "04/05/1990",
      "DateOfBirth": "04/05/1990",
      "IncomeTaxArea": "UK excluding Scotland",
      "MaritalStatus": "Yes",
      "NextReviewDate": "04/05/1990",
      "OccupationCode": "Abattoir Inspector",
      "RetirementDate": "04/05/1990",
      "EmploymentStatus": "Employed",
      "MarriageAllowance": "Yes",
      "RetirementPlanned": "Age",
      "AddressCountryCode": "United Kingdom",
      "AttitudeToRiskLevel": "High",
      "FinancialDependenceAge": "Not Applicable"
    }
  }
}
Response examples (422)
{
  "success": false,
  "message": "Validation Error",
  "data": {
    "FirstName": [
      "The first name field is required."
    ],
    "Surname": [
      "The surname field is required."
    ],
    "Gender": [
      "The gender field is required."
    ],
    "DateOfBirth": [
      "The date of birth field is required."
    ]
  }
}
Response examples (403)
{
  "success": false,
  "message": "You do not have permission to edit that client."
}
Response examples (404)
{
  "success": false,
  "message": "Client not found."
}
Response examples (500)
{
  "success": false,
  "message": "Failed to create client in FinCalc"
}