Search code examples
phpcurlsquare-connect

Is it possible to set items as available for pickup in Square API?


I am creating items using the Square API. In the Square dashboard > item library, in the "online store settings" section, there is "available for pickup" and "available for shipping". Is there a way I can have 'available for pickup' checked by default when I create an item with the API?

I know the documentation says "You cannot currently manage pickup orders with the Connect API." But what I want to do has to do with managing items, not orders.


Solution

  • Yes. When creating an item, set the available_for_pickup field to true in your request body, like so:

    {
      "name": "Milkshake",
      "visibility": "PUBLIC",
      "variations": [
        {
          "name": "Small",
          "pricing_type": "FIXED_PRICING",
          "price_money": {
            "currency_code": "USD",
            "amount": 400
          },
        }
      ],
      "available_for_pickup": true
    }
    

    A couple of clarifications:

    • An item's visibility must be set to PUBLIC for it to appear in the online store.
    • The available_online field (not shown in the above example) controls only whether an item can be added to shipping orders. You only need to set the available_for_pickup and visibility fields for pickup-only items.