# Perform Contact changes through API without triggering workflows

**URL:** <https://community.hubspot.com/t/perform-contact-changes-through-api-without-triggering-workflows/11550>\
**Category:** APIs & Integrations\
**Tags:** contacts\
**Created:** [October 25, 2018, 2:03pm UTC](https://community.hubspot.com/t/perform-contact-changes-through-api-without-triggering-workflows/11550 "2018-10-25T14:03:43Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![pp](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/pp/32/22074_2.png) [@pp](https://community.hubspot.com/u/pp)\
**Post date:** [October 25, 2018, 2:03pm UTC](https://community.hubspot.com/t/perform-contact-changes-through-api-without-triggering-workflows/11550/1 "2018-10-25T14:03:43Z")

</div>

We need to perform Contact creation and updates via API, without activating certain workflows that monitor Contact property changes.  
Since on workflow interface we don’t have access to the last edit user or property history, is there a way through API that we can perform Contact creation or updates without triggering the workflows?

---

<div class="post-metadata">

**Author:** ![IsaacTakushi](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/isaactakushi/32/70387_2.png) [@IsaacTakushi](https://community.hubspot.com/u/IsaacTakushi)\
**Post date:** [October 29, 2018, 1:16pm UTC](https://community.hubspot.com/t/perform-contact-changes-through-api-without-triggering-workflows/11550/2 "2018-10-29T13:16:35Z")

</div>

Hi @ppaiva,

You could create and use a [suppression list](https://knowledge.hubspot.com/articles/kcs_article/workflows/how-do-suppression-lists-work-in-workflows), either in the UI or via the API.

---

<div class="post-metadata">

**Author:** ![pp](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/pp/32/22074_2.png) [@pp](https://community.hubspot.com/u/pp)\
**Post date:** [November 5, 2018, 2:58pm UTC](https://community.hubspot.com/t/perform-contact-changes-through-api-without-triggering-workflows/11550/3 "2018-11-05T14:58:22Z")

</div>

Thank you for the feedback Isaac,

This would ensure the need if we wanted certain contacts to always be excluded.  
In our case, all contacts must pass through the mentioned workflows when they are changed through standard interface, however if the contact update is triggered via API we don’t want the workflow to run.

---

<div class="post-metadata">

**Author:** ![IsaacTakushi](https://d10pqhm3lwygmk.cloudfront.net/user_avatar/community.hubspot.com/isaactakushi/32/70387_2.png) [@IsaacTakushi](https://community.hubspot.com/u/IsaacTakushi)\
**Post date:** [November 5, 2018, 9:05pm UTC](https://community.hubspot.com/t/perform-contact-changes-through-api-without-triggering-workflows/11550/4 "2018-11-05T21:05:12Z")

</div>

Thank you for clarifying, @ppaiva.

Unfortunately, there is no way to filter out contacts whose properties have been changed through the API. Workflows enroll or unenroll contacts based on property values alone, not the source of their changes.

That said, if you updated a custom contact property (e.g. “Last updated via API”) every time you made a change via the API, you could add an _AND_ criteria to these workflows to exclude contacts with such a value.

For example, if you are updating a contact’s first name, you would send in both `firstname=value` and `last_updated_via_api=true` (or something similar). Then, each workflow would check whether certain properties changed _AND_ `last_updated_via_api` is `false`. Since the API-updated contact has a `true` value, they would be excluded from enrollment.
