---
title: "Create or update a batch of quotes by unique property values"
method: POST
path: "/crm/v3/objects/quotes/batch/upsert"
tags: ["Batch"]
---

# Create or update a batch of quotes by unique property values

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

Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object.

## Request body

- BatchInputSimplePublicObjectBatchInputUpsert
  - `inputs` SimplePublicObjectBatchInputUpsert[], required
    - `id` string, required — The unique ID of the object.
    - `idProperty` string — The name of a property whose values are unique for this object
    - `objectWriteTraceId` string — An identifier for tracing the creation request.
    - `properties` object, required — Key value pairs representing the properties of the object.

## Response `200`

successful operation

- BatchResponseSimplePublicUpsertObject — Represents the result of a batch upsert operation, including the operation’s status, timestamps, and a list of successfully created or updated objects.
  - `completedAt` string, date-time, required — The timestamp when the batch process was completed, in ISO 8601 format.
  - `links` object — An object containing relevant links related to the batch request.
  - `requestedAt` string, date-time — The timestamp when the batch process was initiated, in ISO 8601 format.
  - `results` SimplePublicUpsertObject[], required
    - `archived` boolean, required — Whether the object is archived.
    - `archivedAt` string, date-time — The timestamp when the object was archived, in ISO 8601 format.
    - `createdAt` string, date-time, required — The timestamp when the object was created, in ISO 8601 format.
    - `id` string, required — The unique ID of the object.
    - `new` boolean, required — Whether the property is new.
    - `objectWriteTraceId` string — An identifier used for tracing the write request for the object.
    - `properties` object, required — Key value pairs representing the properties of the object.
    - `propertiesWithHistory` object — Key-value pairs representing the properties of the object along with their history.
    - `updatedAt` string, date-time, required — The timestamp when the object was last updated, in ISO 8601 format.
    - `url` string — The URL associated with the object.
  - `startedAt` string, date-time, required — The timestamp when the batch process began execution, in ISO 8601 format.
  - `status` 'CANCELED' | 'COMPLETE' | 'PENDING' | 'PROCESSING', required — The status of the batch processing request. Can be: "PENDING", "PROCESSING", "CANCELED", or "COMPLETE".

## Other responses

- `207` — multiple statuses
- `default` — An error occurred.

## Changes

- **2026-04-15** (v3) `0a08d17043bb` — 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
  - …1 more
- **2026-04-11** (v3) `886e287f055b` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/hubspot/apis/crm-quotes/changes/crm/v3/objects/quotes/batch/upsert/post.md)

---

[API](https://skmtc.dev/hubspot/apis/crm-quotes.md) · [All operations](https://skmtc.dev/hubspot/apis/crm-quotes/llms.txt) · [OpenAPI document](https://skmtc.dev/hubspot/apis/crm-quotes/revisions/0a08d17043bb?raw)
