Update not completed Error on Public API — What It Means and How to Fix It

Luca Micheli
Written by Luca MicheliLast updated 2 hours ago

When updating a lead's attributes through the Customerly Public API, the response may sometimes look like this:

{"error":{"message":"Update not completed","code":0}}

This is a generic error returned when the contact update couldn't be completed on the database. The message is intentionally short, but in the vast majority of cases the cause falls into a few well-defined scenarios. Below are the most common ones, in order of frequency.

1. Uniqueness conflict on a reserved attribute

Some contact attributes are subject to uniqueness constraints within the same workspace. This means that, within a given project, no two contacts can share the same value for that attribute.

The attributes typically subject to this constraint are:

  • Email

  • WhatsApp number

If you try to assign the contact a value that already belongs to another contact in the same workspace, the update is rejected and you get "Update not completed".

How to check: search your workspace to see if another contact already has the same value (same email or same WhatsApp number).

How to fix:

  • merge or delete the existing duplicate contact, or

  • correct the value if it's wrong, or

  • first update the duplicate contact to remove the conflicting value.

2. Invalid value for the attribute type

Every attribute has an associated type (text, number, boolean, date). If you send a value that isn't compatible with the type defined for that attribute in the workspace, the update may fail.

Typical examples:

  • sending a string where a number or timestamp is expected

  • sending a boolean where text is expected

  • sending a timestamp in the wrong format

How to fix: check the attribute type in your project settings and send a value that matches.

3. Attempting to overwrite a field that can't be modified via API

Some system fields on a contact cannot be modified through public calls because they are managed internally by the platform or by the contact themselves (e.g. automatic tracking fields, internal identifiers, certain session metadata).

How to fix: remove system fields from the request; only update the actual business attributes that are meant to be modifiable.

4. Values that are too long or contain unsupported characters

Each attribute has a maximum length and accepts a character set compatible with the database encoding. Extremely long strings, or unusual characters that aren't handled (some emojis or control characters), can cause the write to fail.

How to fix: shorten the value and clean up any non-standard characters before sending.

5. Contact does not exist or is no longer accessible

If the contact identifier in the URL refers to a record that no longer exists (deleted, merged into another, or belonging to a different workspace), the call may not go through.

How to fix: double-check that the contact ID is correct and still active in the workspace you're operating on.

6. API token incorrect or not matching the workspace

While an invalid token usually produces an explicit authentication error, in some edge cases (a valid token but associated with a different workspace than the contact's) the call can silently fail at the update stage.

How to fix: make sure the API token you're using belongs to the same workspace as the contact you're trying to modify.


Quick checklist

Before opening a support ticket, it's worth checking the following, in order:

  1. Is there another contact with the same email or WhatsApp number? This is by far the most frequent cause.

  2. Do the value types you're sending match the ones defined for the attributes?

  3. Are you trying to write to system or reserved fields?

  4. Are the strings you're sending of reasonable length and using standard characters?

  5. Is the contact ID correct and does it belong to the same workspace as the token?

In nearly all real-world cases, "Update not completed" is resolved by identifying a duplicate on the email or WhatsApp value. If the issue persists after these checks, contact support with: contact ID, request payload, and the timestamp of the error, so the session can be traced on the server side.

Did this article help you solve your issue?

Customerly - Help Center

© 2026 Customerly - Help Center. All rights reserved.

Knowledge Base Software by Customerly