---
title: "Create fulfillments"
method: POST
path: "/v2/fulfillments"
tags: ["fulfillments"]
---

# Create fulfillments

`POST /v2/fulfillments`

<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 one or more fulfillments by marking shipments as shipped with tracking information.
This will notify customers and marketplaces according to your configuration.

## Request body

- object
  - `fulfillments` object[], required
    - `shipment_id` string, required — The shipment id to fulfill
    - `tracking_number` string, required — Tracking number for the shipment
    - `carrier_code` string, required — Carrier code (e.g., "ups", "fedex", "usps")
    - `ship_date` string, date-time — Ship date (defaults to current date if not provided)
    - `notify_customer` boolean — Whether to notify the customer via email
    - `notify_order_source` boolean — Whether to notify the order source/marketplace

## Response `200`

Fulfillments processed (check has_errors and individual results)

- object
  - `has_errors` boolean — Indicates if any fulfillments failed to create
  - `fulfillments` object[]
    - `shipment_id` string — The shipment ID that was processed
    - `shipment_number` string — The shipment number (order number)
    - `error_message` string, nullable — Error message if creation failed (null on success)

## 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)
