---
title: "Update Contact"
method: PATCH
path: "/Contact/{id}"
tags: ["Contact"]
---

# Update Contact

`PATCH /Contact/{id}`

Update an existing 'Contact' record.

## Request body

- Contact
  - `id` string — An ID.
  - `salutationName` 'Mr.' | 'Ms.' | 'Mrs.' | 'Dr.', nullable
  - `firstName` string, nullable — A one-line string.
  - `lastName` string — A one-line string.
  - `title` string, nullable — A one-line string.
  - `description` string, nullable — A multi-line text.
  - `emailAddress` string, nullable — A primary email address.
  - `emailAddressData` object[], nullable — Multiple email addresses
    - `emailAddress` string, required
    - `primary` boolean, required
    - `optOut` boolean
    - `invalid` boolean
    - `lower` string
  - `phoneNumber` string, nullable — A primary phone number.
  - `phoneNumberData` object[], nullable — Multiple phone numbers.
    - `phoneNumber` string, required
    - `primary` boolean, required
    - `optOut` boolean
    - `invalid` boolean
    - `type` 'Mobile' | 'Office' | 'Home' | 'Fax' | 'Other'
  - `doNotCall` boolean
  - `addressStreet` string, nullable — A multi-line text.
  - `addressCity` string, nullable — A one-line string.
  - `addressState` string, nullable — A one-line string.
  - `addressCountry` string, nullable — A one-line string.
  - `addressPostalCode` string, nullable — A one-line string.
  - `accountId` string, nullable — An ID of the record of the Account type.
  - `accountName` string, nullable — A foreign record name.
  - `accountsIds` string[], nullable — IDs of records of the Account type.
  - `accountsNames` object, nullable — An {ID => record name} map.
  - `accountsColumns` object, nullable — An {ID => object} map. Relationship column values.
  - `accountRole` string, nullable — A one-line string.
  - `accountIsInactive` boolean
  - `accountType` string, nullable
  - `opportunityRole` 'Decision Maker' | 'Evaluator' | 'Influencer', nullable
  - `acceptanceStatusMeetings` string
  - `acceptanceStatusCalls` string
  - `campaignId` string, nullable — An ID of the record of the Campaign type.
  - `campaignName` string, nullable — A foreign record name.
  - `createdAt` string, nullable — A timestamp in UTC.
  - `modifiedAt` string, nullable — A timestamp in UTC.
  - `createdById` string, nullable — An ID of the record of the User type.
  - `createdByName` string, nullable — A foreign record name.
  - `modifiedById` string, nullable — An ID of the record of the User type.
  - `modifiedByName` string, nullable — A foreign record name.
  - `assignedUserId` string, nullable — An ID of the record of the User type.
  - `assignedUserName` string, nullable — A foreign record name.
  - `teamsIds` string[], nullable — IDs of records of the Team type.
  - `teamsNames` object, nullable — An {ID => record name} map.
  - `targetListsIds` string[], nullable — IDs of records of the TargetList type.
  - `targetListsNames` object, nullable — An {ID => record name} map.
  - `targetListId` string, nullable
  - `targetListName` string, nullable — A foreign record name.
  - `portalUserId` string, nullable — An ID of the record of the User type.
  - `portalUserName` string, nullable — A foreign record name.
  - `hasPortalUser` boolean
  - `originalLeadId` string, nullable — An ID of the record of the Lead type.
  - `originalLeadName` string, nullable — A foreign record name.
  - `originalEmailId` string, nullable
  - `originalEmailName` string, nullable — A foreign record name.
  - `middleName` string, nullable — A one-line string.
  - `emailAddressIsOptedOut` boolean
  - `emailAddressIsInvalid` boolean
  - `phoneNumberIsOptedOut` boolean
  - `phoneNumberIsInvalid` boolean
  - `streamUpdatedAt` string, nullable — A timestamp in UTC.

## Response `200`

Success.

- Contact
  - `id` string — An ID.
  - `salutationName` 'Mr.' | 'Ms.' | 'Mrs.' | 'Dr.', nullable
  - `firstName` string, nullable — A one-line string.
  - `lastName` string — A one-line string.
  - `title` string, nullable — A one-line string.
  - `description` string, nullable — A multi-line text.
  - `emailAddress` string, nullable — A primary email address.
  - `emailAddressData` object[], nullable — Multiple email addresses
    - `emailAddress` string, required
    - `primary` boolean, required
    - `optOut` boolean
    - `invalid` boolean
    - `lower` string
  - `phoneNumber` string, nullable — A primary phone number.
  - `phoneNumberData` object[], nullable — Multiple phone numbers.
    - `phoneNumber` string, required
    - `primary` boolean, required
    - `optOut` boolean
    - `invalid` boolean
    - `type` 'Mobile' | 'Office' | 'Home' | 'Fax' | 'Other'
  - `doNotCall` boolean
  - `addressStreet` string, nullable — A multi-line text.
  - `addressCity` string, nullable — A one-line string.
  - `addressState` string, nullable — A one-line string.
  - `addressCountry` string, nullable — A one-line string.
  - `addressPostalCode` string, nullable — A one-line string.
  - `accountId` string, nullable — An ID of the record of the Account type.
  - `accountName` string, nullable — A foreign record name.
  - `accountsIds` string[], nullable — IDs of records of the Account type.
  - `accountsNames` object, nullable — An {ID => record name} map.
  - `accountsColumns` object, nullable — An {ID => object} map. Relationship column values.
  - `accountRole` string, nullable — A one-line string.
  - `accountIsInactive` boolean
  - `accountType` string, nullable
  - `opportunityRole` 'Decision Maker' | 'Evaluator' | 'Influencer', nullable
  - `acceptanceStatusMeetings` string
  - `acceptanceStatusCalls` string
  - `campaignId` string, nullable — An ID of the record of the Campaign type.
  - `campaignName` string, nullable — A foreign record name.
  - `createdAt` string, nullable — A timestamp in UTC.
  - `modifiedAt` string, nullable — A timestamp in UTC.
  - `createdById` string, nullable — An ID of the record of the User type.
  - `createdByName` string, nullable — A foreign record name.
  - `modifiedById` string, nullable — An ID of the record of the User type.
  - `modifiedByName` string, nullable — A foreign record name.
  - `assignedUserId` string, nullable — An ID of the record of the User type.
  - `assignedUserName` string, nullable — A foreign record name.
  - `teamsIds` string[], nullable — IDs of records of the Team type.
  - `teamsNames` object, nullable — An {ID => record name} map.
  - `targetListsIds` string[], nullable — IDs of records of the TargetList type.
  - `targetListsNames` object, nullable — An {ID => record name} map.
  - `targetListId` string, nullable
  - `targetListName` string, nullable — A foreign record name.
  - `portalUserId` string, nullable — An ID of the record of the User type.
  - `portalUserName` string, nullable — A foreign record name.
  - `hasPortalUser` boolean
  - `originalLeadId` string, nullable — An ID of the record of the Lead type.
  - `originalLeadName` string, nullable — A foreign record name.
  - `originalEmailId` string, nullable
  - `originalEmailName` string, nullable — A foreign record name.
  - `middleName` string, nullable — A one-line string.
  - `emailAddressIsOptedOut` boolean
  - `emailAddressIsInvalid` boolean
  - `phoneNumberIsOptedOut` boolean
  - `phoneNumberIsInvalid` boolean
  - `streamUpdatedAt` string, nullable — A timestamp in UTC.

## Other responses

- `400` — Bad request. Might be a validation error. Check logs for details.
- `403` — Forbidden. Might be an access control error. Check logs for details.
- `409` — Conflict.

---

[API](https://skmtc.net/espocrm/apis/espocrm-api.md) · [All operations](https://skmtc.net/espocrm/apis/espocrm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/espocrm/espocrm-api/versions/6622dabfccd3/schema)
