---
title: "Updates a contact"
method: PUT
path: "/Entity/Contact"
tags: ["Entity"]
---

# Updates a contact

`PUT /Entity/Contact`

If valid, the contact will be updated directly in Infinity.
            
Notes must not exceed the max upload size configured in Infinity.
            
A Photo must not exceed the max upload size configured in Infinity.

The max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB).
            
All id fields must match valid reference data from the /Reference methods.
            
The Telecoms field can only contain one item set as IsPreferredTelecom

If passed, the CustomFieldData must adhere to the field definitions retrieved from the /Reference/CustomFields method especially
regarding item ids, in the case of combo boxes and multi-select lists, min/max values for dates and max length for text. Note that the Contact
update request will fail if the custom data is not valid.

## Query parameters

- `id` integer, required

## Request body

- ContactRequest — Model to update a Contact
  - `TitleId` integer, nullable
  - `Forename` string, nullable
  - `Middlename` string, nullable
  - `Surname` string, nullable
  - `KnownAs` string, nullable
  - `FestiveMail` boolean, nullable
  - `LinkedInUrl` string, nullable
  - `XingUrl` string, nullable
  - `FacebookProfileUrl` string, nullable
  - `TwitterProfileUrl` string, nullable
  - `Photo` string, byte, nullable — A Base64 image to display against the candidate The image cannot exceed the max upload size configured in Infinity.
  - `StartDate` string, date-time, nullable
  - `EndDate` string, date-time, nullable
  - `Salary` number, nullable
  - `SalaryPerId` integer, nullable
  - `SalaryCurrencyId` integer, nullable
  - `JobTitle` string, nullable
  - `Department` string, nullable
  - `ContactPriorityId` integer, nullable
  - `IsDecisionMaker` boolean, nullable
  - `AlternateCode` string, nullable
  - `Notes` string, nullable
  - `Telecoms` ContactTelecomRequest[], nullable
    - `Description` string, nullable
    - `TelecomId` integer, required
    - `OkToMailShot` boolean, required
    - `OkToSMS` boolean, required
    - `CountryId` integer, nullable
    - `Value` string, nullable
    - `SendByDefault` boolean, required
    - `Extension` string, nullable
    - `IsPreferredTelecom` boolean, required
    - `IsGlobalTelecom` boolean, required
  - `OwningConsultants` OwningConsultant[], nullable
    - `ConsultantId` integer, required
    - `ConsultantRoleId` integer, nullable
  - `Consultants` integer[], nullable — Depreciated. OwningConsultants can be used instead to supply a list of consultants and their roles.
  - `JobTitles` CompanyJobTitleRequest[], nullable
    - `Id` integer
    - `Notes` string, nullable
  - `Attributes` CompanyAttributeRequest[], nullable
    - `Id` integer
    - `ScoreId` integer, nullable
    - `Notes` string, nullable
  - `ChildAttributes` CompanyAttributeRequest[], nullable
    - `Id` integer
    - `ScoreId` integer, nullable
    - `Notes` string, nullable
  - `QualificationsAndCertifications` CompanyQualificationAndCertificationRequest[], nullable
    - `Id` integer
    - `TypeId` integer, nullable
    - `LevelId` integer, nullable
    - `Notes` string, nullable
  - `CallBacks` CallBackRequest[], nullable
    - `TypeId` integer, required
    - `DueDate` string, date-time, required
    - `DueTime` string, duration, nullable
    - `ForConsultantId` integer, required
    - `Details` string, nullable
  - `CustomFieldDetails` CustomFieldDetailRequest
    - `CategorisedMultiSelectFields` CategorisedMultiSelectFieldRequest[], nullable
      - `Id` integer, required
      - `ValueIds` integer[], required
    - `CheckBoxFields` CheckBoxFieldRequest[], nullable
      - `Id` integer, required
      - `Value` boolean, required
    - `ComboBoxFields` ComboBoxFieldRequest[], nullable
      - `Id` integer, required
      - `ValueId` integer, required
    - `DateTimePickerFields` DateTimePickerFieldRequest[], nullable
      - `Id` integer, required
      - `Value` string, date-time, required
    - `DecimalFields` DecimalFieldRequest[], nullable
      - `Id` integer, required
      - `Value` number, required
    - `IntegerFields` IntegerFieldRequest[], nullable
      - `Id` integer, required
      - `Value` integer, required
    - `MultiSelectListBoxFields` MultiSelectListBoxFieldRequest[], nullable
      - `Id` integer, required
      - `ValueIds` integer[], required
    - `NoteControlFields` NoteControlFieldRequest[], nullable
      - `Id` integer, required
      - `Value` string, required — The Notes Value must not exceed the max upload size configured in Infinity.
    - `TextBoxFields` TextBoxFieldRequest[], nullable
      - `Id` integer, required
      - `Value` string, required

## Response `200`

OK

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `404` — NotFound
- `409` — Conflict

---

[API](https://skmtc.dev/vslcloud/apis/infinity-api.md) · [All operations](https://skmtc.dev/vslcloud/apis/infinity-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vslcloud/infinity-api/revisions/54661781612a/schema)
