---
title: "Create a new Bundle"
method: POST
path: "/materialbundle.json"
tags: ["Bundles"]
---

# Create a new Bundle

`POST /materialbundle.json`

#### OAuth Scope
This endpoint requires the following OAuth scope **manage_inventory**.

			
			
#### Record UUID
UUID is optional for record creation. If no UUID is supplied, a UUID will be automatically generated for the new record and returned in the `x-record-uuid` response header.

## Request body

- MaterialBundleCreate
  - `uuid` string, uuid — Unique identifier for this record
  - `item_number` string, required — Unique identifier for this bundle. Must be 30 characters or less and unique across both Materials and Bundles. Used when adding bundles to jobs.
  - `name` string — The display name of the bundle. Used for identification in the system and shows on documents when the bundle is added to a job.
  - `material_list` object[] — A JSON array containing the materials that make up this bundle. Each item includes the material's UUID, quantity, and optional sort_order. Limited to between 1 and 50 items, with all quantities being positive numbers.
    - `uuid` string, uuid, required — Must be the UUID of a Material record
    - `quantity` number, required
    - `sort_order` integer — Optional sort order for materials in the bundle

## Response `200`

Success

- Result
  - `errorCode` number
  - `message` string

## Other responses

- `400` — Bad Request - The request is malformed or contains invalid parameters
- `401` — Unauthorized - Authentication credentials are missing or invalid
- `403` — Forbidden - You don't have permission to create this resource
- `429` — Too Many Requests - You have exceeded the rate limit
- `500` — Internal Server Error - An unexpected error occurred on the server

---

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