Skip to content

Add-Product Search (Create-Order)

The slim product search that powers the admin Create Order screen's "Add Product" modal — the GraphQL counterpart of GET /api/admin/products. Cursor pagination via first / after.

This is not the product listing

For the full admin product listing — every column plus all the Channel / Name / SKU / Attribute Family / Price / ID / Status / Type filters — use List Products (the adminCatalogProducts query). This page documents only the Create-Order search tool.

Operation

OperationType
adminProducts(first: Int, after: String, query: String, sku: String, type: String, status: Int, categoryId: Int, channel: String, locale: String)Query (cursor)

Arguments

ArgTypeDescription
firstIntPage size (default 30, max 50)
afterStringCursor from a previous pageInfo.endCursor
queryStringFree-text — matches SKU OR product name (partial)
skuStringExact SKU
typeStringsimple, configurable, bundle, downloadable, grouped, virtual, booking
statusInt0 (disabled) or 1 (enabled) — omit to get both
categoryIdIntFilter by category ID
channelStringChannel code for value resolution
localeStringLocale code for value resolution

How it differs from the storefront products query

  • No automatic status = 1 filter — admin sees all statuses.
  • Booking products are listed (but cannot be added to an admin draft cart — see the Add Item to Cart errors list).
  • Returns a slim row (9 fields) rather than the full storefront product schema.

Booking Products

Booking products are returned by this query for admin visibility. Attempting to add one to an admin draft cart via addItemAdminCart returns an error message "Booking products cannot be added to an admin draft order." — this matches the Bagisto monolith Create-Order UI which has no booking partial.

Released under the MIT License.