# Supported Admin GraphQL surface

The declared Shopify-shaped Admin surface and its loud boundaries.

## Scope and proof boundaries

This is a practice surface, not a claim of full Shopify parity. Help names three states: served v1 provider operations, internal modeled evidence, and deferred v2. Supported fields and shapes are bounded; unsupported calls return GraphQL errors or `userErrors` rather than fake success.

## Supported query roots

| Roots | Use |
| --- | --- |
| shop , node , nodes | Shop identity, global-id readback, and object hydration |
| products , product , productByHandle , productVariants , inventoryItems | Catalog, variants, pricing, inventory, cost, status, tags, SEO, and product-owned metafields |
| orders , order , draftOrders , draftOrder | Canonical committed orders, priced line items, financial and fulfillment state, risk, refunds, and bounded drafts |
| customers , customer , segments | Read-only lifecycle, repeat-buyer, and winback context; no persistent customer membership operation |
| locations , fulfillmentOrders , deliveryProfiles | Inventory location, fulfillment, and delivery evidence |

## Supported mutation families

| Family | Use | Modeled consequence |
| --- | --- | --- |
| productVariantsBulkUpdate | Pricing | Price and compare-at values can affect modeled demand and margin |
| inventoryAdjustQuantities | Inventory | Truthful available-inventory adjustment at a single location; no cross-location transfer operation |
| refundCreate | Order refunds | Line-item cash refund only against a canonical committed Order and its priced committed lines. NO_RESTOCK and RETURN are the restock choices. RefundInput.transactions , RefundInput.refundMethods , and Customer.storeCreditAccounts are absent. |
| fulfillmentCreateV2 , deliveryProfileUpdate | Fulfillment | Fulfillment progress and shipping-threshold effects |
| productBundleCreate , sellingPlanGroupCreate | Bundles and plans | Native creation and official readback; attach, churn, and money remain modeled scenario effects |
| draftOrderCreate , draftOrderComplete | Order staging | Only draftOrderComplete establishes a canonical committed order. The shopper surface serves UCP general access and places none: a checkout there ends at a buyer handoff |
| productUpdate , metafieldsSet | Catalog | A preauthored DRAFT product activates through productUpdate(status: ACTIVE) ; product-owned metadata remains supported |

## Meguro-native debugging extensions

`productBundleCreate` returns an asynchronous product operation; read it through `productOperation(id)`. `sellingPlanGroupCreate` returns a selling-plan group; read it through `sellingPlanGroup`, `sellingPlanGroups`, and nested `SellingPlanGroup.sellingPlans`. The former fake bundle/subscription roots are absent. Remaining Meguro-native lifecycle extensions are not ordinary Shopify Admin roots or proof of Shopify support. Attach, churn, and money are modeled scenario outcomes, not Shopify response fields.

## Internal modeled evidence

Return/restocking, loyalty-credit, cohort, and cross-location transfer economics are internal modeled evidence. They are not a request shape, provider mutation, provider readback, or provider identity.

## Deferred v2

The provider Return lifecycle, collection curation, gift cards, product creation, persistent customer membership, aggregate-order economics, and store-credit refunds are deferred v2. Current v1 has no provider operation or substitute for them.

## Known boundary

Absolute inventory-set writes, broad order edits, pending-payment draft completion, generic payment lifecycle, bulk operations, broad `productSet`, non-product metafields, carrier APIs, webhook-subscription mutations, and native checkout completion are outside the current declared practice contract.
