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

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

`POST /crm/objects/2026-03/quotes/batch/upsert`

## Request

- Base URL: `https://api.hubapi.com`
- URL: `https://api.hubapi.com/crm/objects/2026-03/quotes/batch/upsert`
- Auth: none required

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: Represents a batch input operation for upserting simple public objects in HubSpot. This component is used to process multiple upsert operations in a single request, improving efficiency and performance.
  - `inputs` SimplePublicObjectBatchInputUpsert[], required: An array of simple public objects to be upserted. Each object in the array contains the necessary data for creating or updating a record in HubSpot.
    - `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: A map of link names to associated URIs, providing additional information or actions related to the batch operation.
  - `requestedAt` string, date-time: The timestamp when the batch process was initiated, in ISO 8601 format.
  - `results` SimplePublicUpsertObject[], required: An array of SimplePublicUpsertObject items representing the results of the batch upsert operation.
    - `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.
    - `warnings` PublicObjectWarning[]
      - `category` string, required: The classification of the warning, indicating the type or nature of the issue.
      - `context` object, required: Additional information or metadata about the warning, providing context for understanding the issue.
      - `message` string, required: The text of the warning message, providing information about the issue or alert.
  - `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-09-22** (2026-03) `4c46f35a072e`: 2 info
  - the endpoint scheme security `oauth2` was removed from the API
  - the endpoint scheme security `oauth2` was removed from the API
- **2026-09-10** (2026-03) `dcddd25ebe89`: 2 info
  - the security scope `crm.objects.quotes.write` was added to the endpoint's security scheme `oauth2`
  - the security scope `e-commerce` was removed from the endpoint's security scheme `oauth2`
- **2026-09-09** (2026-03) `fb36532f3746`: 2 info
  - the security scope `crm.objects.quotes.write` was added to the endpoint's security scheme `oauth2`
  - the security scope `e-commerce` was removed from the endpoint's security scheme `oauth2`
- **2026-09-07** (2026-03) `59c80d257077`: 2 info
  - the security scope `crm.objects.quotes.write` was added to the endpoint's security scheme `oauth2`
  - the security scope `e-commerce` was removed from the endpoint's security scheme `oauth2`
- **2026-09-04** (2026-03) `20ecb0b6f757`: 2 info
  - the security scope `crm.objects.quotes.write` was added to the endpoint's security scheme `oauth2`
  - the security scope `e-commerce` was removed from the endpoint's security scheme `oauth2`

[Operation history](https://skmtc.dev/hubspot/apis/crm-quotes/changes/crm/objects/2026-03/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/e70afe52d520?raw)
