# Batch custom objects CreateOrUpdate

**URL:** <https://community.hubspot.com/t/batch-custom-objects-createorupdate/107754>\
**Category:** APIs & Integrations\
**Tags:** cms-content, professional\
**Created:** [May 22, 2024, 2:55pm UTC](https://community.hubspot.com/t/batch-custom-objects-createorupdate/107754 "2024-05-22T14:55:16Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![MOvs](https://avatars.discourse-cdn.com/v4/letter/m/47e85d/32.png) [@MOvs](https://community.hubspot.com/u/MOvs)\
**Post date:** [May 22, 2024, 2:55pm UTC](https://community.hubspot.com/t/batch-custom-objects-createorupdate/107754/1 "2024-05-22T14:55:16Z")

</div>

Hello

I want to update the batch of custom objects and create some new objects if they didn’t exists. The problem is that I don’t know which ones are already exists in HubSpot.

When I try to POST to /crm/v3/objects/{obj}/batch/update full batch fails on non-existing objects. When I POST to /crm/v3/objects/{obj}/batch/create it fails on already existing objects, because of unique ID.

I can do it one-by-one, but this will require 2 API requests for a single object (ask if it is exists and next create new or update existing one). In fact sometimes I need to update 1k objects, so 2k api requests ruins my server and meet the HubSpot limits.

Any ideas pls?

---

<div class="post-metadata">

**Author:** ![MOvs](https://avatars.discourse-cdn.com/v4/letter/m/47e85d/32.png) [@MOvs](https://community.hubspot.com/u/MOvs)\
**Post date:** [May 23, 2024, 10:38am UTC](https://community.hubspot.com/t/batch-custom-objects-createorupdate/107754/2 "2024-05-23T10:38:37Z")

</div>

Self-answer: I need to batch-read objects first by **POST** /crm/v3/objects/{objectType}/batch/read to determinate which objects olready exists and next update existing and create non-existing ones. Total 2 api calls per 100 objects - looks good. Thanks me for an answer. 🙂

---

<div class="post-metadata">

**Author:** ![JerikaNguyen](https://avatars.discourse-cdn.com/v4/letter/j/a88e4f/32.png) [@JerikaNguyen](https://community.hubspot.com/u/JerikaNguyen)\
**Post date:** [April 8, 2025, 4:02am UTC](https://community.hubspot.com/t/batch-custom-objects-createorupdate/107754/3 "2025-04-08T04:02:41Z")

</div>

Hi, I wonder if objectType in API endpoint is equal to object internal name. I tried to use this /crm/v3/objects/{objectType}/batch/read but it always returned

{

“status”: “error”,

“message”: “Unable to infer object type from: XXX”,

“correlationId”: “fb19b6a8-7924-4cfe-98f8-136a88c5ef36”

}

---

<div class="post-metadata">

**Author:** ![ACriner](https://avatars.discourse-cdn.com/v4/letter/a/bb73d2/32.png) [@ACriner](https://community.hubspot.com/u/ACriner)\
**Post date:** [July 18, 2024, 7:03pm UTC](https://community.hubspot.com/t/batch-custom-objects-createorupdate/107754/4 "2024-07-18T19:03:51Z")

</div>

You can also use the upsert function to create or update:  
[https://api.hubapi.com/crm/v3/objects/{objectType}/batch/upsert](https://api.hubapi.com/crm/v3/objects/%7BobjectType%7D/batch/upsert)  
Which could bring it down to 1 per 100, but that’s likely not an efficiency you **need**
