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

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

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

> Every recorded change to this operation, newest first.

## Timeline

Changed in 14 of 103 revisions.

- **2026-09-22** (v3) `6af2ebb37fe0`: 1 info
- **2026-07-13** (v3) `2a8d409d7f40`: 1 info
- **2026-07-13** (v3) `ef081db8be86`: 1 breaking
- **2026-06-23** (v3) `2a8d409d7f40`: 2 info
- **2026-06-15** (v3) `f564d79fa468`: 3 breaking, 28 info
- **2026-06-15** (v3) `ee04ec7ad70c`: 21 breaking, 10 warning
- **2026-04-15** (v3) `03f92a212086`: 5 info
- **2026-04-11** (v3) `655c7ff9ed28`: 1 info
- **2026-04-09** (v3) `cece651dde26`: 5 info
- **2026-04-03** (v3) `a2db5a1982ba`: 1 info
- **2026-04-02** (v3) `627c5d3c655e`: 2 info
- **2026-03-31** (v3) `7f558c759ddf`: 2 warning, 1 info
- **2026-03-30** (v3) `46ff69790e41`: 1 info
- **2026-02-19** (v3) `81156ee02d41`: 1 info

## Changes

- **2026-09-22** (v3) `6af2ebb37fe0`: 1 info
  - the endpoint scheme security `oauth2` was removed from the API
- **2026-07-13** (v3) `2a8d409d7f40`: 1 info
  - endpoint added
- **2026-07-13** (v3) `ef081db8be86`: 1 breaking
  - api path removed without deprecation
- **2026-06-23** (v3) `2a8d409d7f40`: 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) `f564d79fa468`: 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) `ee04ec7ad70c`: 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) `03f92a212086`: 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-11** (v3) `655c7ff9ed28`: 1 info
  - endpoint added
- **2026-04-09** (v3) `cece651dde26`: 5 info
  - api operation id `post-/crm/v3/objects/leads/batch/upsert` removed and replaced with `post-/crm/v3/objects/leads/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) `a2db5a1982ba`: 1 info
  - api operation id `post-/crm/v3/objects/leads/batch/upsert_upsert` removed and replaced with `post-/crm/v3/objects/leads/batch/upsert`
- **2026-04-02** (v3) `627c5d3c655e`: 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) `7f558c759ddf`: 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) `46ff69790e41`: 1 info
  - added the success response with the status `207`
- **2026-02-19** (v3) `81156ee02d41`: 1 info
  - endpoint added

---

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