Skip to content

Update Supplier Contact

This endpoint updates the name, description, email, or archive status of a supplier contact.

PUT /v1/supplier-contacts/supplier-contacts/:id

Include your API key in the x-api-key header. See Authentication.

supplier-contacts:write
ParameterTypeRequiredDescription
idstringYesSupplier contact ID.

Send only the fields you want to change. Omitted fields keep their current values. You must send a JSON body, even if it is {}. You cannot move a contact to another supplier.

FieldTypeRequiredDescription
namestringNoContact name.
descriptionstring | nullNoContact description. Send null to clear it.
emailstringNoContact email address. The format is not checked.
isArchivedbooleanNoArchive (true) or restore (false) the contact.
{
"name": "Updated Supplier Contact Name",
"description": "Updated supplier contact description",
"email": "updated@example.com",
"isArchived": false
}
Terminal window
curl -X PUT "https://api.crewsum.com/v1/supplier-contacts/supplier-contacts/suppliercontact-vwx123yza4567890" \
-H "x-api-key: $CREWSUM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Supplier Contact Name",
"description": "Updated supplier contact description",
"email": "updated@example.com",
"isArchived": false
}'

On success, the API returns HTTP 200 OK.

{
"message": "Successfully updated supplier contact"
}
  • Every successful call sets updatedAt to the current time.
  • The API does not check that the contact exists. An unknown ID still returns 200 and nothing changes.
  • Deleted contacts can still be updated. This endpoint cannot restore a deleted contact.
  • The request body is not validated against a schema. Wrong types are stored as sent or cause a 500.
  • After the update, Crewsum sends the supplier-contacts.updated webhook event. The payload is { "contacts": [{ "supplier": <supplier>, "supplierContact": <contact> }] }. For an unknown ID, the event is still sent, with an empty contacts array.
StatusMeaning
400The ID path segment was empty (for example, a trailing slash). Message: Supplier Contact ID not specified.
500Crewsum could not update the contact. Message: Error updating supplier contact. If no request body is sent, the API returns a 500 with a generic error body instead.

Authentication and scope failures are described in Errors.