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

# product_variants_bulk_create

> Add variants to a product. The SKU goes inside `inventory_item`, not on the variant. When the product still carries its default placeholder variant, pass the strategy that removes it.

<div className="tool-route"><span className="tool-row-method" data-method="POST">POST</span><code>{"/admin/api/2026-07/graphql.json"}</code></div>

```python shopify_product_variants_bulk_create.py theme={null}
from charter.packs import shopify

result = await shopify.product_variants_bulk_create.ainvoke({"variables": ...})
```

<Note>
  Posts a GraphQL document to `POST /admin/api/2026-07/graphql.json`, as every tool in this pack does.
</Note>

## Body

<div className="reference-table">
  | Field                                                             | Type                                                                                                    | Description          |
  | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------------------- |
  | `variables` <span className="required" title="required">\*</span> | [ProductVariantsBulkCreateVariables](/charter/charter/packs/shopify/objects#productvariantsbulkcreatevariables) | The variants to add. |
</div>
