contacts

Change one contact, clearing a field by sending null

Changes one contact and answers it whole. Only the fields in the body move: a field left out is untouched, and a field sent null is cleared. The two are different, which is why this is a PATCH and not a PUT.

preferred_contact_method is EMAIL or PHONE, and the contact must still carry the field it names once the change lands. Clearing the email of a contact who prefers email is refused 400, and so is clearing the phone of one who prefers phone; send the new method in the same body to move them both at once.

supplier_id re-attaches the contact to a supplier. A supplier this organisation does not have fails the call. An email another contact already has is refused 400.

contact_id is a whole number. An id no contact has does not answer 404 here. It fails as a server error, so read the contact first when the id did not come from a Tightly read.

Scope: suppliers:write, which includes suppliers:read.

patch/api/v1/contacts/{contact_id}

Request

  • Base URL: https://api.app.tightly.io
  • URL: https://api.app.tightly.io/api/v1/contacts/{contact_id}
  • Auth: HTTP bearer

Path parameters

contact_idstring required

The contact's id, a whole number, as list_contacts serves it.

Headers

Tightly-Versionstring
Example:2026-11

The date train to answer on. One train exists today, 2026-11, the one this reference describes and the one every key is minted on, so the call answers on it with or without this header. Send it anyway, so a client built now names its train from the start.

Idempotency-Keystring
Example:b8f1c0d2-6a4e-4f39-9c21-0d5f2e7a1b44

A string of your own, up to 255 characters, that makes this write safe to retry. Send the same key twice and the second request is answered with the first one's status and body instead of writing again, so a client that retried after a timeout ends holding the record's id rather than creating a second one. Reusing a key with a different body, or while the first request is still running, is refused 409. A write that failed releases its key. Keys answer for 24 hours and belong to the API key that used them. A key longer than 255 characters is ignored and the write goes ahead without the guarantee.

Request body

citystring nullable
countrystring nullable
departmentstring nullable
descriptionstring nullable
emailstring email nullable
namestring
phonestring nullable
preferred_contact_methodstring
rolestring nullable
supplier_idstring nullable

Response

The contact as it now stands.

Changes

No recorded changes to this operation across all 1 revision of this API.