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

# BigCommerce

> Products, orders, customers, categories, and catalog management.

The BigCommerce connector lets your workflows manage a BigCommerce store's catalog, process orders, and handle customer data through the BigCommerce API.

<Note>
  For the full API reference, see the [BigCommerce API documentation](https://developer.bigcommerce.com/docs/api).
</Note>

<Snippet file="connection-note.mdx" />

## Connection setup

<Steps>
  <Step title="Create API credentials">
    In your BigCommerce admin panel, go to **Settings > API > API Accounts**. Click **Create API Account** and grant the scopes your workflows need (e.g., Products, Orders, Customers). Copy the **Store Hash** and **Access Token** after creation.
  </Step>

  <Step title="Add the connection in Spojit">
    Go to **Connections** in Spojit, click **Add Connection**, select **BigCommerce**, and enter:

    * **Store Hash**: Your store hash (the alphanumeric string from your API URL, e.g., `abc123` from `https://api.bigcommerce.com/stores/abc123`)
    * **Access Token**: The API access token you created
  </Step>
</Steps>

## Tools

### Products

<AccordionGroup>
  <Accordion title="list-products: List products in the catalog">
    <ParamField body="page" type="number" default="1">
      Page number for pagination.
    </ParamField>

    <ParamField body="limit" type="number" default="50">
      Number of results per page (max 250).
    </ParamField>

    <ParamField body="name" type="string">
      Filter by product name (exact match).
    </ParamField>

    <ParamField body="keyword_filter" type="string">
      Filter by keyword search across name, SKU, and description.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "limit": 2
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "data": [
        {
          "id": 174,
          "name": "1L Le Parfait Jar",
          "type": "physical",
          "sku": "",
          "description": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit...</p>",
          "weight": 1,
          "width": 0,
          "depth": 0,
          "height": 0,
          "price": 7.95,
          "cost_price": 0,
          "retail_price": 10,
          "sale_price": 0,
          "map_price": 0,
          "categories": [23, 21],
          "brand_id": 36,
          "inventory_level": 0,
          "inventory_tracking": "none",
          "is_visible": true,
          "is_featured": false,
          "availability": "available",
          "condition": "New",
          "date_created": "2018-08-15T14:48:46+00:00",
          "date_modified": "2018-09-05T20:42:07+00:00",
          "custom_url": {
            "url": "/1l-le-parfait-jar/",
            "is_customized": false
          }
        }
      ],
      "meta": {
        "pagination": {
          "total": 39,
          "count": 1,
          "per_page": 2,
          "current_page": 1,
          "total_pages": 20
        }
      }
    }
    ```
  </Accordion>

  <Accordion title="get-product: Get a product by ID">
    <ParamField body="id" type="number" required>
      Product ID.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "id": 174
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "data": {
        "id": 174,
        "name": "1L Le Parfait Jar",
        "type": "physical",
        "sku": "",
        "description": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit...</p>",
        "weight": 1,
        "width": 0,
        "depth": 0,
        "height": 0,
        "price": 7.95,
        "cost_price": 0,
        "retail_price": 10,
        "sale_price": 0,
        "map_price": 0,
        "categories": [23, 21],
        "brand_id": 36,
        "inventory_level": 0,
        "inventory_tracking": "none",
        "is_visible": true,
        "is_featured": false,
        "availability": "available",
        "condition": "New",
        "date_created": "2018-08-15T14:48:46+00:00",
        "date_modified": "2018-09-05T20:42:07+00:00",
        "custom_url": {
          "url": "/1l-le-parfait-jar/",
          "is_customized": false
        }
      },
      "meta": {}
    }
    ```
  </Accordion>

  <Accordion title="create-product: Create a new product">
    <ParamField body="product" type="object" required>
      Product object with fields such as `name`, `type`, `weight`, `price`, `sku`, `description`, `categories`, `availability`, etc.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "product": {
        "name": "1L Le Parfait Jar",
        "type": "physical",
        "weight": 1,
        "price": 7.95,
        "description": "<p>Premium glass storage jar, perfect for preserving.</p>",
        "categories": [23, 21],
        "availability": "available"
      }
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "data": {
        "id": 174,
        "name": "1L Le Parfait Jar",
        "type": "physical",
        "sku": "",
        "description": "<p>Premium glass storage jar, perfect for preserving.</p>",
        "weight": 1,
        "width": 0,
        "depth": 0,
        "height": 0,
        "price": 7.95,
        "cost_price": 0,
        "retail_price": 0,
        "sale_price": 0,
        "map_price": 0,
        "categories": [23, 21],
        "brand_id": 0,
        "inventory_level": 0,
        "inventory_tracking": "none",
        "is_visible": false,
        "is_featured": false,
        "availability": "available",
        "condition": "New",
        "date_created": "2018-08-15T14:48:46+00:00",
        "date_modified": "2018-08-15T14:48:46+00:00",
        "custom_url": {
          "url": "/1l-le-parfait-jar/",
          "is_customized": false
        }
      },
      "meta": {}
    }
    ```
  </Accordion>

  <Accordion title="update-product: Update an existing product">
    <ParamField body="id" type="number" required>
      Product ID.
    </ParamField>

    <ParamField body="fields" type="object" required>
      Fields to update (e.g., `name`, `price`, `description`, `is_visible`).
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "id": 174,
      "fields": {
        "price": 9.95,
        "is_visible": true
      }
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "data": {
        "id": 174,
        "name": "1L Le Parfait Jar",
        "type": "physical",
        "sku": "",
        "description": "<p>Premium glass storage jar, perfect for preserving.</p>",
        "weight": 1,
        "width": 0,
        "depth": 0,
        "height": 0,
        "price": 9.95,
        "cost_price": 0,
        "retail_price": 10,
        "sale_price": 0,
        "map_price": 0,
        "categories": [23, 21],
        "brand_id": 36,
        "inventory_level": 0,
        "inventory_tracking": "none",
        "is_visible": true,
        "is_featured": false,
        "availability": "available",
        "condition": "New",
        "date_created": "2018-08-15T14:48:46+00:00",
        "date_modified": "2018-09-05T20:42:07+00:00",
        "custom_url": {
          "url": "/1l-le-parfait-jar/",
          "is_customized": false
        }
      },
      "meta": {}
    }
    ```
  </Accordion>

  <Accordion title="delete-product: Delete a product">
    <ParamField body="id" type="number" required>
      Product ID.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "id": 174
    }
    ```

    **Example response:**

    ```json theme={null}
    {}
    ```
  </Accordion>
</AccordionGroup>

### Orders

<AccordionGroup>
  <Accordion title="list-orders: List orders">
    Returns orders using the BigCommerce v2 Orders API.

    <ParamField body="page" type="number" default="1">
      Page number for pagination.
    </ParamField>

    <ParamField body="limit" type="number" default="50">
      Number of results per page (max 250).
    </ParamField>

    <ParamField body="status" type="string">
      Filter by order status (e.g., `Pending`, `Shipped`, `Completed`).
    </ParamField>

    <ParamField body="min_date_created" type="string">
      Filter orders created after this date (RFC 2822 or ISO 8601).
    </ParamField>

    <ParamField body="customer_id" type="number">
      Filter by customer ID.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "limit": 2,
      "status": "Awaiting Payment"
    }
    ```

    **Example response:**

    ```json theme={null}
    [
      {
        "id": 218,
        "customer_id": 11,
        "date_created": "Tue, 05 Mar 2019 21:40:11 +0000",
        "date_modified": "Mon, 11 Mar 2019 15:17:25 +0000",
        "date_shipped": "",
        "status_id": 7,
        "status": "Awaiting Payment",
        "subtotal_ex_tax": "62.6793",
        "subtotal_inc_tax": "67.8400",
        "subtotal_tax": "5.1607",
        "base_shipping_cost": "0.0000",
        "shipping_cost_ex_tax": "0.0000",
        "shipping_cost_inc_tax": "0.0000",
        "shipping_cost_tax": "0.0000",
        "total_ex_tax": "64.5300",
        "total_inc_tax": "69.8400",
        "total_tax": "5.3100",
        "items_total": 4,
        "items_shipped": 0,
        "payment_method": "Cash",
        "payment_status": "authorized",
        "currency_id": 1,
        "currency_code": "USD",
        "currency_exchange_rate": "1.0000000000",
        "default_currency_id": 1,
        "default_currency_code": "USD",
        "ip_address": "12.0.0.1",
        "channel_id": 1,
        "order_source": "external",
        "billing_address": {
          "first_name": "Jane",
          "last_name": "Doe",
          "company": "",
          "street_1": "555 East Street",
          "street_2": "",
          "city": "Austin",
          "state": "Texas",
          "zip": "78108",
          "country": "United States",
          "country_iso2": "US",
          "phone": "5551234567",
          "email": "janedoe@example.com"
        },
        "products": {
          "url": "https://api.bigcommerce.com/stores/{store_hash}/v2/orders/218/products",
          "resource": "/orders/218/products"
        },
        "shipping_addresses": {
          "url": "https://api.bigcommerce.com/stores/{store_hash}/v2/orders/218/shippingaddresses",
          "resource": "/orders/218/shippingaddresses"
        },
        "coupons": {
          "url": "https://api.bigcommerce.com/stores/{store_hash}/v2/orders/218/coupons",
          "resource": "/orders/218/coupons"
        }
      }
    ]
    ```
  </Accordion>

  <Accordion title="get-order: Get an order by ID">
    Returns order details using the BigCommerce v2 Orders API.

    <ParamField body="id" type="number" required>
      Order ID.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "id": 218
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "id": 218,
      "customer_id": 11,
      "date_created": "Tue, 05 Mar 2019 21:40:11 +0000",
      "date_modified": "Mon, 11 Mar 2019 15:17:25 +0000",
      "date_shipped": "",
      "status_id": 7,
      "status": "Awaiting Payment",
      "subtotal_ex_tax": "62.6793",
      "subtotal_inc_tax": "67.8400",
      "subtotal_tax": "5.1607",
      "base_shipping_cost": "0.0000",
      "shipping_cost_ex_tax": "0.0000",
      "shipping_cost_inc_tax": "0.0000",
      "shipping_cost_tax": "0.0000",
      "total_ex_tax": "64.5300",
      "total_inc_tax": "69.8400",
      "total_tax": "5.3100",
      "items_total": 4,
      "items_shipped": 0,
      "payment_method": "Cash",
      "payment_status": "authorized",
      "currency_id": 1,
      "currency_code": "USD",
      "currency_exchange_rate": "1.0000000000",
      "default_currency_id": 1,
      "default_currency_code": "USD",
      "ip_address": "12.0.0.1",
      "channel_id": 1,
      "order_source": "external",
      "billing_address": {
        "first_name": "Jane",
        "last_name": "Doe",
        "company": "",
        "street_1": "555 East Street",
        "street_2": "",
        "city": "Austin",
        "state": "Texas",
        "zip": "78108",
        "country": "United States",
        "country_iso2": "US",
        "phone": "5551234567",
        "email": "janedoe@example.com"
      },
      "products": {
        "url": "https://api.bigcommerce.com/stores/{store_hash}/v2/orders/218/products",
        "resource": "/orders/218/products"
      },
      "shipping_addresses": {
        "url": "https://api.bigcommerce.com/stores/{store_hash}/v2/orders/218/shippingaddresses",
        "resource": "/orders/218/shippingaddresses"
      },
      "coupons": {
        "url": "https://api.bigcommerce.com/stores/{store_hash}/v2/orders/218/coupons",
        "resource": "/orders/218/coupons"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

<Note>
  Orders use the BigCommerce v2 API, which returns data in a different format than v3 catalog endpoints.
</Note>

### Customers

<AccordionGroup>
  <Accordion title="list-customers: List customers">
    <ParamField body="page" type="number" default="1">
      Page number for pagination.
    </ParamField>

    <ParamField body="limit" type="number" default="50">
      Number of results per page (max 250).
    </ParamField>

    <ParamField body="email" type="string">
      Filter by exact email address.
    </ParamField>

    <ParamField body="name" type="string">
      Filter by customer name.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "limit": 2,
      "email": "jane.smith@example.com"
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "data": [
        {
          "id": 11,
          "email": "jane.smith@example.com",
          "first_name": "Jane",
          "last_name": "Smith",
          "company": "Acme Corp",
          "phone": "555-123-4567",
          "notes": "Preferred customer",
          "tax_exempt_category": "",
          "customer_group_id": 0,
          "date_created": "2018-09-24T12:01:18Z",
          "date_modified": "2018-09-24T12:01:18Z",
          "registration_ip_address": "12.0.0.1",
          "accepts_product_review_abandoned_cart_emails": true,
          "channel_ids": [1],
          "addresses": {
            "url": "https://api.bigcommerce.com/stores/{store_hash}/v3/customers/11/addresses",
            "resource": "/customers/11/addresses"
          }
        }
      ],
      "meta": {
        "pagination": {
          "total": 1,
          "count": 1,
          "per_page": 2,
          "current_page": 1,
          "total_pages": 1
        }
      }
    }
    ```
  </Accordion>

  <Accordion title="get-customer: Get a customer by ID">
    <ParamField body="id" type="number" required>
      Customer ID.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "id": 11
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "data": [
        {
          "id": 11,
          "email": "jane.smith@example.com",
          "first_name": "Jane",
          "last_name": "Smith",
          "company": "Acme Corp",
          "phone": "555-123-4567",
          "notes": "Preferred customer",
          "tax_exempt_category": "",
          "customer_group_id": 0,
          "date_created": "2018-09-24T12:01:18Z",
          "date_modified": "2018-09-24T12:01:18Z",
          "registration_ip_address": "12.0.0.1",
          "accepts_product_review_abandoned_cart_emails": true,
          "channel_ids": [1]
        }
      ],
      "meta": {}
    }
    ```
  </Accordion>

  <Accordion title="create-customer: Create one or more customers">
    <ParamField body="customers" type="object[]" required>
      Array of customer objects. Each object can include fields such as `email`, `first_name`, `last_name`, `company`, `phone`, etc.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "customers": [
        {
          "first_name": "Jane",
          "last_name": "Smith",
          "email": "jane.smith@example.com",
          "company": "Acme Corp",
          "phone": "555-123-4567"
        }
      ]
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "data": [
        {
          "id": 11,
          "email": "jane.smith@example.com",
          "first_name": "Jane",
          "last_name": "Smith",
          "company": "Acme Corp",
          "phone": "555-123-4567",
          "notes": "",
          "tax_exempt_category": "",
          "customer_group_id": 0,
          "date_created": "2018-09-24T12:01:18Z",
          "date_modified": "2018-09-24T12:01:18Z",
          "registration_ip_address": "",
          "accepts_product_review_abandoned_cart_emails": true,
          "channel_ids": [1]
        }
      ],
      "meta": {}
    }
    ```
  </Accordion>
</AccordionGroup>

### Categories

<AccordionGroup>
  <Accordion title="list-categories: List product categories">
    <ParamField body="page" type="number" default="1">
      Page number for pagination.
    </ParamField>

    <ParamField body="limit" type="number" default="50">
      Number of results per page (max 250).
    </ParamField>

    <ParamField body="parent_id" type="number">
      Filter by parent category ID. Use `0` for top-level categories.
    </ParamField>

    <ParamField body="name" type="string">
      Filter by category name.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "parent_id": 0,
      "limit": 3
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "data": [
        {
          "id": 19,
          "parent_id": 0,
          "name": "Garden",
          "description": "<p>This is the garden description</p>",
          "views": 0,
          "sort_order": 2,
          "page_title": "Garden",
          "meta_keywords": ["garden", "outdoor"],
          "meta_description": "Shop garden supplies",
          "layout_file": "category.html",
          "image_url": "",
          "is_visible": true,
          "search_keywords": "garden outdoor",
          "default_product_sort": "use_store_settings",
          "custom_url": {
            "url": "/garden/",
            "is_customized": false
          }
        },
        {
          "id": 21,
          "parent_id": 0,
          "name": "Kitchen",
          "description": "",
          "views": 0,
          "sort_order": 3,
          "page_title": "",
          "meta_keywords": [],
          "meta_description": "",
          "layout_file": "category.html",
          "image_url": "",
          "is_visible": true,
          "search_keywords": "",
          "default_product_sort": "use_store_settings",
          "custom_url": {
            "url": "/kitchen/",
            "is_customized": false
          }
        }
      ],
      "meta": {
        "pagination": {
          "total": 12,
          "count": 2,
          "per_page": 3,
          "current_page": 1,
          "total_pages": 4
        }
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### Advanced

<AccordionGroup>
  <Accordion title="raw-api-request: Make an arbitrary API request">
    Send a request to any BigCommerce API endpoint.

    <ParamField body="method" type="string" required>
      HTTP method: `GET`, `POST`, `PUT`, or `DELETE`.
    </ParamField>

    <ParamField body="path" type="string" required>
      API path (e.g., `/v3/catalog/products` or `/v2/orders`).
    </ParamField>

    <ParamField body="body" type="object">
      Request body for `POST` and `PUT` requests.
    </ParamField>

    **Example request:**

    ```json theme={null}
    {
      "method": "GET",
      "path": "/v3/catalog/summary"
    }
    ```

    **Example response:**

    ```json theme={null}
    {
      "data": {
        "inventory_count": 305,
        "variant_count": 120,
        "inventory_value": 14985.75,
        "highest_variant_price": 249.99,
        "average_variant_price": 42.35,
        "lowest_variant_price": 1.99,
        "oldest_variant_date": "2018-01-15T12:00:00+00:00",
        "newest_variant_date": "2019-06-20T14:30:00+00:00",
        "primary_category_id": 23,
        "primary_category_name": "Kitchen"
      },
      "meta": {}
    }
    ```
  </Accordion>
</AccordionGroup>
