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

# Send Inventory (Inbound)

This tutorial guides you step by step through creating an "Inbound" record to notify the Quivo warehouse team that you are sending products. To fulfill orders, you need inventory available in a Quivo warehouse. This API flow creates an inbound record so the warehouse can plan for the arrival and process the inventory.

## Prerequisites

Before you start, make sure you have:

* **Session token:** A valid session token. See the [Authentication guide](/api-reference/authentication) to learn how to obtain one.
* **Seller ID:** Use the [`GET /sellers endpoint`](/api-reference/#tag/sellers) to find it.
* **Warehouse ID:** Use the [`GET /warehouses endpoint`](/api-reference/#tag/warehouses) to list available warehouses.
* **Product SKUs:** The items you are sending must already exist. Use the [`GET /articles endpoint`](/api-reference/#tag/articles) to find them.

<Note>
  All API examples in this guide use `${BASE_URL}` as a placeholder. Replace it with the correct base URL configured for the correct environment. For more information see [Environments page](/api-reference/environments).
</Note>

## Create the inbound request

Create an inbound record when you are preparing to send products to a Quivo warehouse. You must tell the warehouse exactly what’s coming so they can plan for its arrival using the [`POST /inbounds endpoint`](/api-reference/#tag/inbounds).

The following example shows a complete inbound payload with all required fields and some common optional fields.

<Tabs>
  <Tab title="Request">
    Use this request to create a new inbound record and notify the warehouse about incoming stock.

    ```bash theme={null}
    curl -X POST "${BASE_URL}/inbounds" \
      -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
      -H "Authorization: <YOUR_SESSION_TOKEN>" \
      -H "Content-Type: application/json" \
      -d '{
        "sellerId": <YOUR_SELLER_ID>,
        "warehouseId": <YOUR_WAREHOUSE_ID>,
        "deliverySlipNumber": "<YOUR_DELIVERY_SLIP_NUMBER>",
        "estimatedArrivalTime": "<YYYY-MM-DDTHH:mm:ssZ>",
        "trackingNumber": "<YOUR_TRACKING_NUMBER>",
        "carrier": "<YOUR_CARRIER>",
        "deliveryInfo": {
          "cargoType": "CARTON",
          "quantity": <NUMBER_OF_CARTONS>
        },
        "inboundPositions": [
          {
            "sku": "<YOUR_SKU>",
            "quantity": <QUANTITY>
          },
          {
            "sku": "<YOUR_SKU>",
            "quantity": <QUANTITY>
          }
        ],
        "shipFrom": {
          "company": "<YOUR_COMPANY_NAME>",
          "address1": "<YOUR_STREET_ADDRESS>",
          "city": "<YOUR_CITY>",
          "country": "<YOUR_COUNTRY_CODE>",
          "zip": "<YOUR_ZIP_CODE>"
        }
      }'
    ```
  </Tab>

  <Tab title="Response">
    A successful request returns a `200 OK` status code.

    ```json theme={null}
    {
      "status": "OK",
      "inboundId": <YOUR_INBOUND_ID>,
      "message": "Inbound created successfully"
    }
    ```

    <Note>
      **Important:** Save the `inboundId` returned in the response. You may need to print this ID on the shipping label so the warehouse can identify the boxes when they arrive.
    </Note>
  </Tab>
</Tabs>

<Tip>
  For the complete inbound request schema—including all required and optional fields—see the [Inbounds section in the API Reference](/api-reference/#tag/inbounds).
</Tip>

## Track inbound status

After creating an inbound record, use this endpoint to monitor the processing status. Once your shipment arrives, the warehouse team starts scanning the items. Check the status of this process via the API using the [`GET /inbounds/{inboundId} endpoint`](/api-reference/#tag/inbounds).

<Tabs>
  <Tab title="Request">
    Use this request to retrieve the current status of an existing inbound by its ID.

    ```bash theme={null}
    curl -X GET "${BASE_URL}/inbounds/<YOUR_INBOUND_ID>" \
      -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
      -H "Authorization: <YOUR_SESSION_TOKEN>"
    ```
  </Tab>

  <Tab title="Response">
    A successful request returns a `200 OK` status code. The response returns an `InboundGet` object with details about the inbound:

    ```json theme={null}
    {
      "id": <YOUR_INBOUND_ID>,
      "sellerId": <YOUR_SELLER_ID>,
      "warehouseId": <YOUR_WAREHOUSE_ID>,
      "shopId": <YOUR_SHOP_ID>,
      "inboundStatus": "PROCESSING",
      "deliverySlipNumber": "<YOUR_DELIVERY_SLIP_NUMBER>",
      "estimatedArrivalTime": "<YYYY-MM-DDTHH:mm:ssZ>",
      "trackingNumber": "<YOUR_TRACKING_NUMBER>",
      "carrier": "<YOUR_CARRIER>",
      "created": "<YYYY-MM-DDTHH:mm:ssZ>",
      "completedAt": "<YYYY-MM-DDTHH:mm:ssZ>",
      "shipFrom": {
        "company": "<YOUR_COMPANY_NAME>",
        "address1": "<YOUR_STREET_ADDRESS>",
        "city": "<YOUR_CITY>",
        "country": "<YOUR_COUNTRY_CODE>",
        "zip": "<YOUR_ZIP_CODE>"
      },
      "deliveryInfo": {
        "cargoType": "CARTON",
        "quantity": <NUMBER_OF_CARTONS>
      },
      "inboundPositions": [
        {
          "sku": "<YOUR_SKU>",
          "quantity": <QUANTITY>
        }
      ]
    }
    ```

    Look for the `inboundStatus` field in the response to see the current status of the inbound:

    * `PENDING`: The inbound has been received; however, processing cannot start due to missing information.
    * `CREATED`: You have notified Quivo, but the package hasn't arrived.
    * `PROCESSING`: The warehouse is currently counting and booking the stock.
    * `COMPLETED`: The warehouse booked all items into inventory, and they're ready to sell. If the inbound completes, you can start the next step to create the order.
    * `CANCELLED`: Quivo cancelled the inbound.
  </Tab>
</Tabs>

## Where to go next

Now that you have sent inventory to the warehouse, continue with these guides:

<CardGroup cols={2}>
  <Card title="Create a Fulfillment Order" icon="shopping-cart" href="/docs/quickstart/create-order">
    Once Quivo processes your inventory, create fulfillment orders to start shipping products to customers.
  </Card>

  <Card title="Track an Order" icon="location-dot" href="/docs/quickstart/track-order">
    Monitor order status and retrieve tracking information for shipments.
  </Card>
</CardGroup>
