> ## Documentation Index
> Fetch the complete documentation index at: https://docs.launchmystore.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List Fulfillments

> Get all fulfillments, optionally filtered by order

## Query Parameters

<ParamField query="order_id" type="string">
  Filter fulfillments belonging to a specific order
</ParamField>

<ParamField query="status" type="string">
  Filter by fulfillment status: `pending`, `open`, `success`, `cancelled`, `error`, `failure`
</ParamField>

<ParamField query="since_id" type="string">
  Return only fulfillments created after the fulfillment with this ID
</ParamField>

<ParamField query="page" type="integer" default="1">
  Page number for pagination
</ParamField>

<ParamField query="limit" type="integer" default="50">
  Number of fulfillments per page
</ParamField>

## Response

<ResponseField name="status" type="integer">
  HTTP status code
</ResponseField>

<ResponseField name="state" type="string">
  Result state (`success` or `error`)
</ResponseField>

<ResponseField name="message" type="string">
  Optional message (null on success)
</ResponseField>

<ResponseField name="data" type="object">
  <Expandable title="properties">
    <ResponseField name="fulfillments" type="array">
      <Expandable title="fulfillment object">
        <ResponseField name="fulfillmentId" type="string">Fulfillment ID</ResponseField>
        <ResponseField name="orderId" type="string">Parent order ID</ResponseField>
        <ResponseField name="status" type="string">pending, open, success, cancelled, error, failure</ResponseField>
        <ResponseField name="serviceId" type="string">Fulfillment service ID (null if none)</ResponseField>
        <ResponseField name="trackingNumber" type="string">Carrier tracking number</ResponseField>
        <ResponseField name="trackingUrl" type="string">Tracking URL</ResponseField>
        <ResponseField name="trackingCompany" type="string">Carrier name</ResponseField>
        <ResponseField name="lineItems" type="array">Fulfilled line items</ResponseField>
        <ResponseField name="notifyCustomer" type="boolean">Whether the customer was notified</ResponseField>
        <ResponseField name="createdAt" type="string">Creation timestamp</ResponseField>
        <ResponseField name="updatedAt" type="string">Last update timestamp</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="total" type="integer">Total number of fulfillments matching the filters</ResponseField>
    <ResponseField name="page" type="integer">Current page</ResponseField>
    <ResponseField name="limit" type="integer">Page size</ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json theme={null}
  {
    "status": 200,
    "state": "success",
    "message": null,
    "data": {
      "fulfillments": [
        {
          "fulfillmentId": "8f3a9c2e-1d4b-4a8e-9f12-3b7c6d5e4a10",
          "orderId": "ord_xyz789",
          "status": "success",
          "serviceId": null,
          "trackingNumber": "1Z999AA10123456784",
          "trackingUrl": "https://ups.com/track?num=1Z999AA10123456784",
          "trackingCompany": "UPS",
          "lineItems": [
            {
              "id": "li_001",
              "quantity": 2
            }
          ],
          "notifyCustomer": true,
          "createdAt": "2024-01-16T09:00:00.000Z",
          "updatedAt": "2024-01-16T09:00:00.000Z"
        }
      ],
      "total": 1,
      "page": 1,
      "limit": 50
    }
  }
  ```
</ResponseExample>
