---
title: "Batch Create Deals"
method: POST
path: "/v1/deals/batch"
tags: ["Deals"]
---

# Batch Create Deals

`POST /v1/deals/batch`

Creates multiple deals in a single request (up to 100). Each deal follows the same rules as the single create endpoint.

**Atomicity:** This operation is all-or-nothing. If any deal in the array fails validation or creation, the entire request returns an error. Deals that were processed before the failure may have already been written; on error, check for partial side effects.

## Request body

- PublicDealBatchCreateDto
  - `deals` PublicDealCreateDto[], required — Array of deals to create. Maximum 100 items per request.
    - `company` PublicDealCompanyDto
      - `name` string
      - `url` string
      - `logoUrl` string — Company logo URL.
      - `cartaIssuerId` string — Carta issuer ID associated with this company.
      - `cartaCorporationId` string — Carta corporation ID associated with this company.
      - `industry` string — Industry the company operates in.
      - `location` string — Headquarters or primary location of the company.
      - `description` string — Short description or summary about the company.
    - `comment` string
    - `tags` string[]
    - `pipelineId` string
    - `stageId` string
    - `addedAt` union
      - string, date
      - string, date-time
    - `dealLead` string — User ID to assign as deal lead
    - `fields` object — Custom field values keyed by field ID. For fields of type `company`, provide either a company ID or a domain string (e.g. `"stripe.com"`). For `company-list` fields, provide an array of company IDs and/or domain strings. If a domain matches an existing company in your organization, the company record is linked directly; otherwise the domain is resolved via external enrichment. For fields of type `deal`, provide a deal ID. For `deal-list` fields, provide an array of deal IDs. For `contacts-list` fields, provide an array of contact IDs.
    - `people` PublicDealPeopleDto
      - `advisers` string[] — Array of contact IDs linked as advisers to the deal.
      - `introducer` string[] — Array of contact IDs linked as introducers to the deal.
      - `management` string[] — Array of contact IDs linked as management to the deal.

## Response `200`

Deals created successfully

- PublicDealBatchResponseDto
  - `deals` PublicDealDto[], required
    - `id` string, required
    - `company` PublicDealCompanyDto
      - `name` string
      - `url` string
      - `logoUrl` string — Company logo URL.
      - `cartaIssuerId` string — Carta issuer ID associated with this company.
      - `cartaCorporationId` string — Carta corporation ID associated with this company.
      - `industry` string — Industry the company operates in.
      - `location` string — Headquarters or primary location of the company.
      - `description` string — Short description or summary about the company.
    - `comment` string
    - `tags` string[]
    - `creatorId` string
    - `pipelineId` string
    - `stageId` string
    - `addedAt` union
      - string, date
      - string, date-time
    - `createdAt` union
      - string, date
      - string, date-time
    - `updatedAt` union
      - string, date
      - string, date-time
    - `dealLead` string
    - `dealLeadName` string — Display name of the deal lead.
    - `fields` object
    - `people` PublicDealPeopleDto
      - `advisers` string[] — Array of contact IDs linked as advisers to the deal.
      - `introducer` string[] — Array of contact IDs linked as introducers to the deal.
      - `management` string[] — Array of contact IDs linked as management to the deal.

## Other responses

- `400` — Invalid request parameters
- `401` — Invalid or missing API key
- `500` — Internal server error

---

[API](https://skmtc.net/carta/apis/carta.md) · [All operations](https://skmtc.net/carta/apis/carta/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/carta/carta/revisions/e2df8f96438f/schema)
