---
title: "Create totes in batch"
method: POST
path: "/v2/totes"
tags: ["totes"]
---

# Create totes in batch

`POST /v2/totes`

<aside class="access" aria-label="Endpoint access">
      <table class="access__table">
        <thead>
          <tr>
            <th class="access__table-header">Products</th>
            <th class="access__table-header">Plans</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td class="access__table-cell access__product">
              <img class="access__logo" src="/static/logos/shipstation-api-logo.svg" alt="ShipStation API Logo" loading="lazy" decoding="async"/>
              <div class="access__sub">Formerly ShipEngine</div>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-free.md" class="access__plan">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Advanced</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-api-advanced-enterprise.md" class="access__plan">Enterprise</a>
            </td>
          </tr>
          <tr>
            <td class="access__table-cell">
              <img class="access__logo" src="/static/logos/shipstation-logo.svg" alt="ShipStation Logo" loading="lazy" decoding="async"/>
            </td>
            <td class="access__table-cell access__plans">
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Free</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-free-starter.md" class="access__plan access__plan--off">Starter</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan">Standard</a>
              <a href="/apis/@shipstation-v2/docs/getting-started/plans/shipstation-standard-premium.md" class="access__plan">Premium</a>
            </td>
          </tr>
        </tbody>
      </table>
      <footer class="access__footer">
        <a class="access__help" href="/apis/@shipstation-v2/docs/getting-started/products-and-plans.md">
          Learn about products and plans
          <img src="/static/icons/external-link.svg" alt="External Link Icon" style="width: 16px;" loading="lazy" decoding="async"/>
        </a>
      </footer>
    </aside>

Create multiple totes at once. Returns both successfully created totes and any failures.

## Request body

- ToteCreateBatchRequest — Request to create multiple totes in batch
  - `totes` ToteCreateRequest[], required — Array of totes to create
    - `inventory_warehouse_id` string, required — A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
    - `tote_name` string, required — Name for the new tote
    - `tote_barcode` string — Barcode identifier for the tote (optional)
  - `return_succeeded_totes` boolean — Whether to include successfully created totes in the response. When false, only failed_totes will be returned.

## Response `200`

Batch creation response with succeeded and failed totes

- BulkCreateToteResponse — Response for batch tote creation
  - `succeeded_totes` Tote[] — Totes that were successfully created
    - `tote_id` string, required — A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
    - `inventory_warehouse_id` string, required — A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
    - `tote_name` string, required — Name of the tote
    - `tote_barcode` string — Barcode identifier for the tote
    - `created_at` string, date-time, required — Date and time when the tote was created
  - `failed_totes` FailedToteResponse[] — Totes that failed to be created
    - `inventory_warehouse_id` string — A string that uniquely identifies a ShipStation resource, such as a carrier, label, shipment, etc.
    - `tote_name` string — The tote name from the failed request
    - `tote_barcode` string — The tote barcode from the failed request
    - `error_message` string — Error message explaining why creation failed

## Other responses

- `400` — The request contained errors.
- `500` — The request was successful.

---

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