Our data team is receiving errors when batch uploading data via API.
They sent 312 batches of 100, and 45 batches failed due to errors, which totals 4,500 accounts for us. Some errors were due to invalid email address typos, but we cannot figure out the reason for the other rejections. See errors below. Could you please tell us what these mean and how to fix?
4 files= {"status":"error","message":"There was an error processing the request.","correlationId":"89af5e10-a33b-41af-a348-477c8f781766","category":"INTERNAL_ERROR"}
36 files = {"status":"error","message":"Cannot set PropertyValueCoordinates{portalId=45960257, objectTypeId=ObjectTypeId{legacyObjectType=CONTACT}, propertyName=acct_id, value=139953698} on 177524384095. 161659393086 already has that value.","correlationId":"fa4f315f-d518-4f2d-aa6d-09dc0002cd99","category":"VALIDATION_ERROR"}
For error #2, we assumed this meant that a duplicate record is already in HubSpot. We tested some of the account IDs in the error code (see below), and they are in HubSpot already, coming from our data team between Sept. and Oct. but we are not sure why it is not automatically updated/the entire batch is rejected. Please advise.
2025-11-21 12:33:55.947 -05:00 [Fatal ] {"status":"error","message":"Cannot set PropertyValueCoordinates{portalId=45960257, objectTypeId=ObjectTypeId{legacyObjectType=CONTACT}, propertyName=acct_id, value=139266828} on 177479435858. 154245081191 already has that value.","correlationId":"9d67f874-48c9-41ba-ad07-0180a657f3af","category":"VALIDATION_ERROR"}
2025-11-21 12:34:34.504 -05:00 [Fatal ] {"status":"error","message":"Cannot set PropertyValueCoordinates{portalId=45960257, objectTypeId=ObjectTypeId{legacyObjectType=CONTACT}, propertyName=acct_id, value=142644422} on 177478197851. 154246170237 already has that value.","correlationId":"5935c8d5-2a86-45e4-8201-4d26e2cab6cb","category":"VALIDATION_ERROR"}
2025-11-21 12:34:34.997 -05:00 [Fatal ] {"status":"error","message":"Cannot set PropertyValueCoordinates{portalId=45960257, objectTypeId=ObjectTypeId{legacyObjectType=CONTACT}, propertyName=acct_id, value=143368386} on 177481293222. 161669627735 already has that value.","correlationId":"5cbd4101-fd33-4d66-8195-e6757fd3cf50","category":"VALIDATION_ERROR"}
2025-11-21 12:36:44.840 -05:00 [Fatal ] {"status":"error","message":"Cannot set PropertyValueCoordinates{portalId=45960257, objectTypeId=ObjectTypeId{legacyObjectType=CONTACT}, propertyName=acct_id, value=140196630} on 177528727076. 153190986387 already has that value.","correlationId":"4730e5a1-66fa-400b-bcc2-6d105b6ba1f8","category":"VALIDATION_ERROR"}
2025-11-21 12:36:45.419 -05:00 [Fatal ] {"status":"error","message":"Cannot set PropertyValueCoordinates{portalId=45960257, objectTypeId=ObjectTypeId{legacyObjectType=CONTACT}, propertyName=acct_id, value=142630863} on 177523910187. 153152065832 already has that value.","correlationId":"63548dff-db59-45af-adb7-6b5cb88e6006","category":"VALIDATION_ERROR"}
For the "Internal Errors", try implement a "Retry Logic" in the code. If the API returns a 500 range error or INTERNAL_ERROR, wait and send that specific batch again. 99% of the time, it works on the second try.
And the VALIDATION_ERROR seems like you have the property acct_id set as a Unique Identifier in your HubSpot Property Settings. The API does not know if you want to Merge these two people or if you made a mistake.
those two errors usually point to very different root causes. The INTERNAL_ERROR batches tend to be transient. HubSpot throws them when the ingestion service is under load, and the request shape is fine, so a simple retry with a small back-off almost always clears them. HubSpot’s error guide calls that out as expected behavior for bulk endpoints (https://developers.hubspot.com/docs/api-reference/error-handling )
The VALIDATION_ERROR is more structural. Your acct_id property is behaving like a unique identifier, so when a batch tries to set a value that already exists on another contact, HubSpot refuses the update rather than guessing whether you meant to merge, overwrite, or fix a bad upstream ID.
That’s why the whole batch fails even when most rows are correct. The only way around it is to either pre-check uniqueness before sending the batch, or use a create-or-update pattern where you look up the existing record by acct_id first and update that one instead of assigning the same value to a new contact.
Are these account IDs coming from a single source of truth, or can two systems generate them? If your upstream system is producing duplicates or late updates, Stacksync keeps IDs and records normalized across both sides so these validation bursts disappear before they reach HubSpot.
Did my answer help? Please mark it as a solution to help others find it too.
Ruben Burdin HubSpot Advisor Founder @ Stacksync Real-Time Data Sync between any CRM and Database
Hi @RubenBurdin - We have a contact list of over 30,000 records, and because we will be adding/updating records on a weekly basis based on marketability, we need to use the acct_id as our unique identifier to update what we have previously built, and we cannot do so manually. Is there perhaps a method that will merge/update the fields of the contact with the existing acct_id, rather than assigning the same value to a new contact?
Hi @OBP_ND, in case you are still looking for help, here is an explanation of both errors:
- Error #1 (INTERNAL_ERROR): These are temporary server-side issues. Retry the failed batches, they should succeed on subsequent attempts.
- Error #2 (Duplicate unique property): Your acct_id property is set as a unique identifier. The error means you're trying to assign an acct_id value to one contact, but a different contact already has that value. For example, trying to set acct_id=139266828 on contact 177479435858, but contact 154245081191 already has it.
For information, when using batch API, if any record in the batch violates uniqueness constraints, the entire batch is rejected.
Could you please try the following: Before uploading, check if contacts with those acct_id values already exist.
Either update the existing contact directly (using its record ID), or ensure you're not creating duplicates with the same unique property value.
Also, here are some resources that might be useful:
Instead of using the update API, you can use the create or update API, which will solve the duplication issue. Invalid email IDs need to be checked prior. You can write a small code block to check email is valid or not prior to sending. other error as it looks is because you are trying to update a unique property ""acct_id"" with the value that is already present for some other contact.
I hope this will help you out. Please mark it as Solution Accepted and upvote to help another Community member.
For the "Internal Errors", try implement a "Retry Logic" in the code. If the API returns a 500 range error or INTERNAL_ERROR, wait and send that specific batch again. 99% of the time, it works on the second try.
And the VALIDATION_ERROR seems like you have the property acct_id set as a Unique Identifier in your HubSpot Property Settings. The API does not know if you want to Merge these two people or if you made a mistake.
Hi @kosalaindrasiri - Because we will be updating contacts/records on a weekly basis based on marketability, we need to use the acct_id as our unique identifier to update what we have previously built. Could you please shed some light on why the API might be adding duplicate acct ids, and not updating the existing contact with that same acct id?