Skip to content

HubSpot: Create a batch of deals

HubSpot deals.batchCreateDeals: arguments, response, policy and SDK examples.

← Deals operations · Get started

Operation hubspot.deals_batch_create_deals

Provider route: POST /crm/objects/2026-09/0-3/batch/create. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/hubspot with npm, or alter-sdk-hubspot with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { HubSpotIntegration } from "@alter-ai/hubspot";
async function execute(input: Parameters<HubSpotIntegration["deals"]["batchCreateDeals"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new HubSpotIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.deals.batchCreateDeals(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_hubspot import HubSpotIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = HubSpotIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.deals.batch_create_deals(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
bodyModelRequired within parentExpand Create a batch of deals — request body — body

Referenced models: Create a batch of deals — request body — body

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$JSONRoot
$ (anyOf 1)ModelAlternativeExpand Create a batch of deals — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Deals Batch Response Simple Public Object
$ (anyOf 2)ModelAlternativeExpand Create a batch of deals — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Deals Batch Response Simple Public Object With Errors

Referenced models: Create a batch of deals — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Deals Batch Response Simple Public Object, Create a batch of deals — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Deals Batch Response Simple Public Object With Errors

5 more schemas are linked from the tables above, on the schema pages.

Create a batch of deals — request body — body
FieldTypePresenceDescription and constraints
$objectRootRepresents a batch input for creating multiple simple public objects in a single request. This component is used to streamline the process of adding new objects to a HubSpot account by allowing multiple entries to be created at once.
inputsarrayRequired within parentAn array of SimplePublicObjectBatchInputForCreate objects, each containing the properties and associations for a single object to be created.
inputs[]ModelEach itemExpand Create a batch of deals — request body — body inputs item

Referenced models: Create a batch of deals — request body — body inputs item

Create a batch of deals — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Deals Batch Response Simple Public Object
FieldTypePresenceDescription and constraints
$objectRootA public object batch response object
completedAtstringRequired within parentThe timestamp when the batch processing was completed, in ISO 8601 format.
Format: date-time
linksobjectOptionalAn object containing relevant links related to the batch request.
Additional keys: see wildcard field
links.*stringAdditional keys
requestedAtstringOptionalThe timestamp when the batch request was initially made, in ISO 8601 format.
Format: date-time
resultsarrayRequired within parentAn array of SimplePublicObject items representing the results of the batch operation.
results[]ModelEach itemExpand Create — deals create Deal — response body
startedAtstringRequired within parentThe timestamp when the batch processing began, in ISO 8601 format.
Format: date-time
statusstringRequired within parentThe status of the batch processing request. The expected value is "COMPLETE".
Known values: CANCELED, COMPLETE, PENDING, PROCESSING

Referenced models: Create — deals create Deal — response body

Create a batch of deals — response body — status: CANCELED, COMPLETE, PENDING, PROCESSING — Deals Batch Response Simple Public Object With Errors
FieldTypePresenceDescription and constraints
$objectRootRepresents the result of a batch operation on CRM objects, including the processing status, batch results, timestamps, and a list of any errors encountered during the operation.
completedAtstringRequired within parentThe timestamp when the batch process was completed, in ISO 8601 format.
Format: date-time
errorsarrayOptionalAn array of StandardError instances detailing any errors that occurred during the batch operation.
errors[]ModelEach itemExpand Remove associations — response body — errors item
linksobjectOptionalAn object containing relevant links related to the batch request.
Additional keys: see wildcard field
links.*stringAdditional keys
numErrorsJSONOptional
numErrors (anyOf 1)integerAlternativeThe number of errors encountered during the batch process.
Format: int32
numErrors (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
requestedAtstringOptionalThe timestamp when the batch process was initiated, in ISO 8601 format.
Format: date-time
resultsarrayRequired within parentAn array of SimplePublicObject instances representing the successful results of the batch operation.
results[]ModelEach itemExpand Create — deals create Deal — response body
startedAtstringRequired within parentThe timestamp when the batch process began execution, in ISO 8601 format.
Format: date-time
statusstringRequired within parentThe status of the batch processing request - "PENDING", "PROCESSING", "CANCELLED", or "COMPLETE"
Known values: CANCELED, COMPLETE, PENDING, PROCESSING

Referenced models: Remove associations — response body — errors item, Create — deals create Deal — response body

Create a batch of deals — request body — body inputs item
FieldTypePresenceDescription and constraints
$objectRootAn input object that contains a collection of objects to be created together in a batch.
associationsarrayRequired within parentAn array of associations that define the relationships between the CRM objects being created and other objects. Each association is specified using the PublicAssociationsForObject schema.
associations[]ModelEach itemExpand Create — deals create Deal — request body — body associations item
objectWriteTraceIdstringOptionalAn identifier used for tracing the creation or update request of the object.
propertiesobjectRequired within parentKey value pairs representing the properties of the object.
Additional keys: see wildcard field
properties.*stringAdditional keys

Referenced models: Create — deals create Deal — request body — body associations item

Create — deals create Deal — response body
FieldTypePresenceDescription and constraints
$objectRootA simple public object.
archivedbooleanRequired within parentWhether the object is archived.
archivedAtstringOptionalThe timestamp when the object was archived, in ISO 8601 format.
Format: date-time
createdAtstringRequired within parentThe timestamp when the object was created, in ISO 8601 format.
Format: date-time
idstringRequired within parentThe unique ID of the object.
objectWriteTraceIdstringOptionalAn identifier used for tracing the creation or update request of the object.
propertiesobjectRequired within parentKey-value pairs representing the properties of the object.
Additional keys: see wildcard field
properties.*stringAdditional keys
propertiesWithHistoryobjectOptionalKey-value pairs representing the properties of the object along with their history.
Additional keys: see wildcard field
propertiesWithHistory.*arrayAdditional keys
propertiesWithHistory.*[]ModelEach itemExpand Read — deals get Deal — response body — properties With History value item
updatedAtstringRequired within parentThe timestamp when the object was last updated, in ISO 8601 format.
Format: date-time
urlstringOptionalA string representing the URL for this object.
warningsarrayOptionalAn array of warnings related to this object, each containing a category, message, and context.
warnings[]ModelEach itemExpand Read — deals get Deal — response body — warnings item

Referenced models: Read — deals get Deal — response body — warnings item, Read — deals get Deal — response body — properties With History value item

Remove associations — response body — errors item
FieldTypePresenceDescription and constraints
$objectRootRepresents a standard error response in the HubSpot API, providing detailed information about an error that occurred during an API request.
categorystringRequired within parentThe main category of the error.
contextobjectRequired within parentAdditional context-specific information related to the error.
Additional keys: see wildcard field
context.*arrayAdditional keys
context.*[]stringEach item
errorsarrayRequired within parentThe detailed error objects.
errors[]ModelEach itemExpand Batch insert events — response body — errors item errors item
idstringOptionalA unique ID for the error instance.
linksobjectRequired within parentURLs linking to documentation or resources associated with the error.
Additional keys: see wildcard field
links.*stringAdditional keys
messagestringRequired within parentA human-readable string describing the error and possible remediation steps.
statusstringRequired within parentThe HTTP status code associated with the error.
subCategoryobjectOptionalA more specific error category within each main category.

Referenced models: Batch insert events — response body — errors item errors item

Create — deals create Deal — request body — body associations item
FieldTypePresenceDescription and constraints
$objectRootRepresents the associations for a specific object in HubSpot, detailing the types of associations and the related objects involved.
toModelRequired within parentExpand Archive a batch of deals by ID — request body — body inputs item
typesarrayRequired within parentAn array of association specifications, each detailing a specific type of association between the objects.
types[]ModelEach itemExpand Associate records (labelled) — associations update Association Labeled — request body — body item

Referenced models: Archive a batch of deals by ID — request body — body inputs item, Associate records (labelled) — associations update Association Labeled — request body — body item

SDK function policy ID: hubspot.deals_batch_create_deals. Catalog operation: deals_batch_create_deals. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Required provider scopes: ["crm.objects.deals.write"]

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.