Contacts

Update a contact

Changed on

Update a contact's name, account, email address, linked projects, or custom field values. Omitted fields are left unchanged.

patch/contacts/{id}

Request

  • Base URL
    https://api.parley.so/v1
  • URL
    https://api.parley.so/v1/contacts/{id}
  • Auth
    HTTP bearer

Path parameters

idstring required

The contact ID.

Request body

firstNamestring

First name.

lastNamestring

Last name.

accountIdstring nullable

ID of the account the contact belongs to. null removes the contact from its account.

emailsstring[]

The contact's email address, as a list that replaces the current one; [] removes it. A contact has at most one address for now, and an address can belong to only one contact.

fieldsobject

Custom field values to set on the contact, keyed by field name or ID. A value replaces the current one, null clears it, and fields you don't mention are left alone. Each value must match its field's type: a string for text, long_text, email, url, single_select (one of the field's options), and user (the id of an active user in the organization); a number; true or false; an ISO 8601 date-time or YYYY-MM-DD date; a list of strings for collection ([] clears it); or { streetAddress, cityTown, state, country } for address. At most 50 fields.

Response

OK

idstring required

The contact ID.

firstNamestring required

First name. Empty for some contacts created from email.

lastNamestring required

Last name. Empty for some contacts created from email.

emailsstring[] required

Email addresses, lowercased. A contact has at most one address for now.

projectCountinteger required

How many projects you can see are linked to the contact. List them by filtering projects by contactId. Linking or unlinking a project doesn't change the contact's updatedAt.

createdAtstring date-time required

When the contact was created.

updatedAtstring date-time required

When the contact was last updated, including changes to its email address. Links to projects and field value changes do not change it.

fieldsobject required

Custom field values, keyed by field name, with a key for every field defined for contacts (null when unset). The value's shape follows the field's type.

Example response

{
  "id": "cmf2x7z3e0002abcd",
  "firstName": "Ada",
  "lastName": "Lovelace",
  "emails": [
    "ada@acme.example"
  ],
  "account": {
    "type": "account",
    "id": "cmf2x7r1p0000abcd",
    "name": "Acme Corp"
  },
  "projectCount": 1,
  "createdAt": "2026-09-12T10:05:00.000Z",
  "updatedAt": "2026-09-12T10:05:00.000Z",
  "fields": {
    "Contact Type": "Beneficiary",
    "Country of Birth": "United Kingdom"
  }
}

Changes

    • breaking

      added the pattern ^[^\p{Cc}\p{Bidi_Control}]*$ to the request property

    • breaking

      added the pattern ^[^\p{Cc}\p{Bidi_Control}]*$ to the request property