---
title: "Kit - Create"
method: POST
path: "/kit/create"
tags: ["kit"]
---

# Kit - Create

`POST /kit/create`

Create a new kit with component items, SKU, and optional details.

## Request body

- object
  - `data` object, required — Kit data object
    - `name` string, required — Kit name (required)
    - `listing_sku` string — Listing SKU (required if sku not provided)
    - `sku` string — SKU (alias for listing_sku)
    - `fulfillment_sku` string — Fulfillment SKU
    - `items` object[] — Component items to add to the kit
      - `item_id` string — Component item ID
      - `sku` string — Component item SKU (used to look up item_id)
      - `quantity` number, required — Quantity of this item in the kit
      - `type` string — Set to "new" to create a new item
    - `barcodes` string[] — Barcodes to assign
    - `tags` string[] — Tag IDs to assign (ObjectId strings referencing the tag collection)
    - `cost` number — Kit cost
    - `retail` number — Retail price
    - `wholesale` number — Wholesale price
    - `sale` number — Sale price
    - `active` boolean — Whether the kit is active
    - `image` string — Image URL
    - `description` string — Kit description
    - `notes` string — Kit notes
    - `weight` number — Weight
    - `weight_unit` 'oz' | 'lb' | 'g' | 'kg' — Weight unit
    - `lag_time` number — Lag time in days

## Response `200`

Kit created

- object
  - `success` boolean, required — Whether the operation succeeded
  - `_id` string, required — ID of the created kit
  - `new_kit_id` string, required — ID of the newly created kit (same as _id)

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden. Insufficient permissions.
- `429` — Too many requests. Rate limit exceeded.
- `500` — Internal server error.

## Changes

- **2026-03-02** `fa53dd949b8e` — 2 breaking, 24 info
  - added the new required request property `data/name`
  - the request property `data` became required
  - api operation id `post_kit_create` was added
  - added the new optional request property `data/active`
  - …22 more
- **2024-04-22** `08cd9cfa14dd` — 1 breaking, 1 warning, 2 info
  - added required request body
  - deleted the `query` request parameter `data`
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
- **2024-04-19** `46ceda528000` — 2 breaking, 7 info
  - removed the request body
  - removed the media type `application/json` for the response with the status `200`
  - api operation id `post_kit_create` removed and replaced with ``
  - added the new optional `query` request parameter `data`
  - …5 more

[Change history](https://skmtc.dev/skulabs/apis/skulabs-api/changes/kit/create/post.md)

---

[API](https://skmtc.dev/skulabs/apis/skulabs-api.md) · [All operations](https://skmtc.dev/skulabs/apis/skulabs-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/skulabs/skulabs-api/revisions/4b5ec0ed78a6/schema)
