---
title: "Changes to Create or update a batch of invoices by unique property values"
method: POST
path: "/crm/v3/objects/invoices/batch/upsert"
---

# Changes to Create or update a batch of invoices by unique property values

`POST /crm/v3/objects/invoices/batch/upsert`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 18 of 491 revisions.

- **2026-09-22** (v3) `ef368316f759`: 1 info
- **2026-09-02** (v3) `410aa1ba6776`: 1 info
- **2026-07-13** (v3) `ce41308fead5`: 1 breaking
- **2026-06-23** (v3) `736ccde6f5fd`: 2 info
- **2026-06-15** (v3) `82f91abdee1f`: 3 breaking, 28 info
- **2026-06-15** (v3) `9c048ea183fd`: 21 breaking, 10 warning
- **2026-04-15** (v3) `d3f4dbdcb8fa`: 5 info
- **2026-04-09** (v3) `b92b52896300`: 5 info
- **2026-04-03** (v3) `5c3db0dabaa8`: 1 info
- **2026-04-02** (v3) `d3dbd46e9461`: 2 info
- **2026-03-31** (v3) `d54f81cb46fd`: 2 warning, 1 info
- **2026-03-30** (v3) `fa8508f5e7b1`: 1 info
- **2026-02-10** (v3) `1e551dde3efb`: 1 info
- **2025-12-11** (v3) `35b7418a601d`: 4 info
- **2025-12-10** (v3) `3d7ffa174422`: 4 info
- **2025-12-09** (v3) `eb36dca62243`: 6 info
- **2025-11-21** (v3) `e8836c8cf827`: 1 warning
- **2025-11-04** (v3) `a49ba06841fd`: 1 breaking, 1 info

## Changes

- **2026-09-22** (v3) `ef368316f759`: 1 info
  - the endpoint scheme security `oauth2` was removed from the API
- **2026-09-02** (v3) `410aa1ba6776`: 1 info
  - endpoint added
- **2026-07-13** (v3) `ce41308fead5`: 1 breaking
  - api path removed without deprecation
- **2026-06-23** (v3) `736ccde6f5fd`: 2 info
  - added the optional property `results/items/warnings` to the response with the `200` status
  - added the optional property `results/items/warnings` to the response with the `207` status
- **2026-06-15** (v3) `82f91abdee1f`: 3 breaking, 28 info
  - the `errors/items/` response's property type changed from no type to `object` for status `207`
  - the `results/items/` response's property type changed from no type to `object` for status `200`
  - the `results/items/` response's property type changed from no type to `object` for status `207`
  - added the optional property `errors/items/id` to the response with the `207` status
  - added the optional property `errors/items/subCategory` to the response with the `207` status
  - added the optional property `results/items/archivedAt` to the response with the `200` status
  - added the optional property `results/items/archivedAt` to the response with the `207` status
  - added the optional property `results/items/objectWriteTraceId` to the response with the `200` status
  - added the optional property `results/items/objectWriteTraceId` to the response with the `207` status
  - added the optional property `results/items/propertiesWithHistory` to the response with the `200` status
  - added the optional property `results/items/propertiesWithHistory` to the response with the `207` status
  - added the optional property `results/items/url` to the response with the `200` status
  - added the optional property `results/items/url` to the response with the `207` status
  - added the required property `errors/items/category` to the response with the `207` status
  - added the required property `errors/items/context` to the response with the `207` status
  - added the required property `errors/items/errors` to the response with the `207` status
  - added the required property `errors/items/links` to the response with the `207` status
  - added the required property `errors/items/message` to the response with the `207` status
  - added the required property `errors/items/status` to the response with the `207` status
  - added the required property `results/items/archived` to the response with the `200` status
  - added the required property `results/items/archived` to the response with the `207` status
  - added the required property `results/items/createdAt` to the response with the `200` status
  - added the required property `results/items/createdAt` to the response with the `207` status
  - added the required property `results/items/id` to the response with the `200` status
  - added the required property `results/items/id` to the response with the `207` status
  - added the required property `results/items/new` to the response with the `200` status
  - added the required property `results/items/new` to the response with the `207` status
  - added the required property `results/items/properties` to the response with the `200` status
  - added the required property `results/items/properties` to the response with the `207` status
  - added the required property `results/items/updatedAt` to the response with the `200` status
  - added the required property `results/items/updatedAt` to the response with the `207` status
- **2026-06-15** (v3) `9c048ea183fd`: 21 breaking, 10 warning
  - the `errors/items/` response's property type changed from `object` to no type for status `207`
  - the `results/items/` response's property type changed from `object` to no type for status `200`
  - the `results/items/` response's property type changed from `object` to no type for status `207`
  - removed the required property `errors/items/category` from the response with the `207` status
  - removed the required property `errors/items/context` from the response with the `207` status
  - removed the required property `errors/items/errors` from the response with the `207` status
  - removed the required property `errors/items/links` from the response with the `207` status
  - removed the required property `errors/items/message` from the response with the `207` status
  - removed the required property `errors/items/status` from the response with the `207` status
  - removed the required property `results/items/archived` from the response with the `200` status
  - removed the required property `results/items/archived` from the response with the `207` status
  - removed the required property `results/items/createdAt` from the response with the `200` status
  - removed the required property `results/items/createdAt` from the response with the `207` status
  - removed the required property `results/items/id` from the response with the `200` status
  - removed the required property `results/items/id` from the response with the `207` status
  - removed the required property `results/items/new` from the response with the `200` status
  - removed the required property `results/items/new` from the response with the `207` status
  - removed the required property `results/items/properties` from the response with the `200` status
  - removed the required property `results/items/properties` from the response with the `207` status
  - removed the required property `results/items/updatedAt` from the response with the `200` status
  - removed the required property `results/items/updatedAt` from the response with the `207` status
  - removed the optional property `errors/items/id` from the response with the `207` status
  - removed the optional property `errors/items/subCategory` from the response with the `207` status
  - removed the optional property `results/items/archivedAt` from the response with the `200` status
  - removed the optional property `results/items/archivedAt` from the response with the `207` status
  - removed the optional property `results/items/objectWriteTraceId` from the response with the `200` status
  - removed the optional property `results/items/objectWriteTraceId` from the response with the `207` status
  - removed the optional property `results/items/propertiesWithHistory` from the response with the `200` status
  - removed the optional property `results/items/propertiesWithHistory` from the response with the `207` status
  - removed the optional property `results/items/url` from the response with the `200` status
  - removed the optional property `results/items/url` from the response with the `207` status
- **2026-04-15** (v3) `d3f4dbdcb8fa`: 5 info
  - the endpoint scheme security `app_cookie` was removed from the API
  - the endpoint scheme security `hapikey` was removed from the API
  - the endpoint scheme security `internal_cookie` was removed from the API
  - the endpoint scheme security `private_apps` was removed from the API
  - the endpoint scheme security `shhkey` was removed from the API
- **2026-04-09** (v3) `b92b52896300`: 5 info
  - api operation id `post-/crm/v3/objects/invoices/batch/upsert` removed and replaced with `post-/crm/v3/objects/invoices/batch/upsert_upsert`
  - the endpoint scheme security `app_cookie` was added to the API
  - the endpoint scheme security `hapikey` was added to the API
  - the endpoint scheme security `internal_cookie` was added to the API
  - the endpoint scheme security `shhkey` was added to the API
- **2026-04-03** (v3) `5c3db0dabaa8`: 1 info
  - api operation id `post-/crm/v3/objects/invoices/batch/upsert_upsert` removed and replaced with `post-/crm/v3/objects/invoices/batch/upsert`
- **2026-04-02** (v3) `d3dbd46e9461`: 2 info
  - the response property `results` became required for the status `207`
  - the response property `startedAt` became required for the status `207`
- **2026-03-31** (v3) `d54f81cb46fd`: 2 warning, 1 info
  - removed the optional property `errors` from the response with the `200` status
  - removed the optional property `numErrors` from the response with the `200` status
  - added the media type `application/json` for the response with the status `207`
- **2026-03-30** (v3) `fa8508f5e7b1`: 1 info
  - added the success response with the status `207`
- **2026-02-10** (v3) `1e551dde3efb`: 1 info
  - added the optional property `results/items/url` to the response with the `200` status
- **2025-12-11** (v3) `35b7418a601d`: 4 info
  - the endpoint scheme security `oauth2_legacy` was removed from the API
  - the endpoint scheme security `private_apps_legacy` was removed from the API
  - the security scope `crm.objects.invoices.write` was added to the endpoint's security scheme `oauth2`
  - the security scope `crm.objects.invoices.write` was added to the endpoint's security scheme `private_apps`
- **2025-12-10** (v3) `3d7ffa174422`: 4 info
  - the endpoint scheme security `oauth2_legacy` was added to the API
  - the security scope `contacts` was removed from the endpoint's security scheme `private_apps_legacy`
  - the security scope `crm.objects.deals.highly_sensitive.write` was removed from the endpoint's security scheme `private_apps`
  - the security scope `crm.objects.services.read` was removed from the endpoint's security scheme `oauth2`
- **2025-12-09** (v3) `eb36dca62243`: 6 info
  - the endpoint scheme security `oauth2_legacy` was removed from the API
  - the security scope `contacts` was added to the endpoint's security scheme `private_apps_legacy`
  - the security scope `crm.objects.listings.write` was added to the endpoint's security scheme `private_apps`
  - the security scope `crm.objects.orders.read` was added to the endpoint's security scheme `oauth2`
  - the security scope `crm.objects.invoices.write` was removed from the endpoint's security scheme `oauth2`
  - the security scope `crm.objects.invoices.write` was removed from the endpoint's security scheme `private_apps`
- **2025-11-21** (v3) `e8836c8cf827`: 1 warning
  - deleted the `path` request parameter `objectType`
- **2025-11-04** (v3) `a49ba06841fd`: 1 breaking, 1 info
  - added the new path request parameter `objectType`
  - the response property `results/items/archived` became required for the status `200`

---

[Operation](https://skmtc.dev/hubspot/apis/crm-invoices/docs/crm/v3/objects/invoices/batch/upsert/post.md) - [API](https://skmtc.dev/hubspot/apis/crm-invoices.md) - [Page](https://skmtc.dev/hubspot/apis/crm-invoices/changes/crm/v3/objects/invoices/batch/upsert/post)
