---
title: "Bulk create Inventory Products (BETA)"
method: POST
path: "/products/{incomingIdentifier}/bulk"
tags: ["Product Inventory"]
---

# Bulk create Inventory Products (BETA)

`POST /products/{incomingIdentifier}/bulk`

## Request

- Base URL: `https://resources.uk.eagleeye.com`
- URL: `https://resources.uk.eagleeye.com/products/{incomingIdentifier}/bulk`
- Auth: none declared. Required headers: `X-EES-AUTH-CLIENT-ID`, `X-EES-AUTH-HASH`

This API endpoint allows the calling unit to create multiple inventory products in one request for their child unit as specified by its `incomingIdentifier`.

## Path parameters

- `incomingIdentifier` string, string, required

## Headers

- `Accept-Encoding` '''' | ''gzip'' | ''deflate'' | ''gzip,deflate'' | ''deflate,gzip'', string
- `Connection` 'keep-alive' | 'close', string
- `Content-Type` string, string
- `X-EES-AUTH-CLIENT-ID` string, string, required
- `X-EES-AUTH-HASH` string, string, required
- `X-EES-TRANSACTION-ID` string, string

## Request body

- InventoryProductPostRequestEntity[]: Array of products to be created in a single request.
  - `id` string, required: The unique identifier of the inventory product.
  - `groupId` string, required: The identifier of the group this product belongs to.
  - `name` string: The display name of the product.
  - `description` string: An optional description of the product.
  - `imageUrl` string, nullable: URL of the product image.
  - `supplierId` string: The identifier of the product supplier.
  - `supplierName` string: The display name of the product supplier.
  - `brand` string: The brand of the product.
  - `brandType` string: The brand type classification of the product.
  - `lastSoldDate` string, ees-date-time, nullable: The date and time the product was last sold (ISO 8601 / ATOM format).
  - `tags` string[]: A list of tags associated with the product.

## Response `201`

All products were created successfully.

- InventoryProductsBulkCreateResponseEntity
  - `successful` object, required
    - `total` integer, required: Number of products successfully created.
    - `results` InventoryProductEntity[], required: Successfully created products.
      - `id` string: The unique identifier of the inventory product.
      - `groupId` string: The identifier of the group this product belongs to.
      - `name` string: The display name of the product.
      - `description` string: An optional description of the product.
      - `imageUrl` string, nullable: URL of the product image.
      - `supplierId` string: The identifier of the product supplier.
      - `supplierName` string: The display name of the product supplier.
      - `brand` string: The brand of the product.
      - `brandType` string: The brand type classification of the product.
      - `lastSoldDate` string, ees-date-time, nullable: The date and time the product was last sold (ISO 8601 / ATOM format).
      - `tags` string[]: A list of tags associated with the product.
      - `group` InventoryProductGroupExpandedEntity
        - `id` string: The unique identifier of the group.
        - `name` string: The display name of the group.
        - `type` string: The group type.
        - `description` string: A description of the group.
        - `parentId` string, nullable: The identifier of the parent group. Null for root groups.
        - `parent` InventoryProductGroupExpandedEntity (recursive)
  - `failed` object, required
    - `total` integer, required: Number of products that failed to be created.
    - `results` InventoryProductsBulkCreateFailedResultEntity[], required: Per-item errors for products that failed to be created.
      - `id` string, required: The identifier of the product that failed to be created.
      - `errorCode` string, required: The error code associated with the failed product.
      - `errorMessage` string, required: A message explaining why this product failed to be created.

## Other responses

- `207`: Some products were created and some failed validation or business rules.
- `400`: Request failed due to schema validation errors or all submitted products failing.
- `401`: EES AIR Refuse to process that particular Request due to Authentication error. This could be caused by missing mandatory AUTH header(s), invalid Hash calculation, invalid or inactive API Key used, etc
- `403`: EES AIR Refuse to process that particular Request due to Request Authorization error(s). This indicates that used API Key has not got required permissions to perform this operation.
- `404`: EES AIR Refuse to process that particular Request as requested/referenced resource could not be found.
- `415`: EES AIR is not able to understand that request due to not supported `Content-Type` value.
- `429`: EES AIR refuses to process that particular Request as Client's API Requests Limit was exceeded.
- `500`: EES AIR refuses to process that particular Request due to Unexpected Server Error.
- `503`: EES AIR refuses to process that particular Request due to Service(s) being Unavailable (i.e. Scheduled Maintenance)
- `504`: EES AIR refuses to process that particular Request due to Networking Issues

---

[API](https://skmtc.dev/eagleeye/apis/resource-api.md) - [All operations](https://skmtc.dev/eagleeye/apis/resource-api/llms.txt) - [OpenAPI document](https://skmtc.dev/eagleeye/apis/resource-api/revisions/10217d37fdc5?raw)
