---
title: "Reserves inventory for a batch of products based on the provided request."
method: POST
path: "/v1/Products/LimitedInventory/ReserveByBatch"
tags: ["Products"]
---

# Reserves inventory for a batch of products based on the provided request.

`POST /v1/Products/LimitedInventory/ReserveByBatch`

## Request

- Base URL: `https://api.domain.com.au`
- URL: `https://api.domain.com.au/v1/Products/LimitedInventory/ReserveByBatch`
- Auth: one of:
  - API key in header `x-api-key`
  - OAuth 2
    - Authorization code: `https://auth.domain.com.au/v1/connect/authorize`
    - Client credentials
    - Token URL: `https://auth.domain.com.au/v1/connect/token` scopes: `api_agencies_write`
- TypeScript: <https://skmtc.dev/domain/apis/domain-public-api/docs/v1/Products/LimitedInventory/ReserveByBatch/post.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- BookingV2ApiV1ReserveInventoryByBatchRequest
  - `agencyId` integer
  - `requestedBy` string, required
  - `reservations` BookingV2ApiV1ReserveInventoryRequest[], nullable
    - `productType` 'TopSpot' | 'TopSpotRural' | 'ListingShowcase' | 'DreamHomes'
    - `listingCategory` 'Sale' | 'Lease'
    - `listingFilterType` 'Residential' | 'NewDevelopment' | 'Project' | 'Rural': For Dreamhomes listing filters
    - `channel` 'Residential' | 'Commercial' | 'Business'
    - `suburbSlug` string, nullable
    - `requestedBy` string, nullable
    - `durations` BookingV2ApiV1DurationDto[], nullable
      - `durationNo` integer
      - `dateStart` string, date-time
      - `dateEnd` string, date-time
    - `ipAddress` string, nullable
    - `legacyContractId` integer, nullable
    - `assetReferenceId` string, uuid, required
    - `isExclusive` boolean

## Response `200`

All reservations successful

- BookingV2ApiV1ReserveInventoryByBatchResponse
  - `results` BookingV2ApiV1ReservationResponse[], nullable
    - `error` string, nullable
    - `reservationId` integer
    - `agencyId` integer
    - `suburbSlug` string, nullable
    - `productType` 'TopSpot' | 'TopSpotRural' | 'ListingShowcase' | 'DreamHomes'
    - `listingCategory` 'Sale' | 'Lease'
    - `dateStart` string, date-time
    - `dateEnd` string, date-time
    - `noOfDurations` integer
    - `assetReferenceId` string, uuid, nullable
  - `summary` BookingV2ApiV1BatchSummaryResponse
    - `requested` integer
    - `succeeded` integer
    - `failed` integer

## Other responses

- `207`: Some reservations failed
- `400`: Validation error
- `401`: Unauthorized
- `403`: Forbidden
- `422`: Reservations processed without success
- `500`: All reservations failed or internal server error

## Changes

- **2026-05-08** `7130302fb268`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/domain/apis/domain-public-api/changes/v1/Products/LimitedInventory/ReserveByBatch/post.md)

---

[API](https://skmtc.dev/domain/apis/domain-public-api.md) - [All operations](https://skmtc.dev/domain/apis/domain-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/domain/apis/domain-public-api/revisions/133015c6842c?raw)
