SKU Manager API
Public API for SKU Manager. Use API keys for authentication.
Include your API key in the Authorization header: Authorization: Bearer skm_live_your_key_here
Rate Limits
API keys are rate-limited per minute. The default limit is 100 requests/minute. When exceeded, the API returns a RATE_LIMITED error with a retryAfter value in seconds.
Scopes
API keys are scoped to specific operations. Available scopes: products:read, products:create, products:update, orders:read, orders:create, orders:update, inventory:read, inventory:update, warehouse:read, suppliers:read, purchase-orders:read
Terms of Service
API Endpoints
https://api.skumanager.com/graphql
Queries
_pothos
Description
Pothos schema system check - returns version info
Response
Returns a String
Example
Query
query _pothos {
_pothos
}
Response
{"data": {"_pothos": "xyz789"}}
availableStoreLocations
Description
Get available store locations from connected platforms
Response
Returns [StoreLocation!]
Arguments
| Name | Description |
|---|---|
organizationId - ID!
|
Example
Query
query availableStoreLocations($organizationId: ID!) {
availableStoreLocations(organizationId: $organizationId) {
address
city
country
id
isActive
metadata
name
postalCode
state
storeConnectionId
storeType
}
}
Variables
{"organizationId": 4}
Response
{
"data": {
"availableStoreLocations": [
{
"address": "abc123",
"city": "abc123",
"country": "abc123",
"id": "xyz789",
"isActive": false,
"metadata": {},
"name": "xyz789",
"postalCode": "abc123",
"state": "abc123",
"storeConnectionId": "4",
"storeType": "AMAZON"
}
]
}
}
customer
Description
Get a customer by ID
Example
Query
query customer($id: ID!) {
customer(id: $id) {
Orders {
...OrderFragment
}
activities {
...CustomerActivityFragment
}
addresses {
...CustomerAddressFragment
}
averageOrderValue
comments {
...CustomerCommentFragment
}
company
contactPersonEmail
contactPersonName
contactPersonPhone
contactPersonTitle
createdAt
customerSinceDays
customerType
displayName
email
emailMarketingConsentUpdatedAt
emailMarketingOptInLevel
emailMarketingState
firstName
firstOrderDate
hasCompleteDefaultAddress
id
isActive
lastName
lastOrderDate
lastSyncedAt
locale
metadata
name
notes
orderCount
orderStats {
...CustomerOrderStatsFragment
}
organization {
...OrganizationFragment
}
phone
recentOrders {
...OrderFragment
}
shopifyCustomerId
shopifyTags
smsMarketingConsentUpdatedAt
smsMarketingOptInLevel
smsMarketingState
state
syncError
syncStatus
tags
taxExempt
totalSpent
totalSpentCurrency
updatedAt
verifiedEmail
}
}
Variables
{"id": "4"}
Response
{
"data": {
"customer": {
"Orders": [Order],
"activities": [CustomerActivity],
"addresses": [CustomerAddress],
"averageOrderValue": "abc123",
"comments": [CustomerComment],
"company": "xyz789",
"contactPersonEmail": "xyz789",
"contactPersonName": "abc123",
"contactPersonPhone": "abc123",
"contactPersonTitle": "abc123",
"createdAt": "abc123",
"customerSinceDays": 123,
"customerType": "xyz789",
"displayName": "xyz789",
"email": "xyz789",
"emailMarketingConsentUpdatedAt": "xyz789",
"emailMarketingOptInLevel": "xyz789",
"emailMarketingState": "xyz789",
"firstName": "abc123",
"firstOrderDate": "abc123",
"hasCompleteDefaultAddress": true,
"id": 4,
"isActive": true,
"lastName": "xyz789",
"lastOrderDate": "abc123",
"lastSyncedAt": "abc123",
"locale": "xyz789",
"metadata": {},
"name": "xyz789",
"notes": "abc123",
"orderCount": 987,
"orderStats": CustomerOrderStats,
"organization": Organization,
"phone": "xyz789",
"recentOrders": [Order],
"shopifyCustomerId": "abc123",
"shopifyTags": ["abc123"],
"smsMarketingConsentUpdatedAt": "xyz789",
"smsMarketingOptInLevel": "abc123",
"smsMarketingState": "abc123",
"state": "DECLINED",
"syncError": "abc123",
"syncStatus": "xyz789",
"tags": ["abc123"],
"taxExempt": false,
"totalSpent": "abc123",
"totalSpentCurrency": "xyz789",
"updatedAt": "abc123",
"verifiedEmail": true
}
}
}
customers
Description
List all customers for the organization
Response
Returns [Customer!]
Arguments
| Name | Description |
|---|---|
customerType - String
|
|
isActive - Boolean
|
|
limit - Int
|
Records per page (max 100, default 25). Default = 25 |
offset - Int
|
Number of records to skip for pagination. Default = 0 |
organizationId - ID!
|
|
search - String
|
|
sortBy - String
|
Sort field: name, email, type, status, createdAt |
sortDirection - String
|
Sort direction: asc or desc (default: desc) |
Example
Query
query customers(
$customerType: String,
$isActive: Boolean,
$limit: Int,
$offset: Int,
$organizationId: ID!,
$search: String,
$sortBy: String,
$sortDirection: String
) {
customers(
customerType: $customerType,
isActive: $isActive,
limit: $limit,
offset: $offset,
organizationId: $organizationId,
search: $search,
sortBy: $sortBy,
sortDirection: $sortDirection
) {
Orders {
...OrderFragment
}
activities {
...CustomerActivityFragment
}
addresses {
...CustomerAddressFragment
}
averageOrderValue
comments {
...CustomerCommentFragment
}
company
contactPersonEmail
contactPersonName
contactPersonPhone
contactPersonTitle
createdAt
customerSinceDays
customerType
displayName
email
emailMarketingConsentUpdatedAt
emailMarketingOptInLevel
emailMarketingState
firstName
firstOrderDate
hasCompleteDefaultAddress
id
isActive
lastName
lastOrderDate
lastSyncedAt
locale
metadata
name
notes
orderCount
orderStats {
...CustomerOrderStatsFragment
}
organization {
...OrganizationFragment
}
phone
recentOrders {
...OrderFragment
}
shopifyCustomerId
shopifyTags
smsMarketingConsentUpdatedAt
smsMarketingOptInLevel
smsMarketingState
state
syncError
syncStatus
tags
taxExempt
totalSpent
totalSpentCurrency
updatedAt
verifiedEmail
}
}
Variables
{
"customerType": "abc123",
"isActive": false,
"limit": 25,
"offset": 0,
"organizationId": "4",
"search": "xyz789",
"sortBy": "xyz789",
"sortDirection": "abc123"
}
Response
{
"data": {
"customers": [
{
"Orders": [Order],
"activities": [CustomerActivity],
"addresses": [CustomerAddress],
"averageOrderValue": "xyz789",
"comments": [CustomerComment],
"company": "abc123",
"contactPersonEmail": "xyz789",
"contactPersonName": "xyz789",
"contactPersonPhone": "xyz789",
"contactPersonTitle": "abc123",
"createdAt": "abc123",
"customerSinceDays": 123,
"customerType": "xyz789",
"displayName": "xyz789",
"email": "abc123",
"emailMarketingConsentUpdatedAt": "abc123",
"emailMarketingOptInLevel": "xyz789",
"emailMarketingState": "abc123",
"firstName": "xyz789",
"firstOrderDate": "xyz789",
"hasCompleteDefaultAddress": false,
"id": 4,
"isActive": false,
"lastName": "abc123",
"lastOrderDate": "abc123",
"lastSyncedAt": "abc123",
"locale": "xyz789",
"metadata": {},
"name": "xyz789",
"notes": "abc123",
"orderCount": 987,
"orderStats": CustomerOrderStats,
"organization": Organization,
"phone": "abc123",
"recentOrders": [Order],
"shopifyCustomerId": "abc123",
"shopifyTags": ["xyz789"],
"smsMarketingConsentUpdatedAt": "abc123",
"smsMarketingOptInLevel": "abc123",
"smsMarketingState": "xyz789",
"state": "DECLINED",
"syncError": "xyz789",
"syncStatus": "abc123",
"tags": ["xyz789"],
"taxExempt": true,
"totalSpent": "abc123",
"totalSpentCurrency": "xyz789",
"updatedAt": "abc123",
"verifiedEmail": false
}
]
}
}
getWebAuthnConfig
Description
Get WebAuthn/Passkey configuration (public - no auth required). Used by frontend for consistent RP ID across all passkey registration flows.
Response
Returns a RelyingParty
Example
Query
query getWebAuthnConfig {
getWebAuthnConfig {
id
name
}
}
Response
{
"data": {
"getWebAuthnConfig": {
"id": "xyz789",
"name": "abc123"
}
}
}
inventoryReceipts
Description
Get inventory receipts with filters
Response
Returns [InventoryReceipt!]
Example
Query
query inventoryReceipts(
$endDate: String,
$organizationId: ID!,
$purchaseOrderId: ID,
$startDate: String,
$status: String,
$warehouseLocationId: ID
) {
inventoryReceipts(
endDate: $endDate,
organizationId: $organizationId,
purchaseOrderId: $purchaseOrderId,
startDate: $startDate,
status: $status,
warehouseLocationId: $warehouseLocationId
) {
InventoryReceiptItems {
...InventoryReceiptItemFragment
}
Organization {
...OrganizationFragment
}
PurchaseOrder {
...PurchaseOrderFragment
}
ReceivedBy {
...UserFragment
}
WarehouseLocation {
...WarehouseLocationFragment
}
createdAt
discrepancyNotes
hasDiscrepancies
id
itemCount
notes
organizationId
purchaseOrderId
receiptNumber
receivedByUserId
receivedDate
status
totalQuantityExpected
totalQuantityReceived
updatedAt
varianceQuantity
warehouseLocationId
}
}
Variables
{
"endDate": "xyz789",
"organizationId": "4",
"purchaseOrderId": "4",
"startDate": "abc123",
"status": "abc123",
"warehouseLocationId": 4
}
Response
{
"data": {
"inventoryReceipts": [
{
"InventoryReceiptItems": [InventoryReceiptItem],
"Organization": Organization,
"PurchaseOrder": PurchaseOrder,
"ReceivedBy": User,
"WarehouseLocation": WarehouseLocation,
"createdAt": "abc123",
"discrepancyNotes": "xyz789",
"hasDiscrepancies": false,
"id": 4,
"itemCount": 987,
"notes": "abc123",
"organizationId": 4,
"purchaseOrderId": "abc123",
"receiptNumber": "xyz789",
"receivedByUserId": "4",
"receivedDate": "abc123",
"status": "CANCELLED",
"totalQuantityExpected": 987,
"totalQuantityReceived": 123,
"updatedAt": "xyz789",
"varianceQuantity": 123,
"warehouseLocationId": 4
}
]
}
}
order
Example
Query
query order($id: ID!) {
order(id: $id) {
Customer {
...CustomerFragment
}
FulfillmentPackages {
...FulfillmentPackageFragment
}
OrderComments {
...OrderCommentFragment
}
OrderLineItems {
...OrderLineItemFragment
}
Organization {
...OrganizationFragment
}
WarehouseAllocation {
...OrderWarehouseAllocationFragment
}
billingAddress
billingAddress2
billingCity
billingCompany
billingCountry
billingCountryCode
billingFirstName
billingLastName
billingPostalCode
billingState
cancelReason
cancelledAt
carrier
closedAt
confirmed
createdAt
currency
customerIp
customerNotes
deliveredAt
discountAmount
discountCodes
email
exchangeRate
fulfilledAt
fulfillmentStatus
id
internalNotes
internalOrderNumber
lastSyncedAt
notifyCustomerOnRefund
orderDate
orderNumber
organizationId
paidAt
paymentGateway
paymentMethod
paymentStatus
phone
processedAt
refundedAmount
refunds
restockOnCancel
riskAssessmentDetails
riskLevel
riskRecommendation
shippingAddress
shippingAddress2
shippingCity
shippingCompany
shippingCost
shippingCountry
shippingCountryCode
shippingFirstName
shippingLastName
shippingLines
shippingMethod
shippingPostalCode
shippingState
shopifyLastCancelError
shopifyLastCancelSyncAt
shopifyOrderId
shopifyOrderNumber
source
status
storeId
subtotal
syncError
syncStatus
tags
taxAmount
timeline {
...OrderTimelineEventFragment
}
totalAmount
trackingNumber
trackingUrl
transactions
updatedAt
}
}
Variables
{"id": 4}
Response
{
"data": {
"order": {
"Customer": Customer,
"FulfillmentPackages": [FulfillmentPackage],
"OrderComments": [OrderComment],
"OrderLineItems": [OrderLineItem],
"Organization": Organization,
"WarehouseAllocation": OrderWarehouseAllocation,
"billingAddress": "xyz789",
"billingAddress2": "xyz789",
"billingCity": "xyz789",
"billingCompany": "xyz789",
"billingCountry": "xyz789",
"billingCountryCode": "abc123",
"billingFirstName": "xyz789",
"billingLastName": "xyz789",
"billingPostalCode": "abc123",
"billingState": "xyz789",
"cancelReason": "xyz789",
"cancelledAt": "xyz789",
"carrier": "xyz789",
"closedAt": "abc123",
"confirmed": true,
"createdAt": "abc123",
"currency": "xyz789",
"customerIp": "abc123",
"customerNotes": "abc123",
"deliveredAt": "abc123",
"discountAmount": "xyz789",
"discountCodes": {},
"email": "abc123",
"exchangeRate": "xyz789",
"fulfilledAt": "xyz789",
"fulfillmentStatus": "CANCELLED",
"id": 4,
"internalNotes": "abc123",
"internalOrderNumber": 987,
"lastSyncedAt": "xyz789",
"notifyCustomerOnRefund": false,
"orderDate": "abc123",
"orderNumber": "abc123",
"organizationId": "4",
"paidAt": "xyz789",
"paymentGateway": "abc123",
"paymentMethod": "abc123",
"paymentStatus": "AUTHORIZED",
"phone": "xyz789",
"processedAt": "abc123",
"refundedAmount": "xyz789",
"refunds": {},
"restockOnCancel": false,
"riskAssessmentDetails": {},
"riskLevel": "xyz789",
"riskRecommendation": "abc123",
"shippingAddress": "abc123",
"shippingAddress2": "xyz789",
"shippingCity": "abc123",
"shippingCompany": "abc123",
"shippingCost": "xyz789",
"shippingCountry": "xyz789",
"shippingCountryCode": "xyz789",
"shippingFirstName": "abc123",
"shippingLastName": "abc123",
"shippingLines": {},
"shippingMethod": "abc123",
"shippingPostalCode": "abc123",
"shippingState": "xyz789",
"shopifyLastCancelError": "xyz789",
"shopifyLastCancelSyncAt": "abc123",
"shopifyOrderId": "abc123",
"shopifyOrderNumber": "xyz789",
"source": "abc123",
"status": "CANCELLED",
"storeId": "xyz789",
"subtotal": "xyz789",
"syncError": "abc123",
"syncStatus": "abc123",
"tags": ["xyz789"],
"taxAmount": "abc123",
"timeline": [OrderTimelineEvent],
"totalAmount": "xyz789",
"trackingNumber": "abc123",
"trackingUrl": "xyz789",
"transactions": {},
"updatedAt": "abc123"
}
}
}
orderCount
Description
Get total count of orders for the organization, with optional filters for pagination
Response
Returns an Int
Arguments
| Name | Description |
|---|---|
customerId - ID
|
Filter by customer |
fulfillmentStatus - String
|
Filter by fulfillment status |
organizationId - ID!
|
|
paymentStatus - String
|
Filter by payment status |
search - String
|
Search by order number or customer name |
status - String
|
Filter by order status |
statusFilter - String
|
Predefined filter: ready, unfulfilled, pickable, partialPicked, picked, fulfilled, hold, cancelled |
warehouseLocationId - ID
|
Filter by allocated warehouse |
Example
Query
query orderCount(
$customerId: ID,
$fulfillmentStatus: String,
$organizationId: ID!,
$paymentStatus: String,
$search: String,
$status: String,
$statusFilter: String,
$warehouseLocationId: ID
) {
orderCount(
customerId: $customerId,
fulfillmentStatus: $fulfillmentStatus,
organizationId: $organizationId,
paymentStatus: $paymentStatus,
search: $search,
status: $status,
statusFilter: $statusFilter,
warehouseLocationId: $warehouseLocationId
)
}
Variables
{
"customerId": 4,
"fulfillmentStatus": "abc123",
"organizationId": "4",
"paymentStatus": "abc123",
"search": "xyz789",
"status": "xyz789",
"statusFilter": "abc123",
"warehouseLocationId": "4"
}
Response
{"data": {"orderCount": 123}}
orderStatusCounts
Description
Get counts for all order status categories in a single query
Response
Returns an OrderStatusCounts
Example
Query
query orderStatusCounts(
$organizationId: ID!,
$warehouseLocationId: ID
) {
orderStatusCounts(
organizationId: $organizationId,
warehouseLocationId: $warehouseLocationId
) {
all
cancelled
fulfilled
hold
partialPicked
pickable
picked
ready
unfulfilled
unpaid
}
}
Variables
{
"organizationId": "4",
"warehouseLocationId": 4
}
Response
{
"data": {
"orderStatusCounts": {
"all": 123,
"cancelled": 123,
"fulfilled": 987,
"hold": 987,
"partialPicked": 123,
"pickable": 123,
"picked": 987,
"ready": 987,
"unfulfilled": 123,
"unpaid": 987
}
}
}
orders
Response
Returns [Order!]
Arguments
| Name | Description |
|---|---|
customerId - ID
|
|
fulfillmentStatus - String
|
Filter by fulfillment status |
limit - Int
|
Records per page (max 100, default 25). Default = 25 |
offset - Int
|
Number of records to skip for pagination. Default = 0 |
organizationId - ID!
|
|
paymentStatus - String
|
Filter by payment status |
search - String
|
Search by order number or customer name |
sortBy - String
|
Sort field: order, external, date, customer, total, fulfillment |
sortDirection - String
|
Sort direction: asc or desc (default: desc) |
status - String
|
|
statusFilter - String
|
Predefined filter: ready, unfulfilled, pickable, partialPicked, picked, fulfilled, hold, cancelled |
warehouseLocationId - ID
|
Filter by allocated warehouse (for warehouse context filtering) |
Example
Query
query orders(
$customerId: ID,
$fulfillmentStatus: String,
$limit: Int,
$offset: Int,
$organizationId: ID!,
$paymentStatus: String,
$search: String,
$sortBy: String,
$sortDirection: String,
$status: String,
$statusFilter: String,
$warehouseLocationId: ID
) {
orders(
customerId: $customerId,
fulfillmentStatus: $fulfillmentStatus,
limit: $limit,
offset: $offset,
organizationId: $organizationId,
paymentStatus: $paymentStatus,
search: $search,
sortBy: $sortBy,
sortDirection: $sortDirection,
status: $status,
statusFilter: $statusFilter,
warehouseLocationId: $warehouseLocationId
) {
Customer {
...CustomerFragment
}
FulfillmentPackages {
...FulfillmentPackageFragment
}
OrderComments {
...OrderCommentFragment
}
OrderLineItems {
...OrderLineItemFragment
}
Organization {
...OrganizationFragment
}
WarehouseAllocation {
...OrderWarehouseAllocationFragment
}
billingAddress
billingAddress2
billingCity
billingCompany
billingCountry
billingCountryCode
billingFirstName
billingLastName
billingPostalCode
billingState
cancelReason
cancelledAt
carrier
closedAt
confirmed
createdAt
currency
customerIp
customerNotes
deliveredAt
discountAmount
discountCodes
email
exchangeRate
fulfilledAt
fulfillmentStatus
id
internalNotes
internalOrderNumber
lastSyncedAt
notifyCustomerOnRefund
orderDate
orderNumber
organizationId
paidAt
paymentGateway
paymentMethod
paymentStatus
phone
processedAt
refundedAmount
refunds
restockOnCancel
riskAssessmentDetails
riskLevel
riskRecommendation
shippingAddress
shippingAddress2
shippingCity
shippingCompany
shippingCost
shippingCountry
shippingCountryCode
shippingFirstName
shippingLastName
shippingLines
shippingMethod
shippingPostalCode
shippingState
shopifyLastCancelError
shopifyLastCancelSyncAt
shopifyOrderId
shopifyOrderNumber
source
status
storeId
subtotal
syncError
syncStatus
tags
taxAmount
timeline {
...OrderTimelineEventFragment
}
totalAmount
trackingNumber
trackingUrl
transactions
updatedAt
}
}
Variables
{
"customerId": 4,
"fulfillmentStatus": "abc123",
"limit": 25,
"offset": 0,
"organizationId": 4,
"paymentStatus": "abc123",
"search": "xyz789",
"sortBy": "abc123",
"sortDirection": "abc123",
"status": "xyz789",
"statusFilter": "xyz789",
"warehouseLocationId": "4"
}
Response
{
"data": {
"orders": [
{
"Customer": Customer,
"FulfillmentPackages": [FulfillmentPackage],
"OrderComments": [OrderComment],
"OrderLineItems": [OrderLineItem],
"Organization": Organization,
"WarehouseAllocation": OrderWarehouseAllocation,
"billingAddress": "xyz789",
"billingAddress2": "xyz789",
"billingCity": "xyz789",
"billingCompany": "abc123",
"billingCountry": "xyz789",
"billingCountryCode": "xyz789",
"billingFirstName": "xyz789",
"billingLastName": "abc123",
"billingPostalCode": "abc123",
"billingState": "xyz789",
"cancelReason": "xyz789",
"cancelledAt": "xyz789",
"carrier": "xyz789",
"closedAt": "xyz789",
"confirmed": true,
"createdAt": "abc123",
"currency": "abc123",
"customerIp": "xyz789",
"customerNotes": "abc123",
"deliveredAt": "xyz789",
"discountAmount": "abc123",
"discountCodes": {},
"email": "abc123",
"exchangeRate": "xyz789",
"fulfilledAt": "abc123",
"fulfillmentStatus": "CANCELLED",
"id": 4,
"internalNotes": "xyz789",
"internalOrderNumber": 987,
"lastSyncedAt": "xyz789",
"notifyCustomerOnRefund": false,
"orderDate": "xyz789",
"orderNumber": "abc123",
"organizationId": 4,
"paidAt": "xyz789",
"paymentGateway": "abc123",
"paymentMethod": "abc123",
"paymentStatus": "AUTHORIZED",
"phone": "xyz789",
"processedAt": "xyz789",
"refundedAmount": "xyz789",
"refunds": {},
"restockOnCancel": false,
"riskAssessmentDetails": {},
"riskLevel": "abc123",
"riskRecommendation": "xyz789",
"shippingAddress": "abc123",
"shippingAddress2": "xyz789",
"shippingCity": "abc123",
"shippingCompany": "xyz789",
"shippingCost": "abc123",
"shippingCountry": "abc123",
"shippingCountryCode": "abc123",
"shippingFirstName": "xyz789",
"shippingLastName": "abc123",
"shippingLines": {},
"shippingMethod": "xyz789",
"shippingPostalCode": "abc123",
"shippingState": "xyz789",
"shopifyLastCancelError": "xyz789",
"shopifyLastCancelSyncAt": "abc123",
"shopifyOrderId": "xyz789",
"shopifyOrderNumber": "abc123",
"source": "xyz789",
"status": "CANCELLED",
"storeId": "abc123",
"subtotal": "abc123",
"syncError": "abc123",
"syncStatus": "abc123",
"tags": ["xyz789"],
"taxAmount": "xyz789",
"timeline": [OrderTimelineEvent],
"totalAmount": "abc123",
"trackingNumber": "abc123",
"trackingUrl": "xyz789",
"transactions": {},
"updatedAt": "xyz789"
}
]
}
}
product
Description
Get product by ID
Example
Query
query product($id: ID!) {
product(id: $id) {
Organization {
...OrganizationFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
ProductStoreConnection {
...ProductStoreConnectionFragment
}
SupplierProduct {
...SupplierProductFragment
}
allowBackorder
assemblyMode
availableQuantity
basePrice
brand
bundleComponentCount
bundleDiscountPercent
bundleItems {
...ProductBundleItemFragment
}
bundlePricing
bundledIn {
...ProductBundleItemFragment
}
category
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
defaultVariant {
...ProductVariantFragment
}
description
dimensionUnit
displayTitle
handle
hasOnlyDefaultVariant
height
hsCode
id
images {
...ProductImageFragment
}
isActive
isActiveSKU
isGiftCard
kitInventoryMode
length
lowStockThreshold
metaDescription
metaTitle
option1Name
option2Name
option3Name
optionDefinitions {
...ProductOptionDefinitionFragment
}
organizationId
primaryImage {
...ProductImageFragment
}
primaryImageId
productLocationInventories {
...ProductLocationInventoryFragment
}
productType
productVariants {
...ProductVariantFragment
}
provinceOfOrigin
publishedAt
purchasableItemId
quantity
requiresShipping
reservedQuantity
sku
skuType
slug
status
storeConnections {
...ProductStoreConnectionFragment
}
supplier {
...SupplierFragment
}
supplierId
tags
title
totalQuantity
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
type
updatedAt
warehouseLocation
weight
weightUnit
width
}
}
Variables
{"id": 4}
Response
{
"data": {
"product": {
"Organization": Organization,
"ProductLocationInventory": [
ProductLocationInventory
],
"ProductStoreConnection": [ProductStoreConnection],
"SupplierProduct": [SupplierProduct],
"allowBackorder": false,
"assemblyMode": "BOTH",
"availableQuantity": 123,
"basePrice": "xyz789",
"brand": "xyz789",
"bundleComponentCount": 987,
"bundleDiscountPercent": "xyz789",
"bundleItems": [ProductBundleItem],
"bundlePricing": "CALCULATED",
"bundledIn": [ProductBundleItem],
"category": "abc123",
"compareAtPrice": "xyz789",
"costPrice": "abc123",
"countryOfOrigin": "abc123",
"createdAt": "xyz789",
"customsDescription": "xyz789",
"defaultVariant": ProductVariant,
"description": "abc123",
"dimensionUnit": "CM",
"displayTitle": "xyz789",
"handle": "xyz789",
"hasOnlyDefaultVariant": false,
"height": "abc123",
"hsCode": "xyz789",
"id": "4",
"images": [ProductImage],
"isActive": true,
"isActiveSKU": false,
"isGiftCard": true,
"kitInventoryMode": "ACTIVE",
"length": "xyz789",
"lowStockThreshold": 123,
"metaDescription": "xyz789",
"metaTitle": "abc123",
"option1Name": "abc123",
"option2Name": "abc123",
"option3Name": "xyz789",
"optionDefinitions": [ProductOptionDefinition],
"organizationId": "4",
"primaryImage": ProductImage,
"primaryImageId": "xyz789",
"productLocationInventories": [
ProductLocationInventory
],
"productType": "abc123",
"productVariants": [ProductVariant],
"provinceOfOrigin": "xyz789",
"publishedAt": "xyz789",
"purchasableItemId": "abc123",
"quantity": 123,
"requiresShipping": true,
"reservedQuantity": 123,
"sku": "abc123",
"skuType": "BUNDLE",
"slug": "xyz789",
"status": "ACTIVE",
"storeConnections": [ProductStoreConnection],
"supplier": Supplier,
"supplierId": "xyz789",
"tags": ["abc123"],
"title": "xyz789",
"totalQuantity": 987,
"trackInventory": true,
"trackInventoryNeedsRestoration": true,
"trackInventoryUserSet": false,
"type": "BUNDLE",
"updatedAt": "abc123",
"warehouseLocation": "abc123",
"weight": "xyz789",
"weightUnit": "GRAMS",
"width": "abc123"
}
}
}
productImages
Description
Get images for a product
Response
Returns [ProductImage!]
Arguments
| Name | Description |
|---|---|
productId - ID!
|
Example
Query
query productImages($productId: ID!) {
productImages(productId: $productId) {
altText
createdAt
file {
...FileFragment
}
fileId
fileSize
height
id
imageUrl
product {
...ProductFragment
}
productId
shopifyImageId
shopifyImageLegacyId
shopifyPosition
sortOrder
sourceUrl
status
thumbnails
updatedAt
url
width
}
}
Variables
{"productId": "4"}
Response
{
"data": {
"productImages": [
{
"altText": "xyz789",
"createdAt": "xyz789",
"file": File,
"fileId": "xyz789",
"fileSize": 123,
"height": 123,
"id": "4",
"imageUrl": "abc123",
"product": Product,
"productId": "xyz789",
"shopifyImageId": "abc123",
"shopifyImageLegacyId": "xyz789",
"shopifyPosition": 987,
"sortOrder": 123,
"sourceUrl": "xyz789",
"status": "xyz789",
"thumbnails": {},
"updatedAt": "xyz789",
"url": "abc123",
"width": 987
}
]
}
}
productVariant
Description
Get a single product variant by ID
Response
Returns a ProductVariant
Arguments
| Name | Description |
|---|---|
id - ID!
|
Example
Query
query productVariant($id: ID!) {
productVariant(id: $id) {
Product {
...ProductFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
allowBackorder
availableQuantity
barcode
basePrice
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
dimensionUnit
height
hsCode
id
length
lowStockThreshold
option1Value
option2Value
option3Value
organizationId
position
primaryImage {
...ProductImageFragment
}
primaryImageId
productId
provinceOfOrigin
quantity
requiresShipping
reservedQuantity
sku
taxCode
taxable
title
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
updatedAt
weight
weightUnit
width
}
}
Variables
{"id": "4"}
Response
{
"data": {
"productVariant": {
"Product": Product,
"ProductLocationInventory": [
ProductLocationInventory
],
"allowBackorder": false,
"availableQuantity": 123,
"barcode": "abc123",
"basePrice": "abc123",
"compareAtPrice": "abc123",
"costPrice": "abc123",
"countryOfOrigin": "xyz789",
"createdAt": "xyz789",
"customsDescription": "xyz789",
"dimensionUnit": "CM",
"height": "xyz789",
"hsCode": "abc123",
"id": 4,
"length": "abc123",
"lowStockThreshold": 123,
"option1Value": "abc123",
"option2Value": "abc123",
"option3Value": "abc123",
"organizationId": "4",
"position": 987,
"primaryImage": ProductImage,
"primaryImageId": "abc123",
"productId": "4",
"provinceOfOrigin": "abc123",
"quantity": 123,
"requiresShipping": true,
"reservedQuantity": 987,
"sku": "abc123",
"taxCode": "xyz789",
"taxable": false,
"title": "abc123",
"trackInventory": true,
"trackInventoryNeedsRestoration": false,
"trackInventoryUserSet": true,
"updatedAt": "xyz789",
"weight": "abc123",
"weightUnit": "GRAMS",
"width": "abc123"
}
}
}
productVariantBySku
Description
Find a product variant by SKU within an organization
Response
Returns a ProductVariant
Example
Query
query productVariantBySku(
$organizationId: ID!,
$sku: String!
) {
productVariantBySku(
organizationId: $organizationId,
sku: $sku
) {
Product {
...ProductFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
allowBackorder
availableQuantity
barcode
basePrice
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
dimensionUnit
height
hsCode
id
length
lowStockThreshold
option1Value
option2Value
option3Value
organizationId
position
primaryImage {
...ProductImageFragment
}
primaryImageId
productId
provinceOfOrigin
quantity
requiresShipping
reservedQuantity
sku
taxCode
taxable
title
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
updatedAt
weight
weightUnit
width
}
}
Variables
{"organizationId": 4, "sku": "abc123"}
Response
{
"data": {
"productVariantBySku": {
"Product": Product,
"ProductLocationInventory": [
ProductLocationInventory
],
"allowBackorder": true,
"availableQuantity": 987,
"barcode": "abc123",
"basePrice": "xyz789",
"compareAtPrice": "xyz789",
"costPrice": "abc123",
"countryOfOrigin": "abc123",
"createdAt": "xyz789",
"customsDescription": "abc123",
"dimensionUnit": "CM",
"height": "xyz789",
"hsCode": "xyz789",
"id": "4",
"length": "abc123",
"lowStockThreshold": 987,
"option1Value": "abc123",
"option2Value": "xyz789",
"option3Value": "xyz789",
"organizationId": "4",
"position": 123,
"primaryImage": ProductImage,
"primaryImageId": "abc123",
"productId": 4,
"provinceOfOrigin": "abc123",
"quantity": 987,
"requiresShipping": false,
"reservedQuantity": 987,
"sku": "abc123",
"taxCode": "xyz789",
"taxable": true,
"title": "xyz789",
"trackInventory": false,
"trackInventoryNeedsRestoration": true,
"trackInventoryUserSet": true,
"updatedAt": "xyz789",
"weight": "xyz789",
"weightUnit": "GRAMS",
"width": "abc123"
}
}
}
productVariants
Description
Get all variants for a product
Response
Returns [ProductVariant!]
Example
Query
query productVariants(
$organizationId: ID!,
$productId: ID!
) {
productVariants(
organizationId: $organizationId,
productId: $productId
) {
Product {
...ProductFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
allowBackorder
availableQuantity
barcode
basePrice
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
dimensionUnit
height
hsCode
id
length
lowStockThreshold
option1Value
option2Value
option3Value
organizationId
position
primaryImage {
...ProductImageFragment
}
primaryImageId
productId
provinceOfOrigin
quantity
requiresShipping
reservedQuantity
sku
taxCode
taxable
title
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
updatedAt
weight
weightUnit
width
}
}
Variables
{
"organizationId": "4",
"productId": "4"
}
Response
{
"data": {
"productVariants": [
{
"Product": Product,
"ProductLocationInventory": [
ProductLocationInventory
],
"allowBackorder": true,
"availableQuantity": 123,
"barcode": "abc123",
"basePrice": "abc123",
"compareAtPrice": "xyz789",
"costPrice": "abc123",
"countryOfOrigin": "abc123",
"createdAt": "abc123",
"customsDescription": "abc123",
"dimensionUnit": "CM",
"height": "xyz789",
"hsCode": "xyz789",
"id": 4,
"length": "xyz789",
"lowStockThreshold": 987,
"option1Value": "xyz789",
"option2Value": "abc123",
"option3Value": "xyz789",
"organizationId": "4",
"position": 123,
"primaryImage": ProductImage,
"primaryImageId": "abc123",
"productId": 4,
"provinceOfOrigin": "xyz789",
"quantity": 987,
"requiresShipping": true,
"reservedQuantity": 123,
"sku": "abc123",
"taxCode": "abc123",
"taxable": true,
"title": "xyz789",
"trackInventory": false,
"trackInventoryNeedsRestoration": true,
"trackInventoryUserSet": true,
"updatedAt": "xyz789",
"weight": "xyz789",
"weightUnit": "GRAMS",
"width": "abc123"
}
]
}
}
products
Description
Get products with filtering
Response
Returns [Product!]
Arguments
| Name | Description |
|---|---|
filter - ProductFilterInput
|
Example
Query
query products($filter: ProductFilterInput) {
products(filter: $filter) {
Organization {
...OrganizationFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
ProductStoreConnection {
...ProductStoreConnectionFragment
}
SupplierProduct {
...SupplierProductFragment
}
allowBackorder
assemblyMode
availableQuantity
basePrice
brand
bundleComponentCount
bundleDiscountPercent
bundleItems {
...ProductBundleItemFragment
}
bundlePricing
bundledIn {
...ProductBundleItemFragment
}
category
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
defaultVariant {
...ProductVariantFragment
}
description
dimensionUnit
displayTitle
handle
hasOnlyDefaultVariant
height
hsCode
id
images {
...ProductImageFragment
}
isActive
isActiveSKU
isGiftCard
kitInventoryMode
length
lowStockThreshold
metaDescription
metaTitle
option1Name
option2Name
option3Name
optionDefinitions {
...ProductOptionDefinitionFragment
}
organizationId
primaryImage {
...ProductImageFragment
}
primaryImageId
productLocationInventories {
...ProductLocationInventoryFragment
}
productType
productVariants {
...ProductVariantFragment
}
provinceOfOrigin
publishedAt
purchasableItemId
quantity
requiresShipping
reservedQuantity
sku
skuType
slug
status
storeConnections {
...ProductStoreConnectionFragment
}
supplier {
...SupplierFragment
}
supplierId
tags
title
totalQuantity
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
type
updatedAt
warehouseLocation
weight
weightUnit
width
}
}
Variables
{"filter": ProductFilterInput}
Response
{
"data": {
"products": [
{
"Organization": Organization,
"ProductLocationInventory": [
ProductLocationInventory
],
"ProductStoreConnection": [
ProductStoreConnection
],
"SupplierProduct": [SupplierProduct],
"allowBackorder": true,
"assemblyMode": "BOTH",
"availableQuantity": 987,
"basePrice": "abc123",
"brand": "xyz789",
"bundleComponentCount": 987,
"bundleDiscountPercent": "abc123",
"bundleItems": [ProductBundleItem],
"bundlePricing": "CALCULATED",
"bundledIn": [ProductBundleItem],
"category": "xyz789",
"compareAtPrice": "xyz789",
"costPrice": "xyz789",
"countryOfOrigin": "abc123",
"createdAt": "xyz789",
"customsDescription": "xyz789",
"defaultVariant": ProductVariant,
"description": "xyz789",
"dimensionUnit": "CM",
"displayTitle": "xyz789",
"handle": "xyz789",
"hasOnlyDefaultVariant": false,
"height": "abc123",
"hsCode": "xyz789",
"id": 4,
"images": [ProductImage],
"isActive": true,
"isActiveSKU": false,
"isGiftCard": true,
"kitInventoryMode": "ACTIVE",
"length": "abc123",
"lowStockThreshold": 987,
"metaDescription": "xyz789",
"metaTitle": "abc123",
"option1Name": "abc123",
"option2Name": "abc123",
"option3Name": "abc123",
"optionDefinitions": [ProductOptionDefinition],
"organizationId": "4",
"primaryImage": ProductImage,
"primaryImageId": "xyz789",
"productLocationInventories": [
ProductLocationInventory
],
"productType": "abc123",
"productVariants": [ProductVariant],
"provinceOfOrigin": "abc123",
"publishedAt": "abc123",
"purchasableItemId": "abc123",
"quantity": 123,
"requiresShipping": false,
"reservedQuantity": 123,
"sku": "abc123",
"skuType": "BUNDLE",
"slug": "abc123",
"status": "ACTIVE",
"storeConnections": [ProductStoreConnection],
"supplier": Supplier,
"supplierId": "abc123",
"tags": ["xyz789"],
"title": "xyz789",
"totalQuantity": 987,
"trackInventory": true,
"trackInventoryNeedsRestoration": false,
"trackInventoryUserSet": false,
"type": "BUNDLE",
"updatedAt": "xyz789",
"warehouseLocation": "xyz789",
"weight": "xyz789",
"weightUnit": "GRAMS",
"width": "xyz789"
}
]
}
}
purchaseOrders
Description
Get purchase orders with filters
Response
Returns [PurchaseOrder!]
Example
Query
query purchaseOrders(
$endDate: String,
$organizationId: ID!,
$startDate: String,
$status: String,
$supplierId: ID
) {
purchaseOrders(
endDate: $endDate,
organizationId: $organizationId,
startDate: $startDate,
status: $status,
supplierId: $supplierId
) {
CreatedBy {
...UserFragment
}
InventoryReceipts {
...InventoryReceiptFragment
}
LastModifiedBy {
...UserFragment
}
Organization {
...OrganizationFragment
}
PurchaseOrderItems {
...PurchaseOrderItemFragment
}
Supplier {
...SupplierFragment
}
WarehouseLocation {
...WarehouseLocationFragment
}
actualDeliveryDate
approvedAt
approvedBy
createdAt
createdByUserId
currency
exchangeRate
expectedDeliveryDate
id
internalNotes
internalPoNumber
isFullyReceived
itemCount
lastModifiedByUserId
notes
orderDate
organizationId
otherCosts
pdfGeneratedAt
pdfUrl
poNumber
receiptCount
remainingQuantity
shipToWarehouseId
shippingAddress
shippingCity
shippingCost
shippingCountry
shippingPostalCode
shippingState
status
subtotal
supplierId
taxAmount
totalCost
totalQuantityOrdered
totalQuantityReceived
trackingNumber
trackingUrl
updatedAt
}
}
Variables
{
"endDate": "xyz789",
"organizationId": "4",
"startDate": "xyz789",
"status": "abc123",
"supplierId": 4
}
Response
{
"data": {
"purchaseOrders": [
{
"CreatedBy": User,
"InventoryReceipts": [InventoryReceipt],
"LastModifiedBy": User,
"Organization": Organization,
"PurchaseOrderItems": [PurchaseOrderItem],
"Supplier": Supplier,
"WarehouseLocation": WarehouseLocation,
"actualDeliveryDate": "xyz789",
"approvedAt": "abc123",
"approvedBy": "xyz789",
"createdAt": "abc123",
"createdByUserId": 4,
"currency": "xyz789",
"exchangeRate": "abc123",
"expectedDeliveryDate": "abc123",
"id": "4",
"internalNotes": "abc123",
"internalPoNumber": 123,
"isFullyReceived": false,
"itemCount": 123,
"lastModifiedByUserId": "abc123",
"notes": "abc123",
"orderDate": "abc123",
"organizationId": 4,
"otherCosts": "xyz789",
"pdfGeneratedAt": "xyz789",
"pdfUrl": "xyz789",
"poNumber": "xyz789",
"receiptCount": 987,
"remainingQuantity": 987,
"shipToWarehouseId": "abc123",
"shippingAddress": "xyz789",
"shippingCity": "abc123",
"shippingCost": "xyz789",
"shippingCountry": "abc123",
"shippingPostalCode": "abc123",
"shippingState": "abc123",
"status": "CANCELLED",
"subtotal": "xyz789",
"supplierId": 4,
"taxAmount": "xyz789",
"totalCost": "abc123",
"totalQuantityOrdered": 987,
"totalQuantityReceived": 987,
"trackingNumber": "xyz789",
"trackingUrl": "abc123",
"updatedAt": "abc123"
}
]
}
}
supplier
Description
Get supplier by ID
Example
Query
query supplier($id: ID!) {
supplier(id: $id) {
Organization {
...OrganizationFragment
}
PurchaseOrders {
...PurchaseOrderFragment
}
SupplierProducts {
...SupplierProductFragment
}
address
city
code
contactEmail
contactName
contactPhone
country
countryCode
createdAt
currency
description
id
isActive
leadTimeDays
metadata
minimumOrderValue
name
notes
organizationId
paymentTerms
postalCode
productCount
purchaseOrderCount
purchasePortalUrl
rating
shippingMethod
state
updatedAt
website
}
}
Variables
{"id": 4}
Response
{
"data": {
"supplier": {
"Organization": Organization,
"PurchaseOrders": [PurchaseOrder],
"SupplierProducts": [SupplierProduct],
"address": "xyz789",
"city": "abc123",
"code": "abc123",
"contactEmail": "xyz789",
"contactName": "abc123",
"contactPhone": "abc123",
"country": "xyz789",
"countryCode": "xyz789",
"createdAt": "abc123",
"currency": "abc123",
"description": "xyz789",
"id": 4,
"isActive": false,
"leadTimeDays": 987,
"metadata": "abc123",
"minimumOrderValue": "xyz789",
"name": "abc123",
"notes": "xyz789",
"organizationId": 4,
"paymentTerms": "abc123",
"postalCode": "xyz789",
"productCount": 123,
"purchaseOrderCount": 123,
"purchasePortalUrl": "abc123",
"rating": 123,
"shippingMethod": "xyz789",
"state": "abc123",
"updatedAt": "xyz789",
"website": "xyz789"
}
}
}
supplierCount
Description
Get total count of suppliers for the organization, with optional filters for pagination
Response
Returns an Int
Example
Query
query supplierCount(
$isActive: Boolean,
$organizationId: ID!,
$searchTerm: String
) {
supplierCount(
isActive: $isActive,
organizationId: $organizationId,
searchTerm: $searchTerm
)
}
Variables
{
"isActive": false,
"organizationId": "4",
"searchTerm": "xyz789"
}
Response
{"data": {"supplierCount": 987}}
suppliers
Description
Get suppliers with optional filters and pagination
Response
Returns [Supplier!]
Arguments
| Name | Description |
|---|---|
isActive - Boolean
|
|
limit - Int
|
Records per page (max 100, default 25). Default = 25 |
offset - Int
|
Number of records to skip for pagination. Default = 0 |
organizationId - ID!
|
|
searchTerm - String
|
|
sortBy - String
|
Sort field: name, code, contactName, city, country, createdAt |
sortDirection - String
|
Sort direction: asc or desc (default: asc) |
Example
Query
query suppliers(
$isActive: Boolean,
$limit: Int,
$offset: Int,
$organizationId: ID!,
$searchTerm: String,
$sortBy: String,
$sortDirection: String
) {
suppliers(
isActive: $isActive,
limit: $limit,
offset: $offset,
organizationId: $organizationId,
searchTerm: $searchTerm,
sortBy: $sortBy,
sortDirection: $sortDirection
) {
Organization {
...OrganizationFragment
}
PurchaseOrders {
...PurchaseOrderFragment
}
SupplierProducts {
...SupplierProductFragment
}
address
city
code
contactEmail
contactName
contactPhone
country
countryCode
createdAt
currency
description
id
isActive
leadTimeDays
metadata
minimumOrderValue
name
notes
organizationId
paymentTerms
postalCode
productCount
purchaseOrderCount
purchasePortalUrl
rating
shippingMethod
state
updatedAt
website
}
}
Variables
{
"isActive": true,
"limit": 25,
"offset": 0,
"organizationId": 4,
"searchTerm": "xyz789",
"sortBy": "xyz789",
"sortDirection": "abc123"
}
Response
{
"data": {
"suppliers": [
{
"Organization": Organization,
"PurchaseOrders": [PurchaseOrder],
"SupplierProducts": [SupplierProduct],
"address": "xyz789",
"city": "abc123",
"code": "abc123",
"contactEmail": "abc123",
"contactName": "abc123",
"contactPhone": "xyz789",
"country": "abc123",
"countryCode": "xyz789",
"createdAt": "abc123",
"currency": "xyz789",
"description": "xyz789",
"id": "4",
"isActive": false,
"leadTimeDays": 987,
"metadata": "xyz789",
"minimumOrderValue": "xyz789",
"name": "xyz789",
"notes": "xyz789",
"organizationId": "4",
"paymentTerms": "abc123",
"postalCode": "xyz789",
"productCount": 123,
"purchaseOrderCount": 123,
"purchasePortalUrl": "abc123",
"rating": 987,
"shippingMethod": "xyz789",
"state": "abc123",
"updatedAt": "abc123",
"website": "abc123"
}
]
}
}
warehouseLocation
Description
Get warehouse location by ID
Response
Returns a WarehouseLocation
Example
Query
query warehouseLocation(
$id: ID!,
$organizationId: ID!
) {
warehouseLocation(
id: $id,
organizationId: $organizationId
) {
address
areas {
...WarehouseAreaFragment
}
city
contactEmail
contactName
contactPhone
country
countryCode
createdAt
description
id
isActive
isPrimary
labelReturnAddressType
labelSenderAddressType
mailingAddress {
...AddressFragment
}
metadata
name
organizationId
physicalAddress {
...AddressFragment
}
postalCode
showOnContactPage
state
stationeryStock {
...StationeryLocationStockFragment
}
storeConnections {
...WarehouseStoreConnectionFragment
}
updatedAt
}
}
Variables
{"id": "4", "organizationId": 4}
Response
{
"data": {
"warehouseLocation": {
"address": "abc123",
"areas": [WarehouseArea],
"city": "xyz789",
"contactEmail": "xyz789",
"contactName": "xyz789",
"contactPhone": "abc123",
"country": "abc123",
"countryCode": "xyz789",
"createdAt": "abc123",
"description": "xyz789",
"id": 4,
"isActive": false,
"isPrimary": false,
"labelReturnAddressType": "MAILING",
"labelSenderAddressType": "MAILING",
"mailingAddress": Address,
"metadata": {},
"name": "xyz789",
"organizationId": "4",
"physicalAddress": Address,
"postalCode": "abc123",
"showOnContactPage": true,
"state": "abc123",
"stationeryStock": [StationeryLocationStock],
"storeConnections": [WarehouseStoreConnection],
"updatedAt": "abc123"
}
}
}
warehouseLocations
Description
Get all warehouse locations for organization
Response
Returns [WarehouseLocation!]
Arguments
| Name | Description |
|---|---|
organizationId - ID!
|
Example
Query
query warehouseLocations($organizationId: ID!) {
warehouseLocations(organizationId: $organizationId) {
address
areas {
...WarehouseAreaFragment
}
city
contactEmail
contactName
contactPhone
country
countryCode
createdAt
description
id
isActive
isPrimary
labelReturnAddressType
labelSenderAddressType
mailingAddress {
...AddressFragment
}
metadata
name
organizationId
physicalAddress {
...AddressFragment
}
postalCode
showOnContactPage
state
stationeryStock {
...StationeryLocationStockFragment
}
storeConnections {
...WarehouseStoreConnectionFragment
}
updatedAt
}
}
Variables
{"organizationId": "4"}
Response
{
"data": {
"warehouseLocations": [
{
"address": "abc123",
"areas": [WarehouseArea],
"city": "abc123",
"contactEmail": "abc123",
"contactName": "abc123",
"contactPhone": "xyz789",
"country": "xyz789",
"countryCode": "abc123",
"createdAt": "abc123",
"description": "xyz789",
"id": "4",
"isActive": false,
"isPrimary": false,
"labelReturnAddressType": "MAILING",
"labelSenderAddressType": "MAILING",
"mailingAddress": Address,
"metadata": {},
"name": "xyz789",
"organizationId": "4",
"physicalAddress": Address,
"postalCode": "xyz789",
"showOnContactPage": true,
"state": "abc123",
"stationeryStock": [StationeryLocationStock],
"storeConnections": [WarehouseStoreConnection],
"updatedAt": "abc123"
}
]
}
}
Mutations
_pothosCheck
Description
Pothos schema system check - always returns true
Response
Returns a Boolean
Example
Query
mutation _pothosCheck {
_pothosCheck
}
Response
{"data": {"_pothosCheck": false}}
addCustomerAddress
Description
Add a new address to an existing customer (Shopify customerAddressCreate)
Response
Returns a CustomerAddress
Arguments
| Name | Description |
|---|---|
customerId - ID!
|
|
input - CustomerAddressInput!
|
|
setAsDefault - Boolean
|
Example
Query
mutation addCustomerAddress(
$customerId: ID!,
$input: CustomerAddressInput!,
$setAsDefault: Boolean
) {
addCustomerAddress(
customerId: $customerId,
input: $input,
setAsDefault: $setAsDefault
) {
Customer {
...CustomerFragment
}
address1
address2
city
company
country
countryCodeV2
createdAt
customerId
firstName
id
isDefault
lastName
lastSyncedAt
phone
province
provinceCode
shopifyAddressId
shopifyUpdatedAt
updatedAt
zip
}
}
Variables
{
"customerId": 4,
"input": CustomerAddressInput,
"setAsDefault": false
}
Response
{
"data": {
"addCustomerAddress": {
"Customer": Customer,
"address1": "xyz789",
"address2": "xyz789",
"city": "xyz789",
"company": "abc123",
"country": "xyz789",
"countryCodeV2": "abc123",
"createdAt": "xyz789",
"customerId": "xyz789",
"firstName": "xyz789",
"id": "4",
"isDefault": true,
"lastName": "xyz789",
"lastSyncedAt": "abc123",
"phone": "xyz789",
"province": "abc123",
"provinceCode": "xyz789",
"shopifyAddressId": "abc123",
"shopifyUpdatedAt": "xyz789",
"updatedAt": "xyz789",
"zip": "abc123"
}
}
}
completePasskeyAuthentication
Description
Complete passkey authentication
Response
Returns an AuthPayload
Example
Query
mutation completePasskeyAuthentication(
$clientExtensionResults: JSON,
$credentialId: String!,
$rawId: String!,
$response: JSON!
) {
completePasskeyAuthentication(
clientExtensionResults: $clientExtensionResults,
credentialId: $credentialId,
rawId: $rawId,
response: $response
) {
expiresAt
requiresMfaSetup
token
user {
...UserFragment
}
}
}
Variables
{
"clientExtensionResults": {},
"credentialId": "xyz789",
"rawId": "abc123",
"response": {}
}
Response
{
"data": {
"completePasskeyAuthentication": {
"expiresAt": "xyz789",
"requiresMfaSetup": true,
"token": "xyz789",
"user": User
}
}
}
confirmPasswordReset
Description
Confirm password reset with token (also handles user invitation tokens)
Response
Returns a VerificationRequest
Example
Query
mutation confirmPasswordReset(
$newPassword: String!,
$token: String!
) {
confirmPasswordReset(
newPassword: $newPassword,
token: $token
) {
message
success
}
}
Variables
{
"newPassword": "xyz789",
"token": "abc123"
}
Response
{
"data": {
"confirmPasswordReset": {
"message": "abc123",
"success": false
}
}
}
createOrder
Description
Create a new order
Response
Returns an Order
Arguments
| Name | Description |
|---|---|
input - CreateOrderInput!
|
Example
Query
mutation createOrder($input: CreateOrderInput!) {
createOrder(input: $input) {
Customer {
...CustomerFragment
}
FulfillmentPackages {
...FulfillmentPackageFragment
}
OrderComments {
...OrderCommentFragment
}
OrderLineItems {
...OrderLineItemFragment
}
Organization {
...OrganizationFragment
}
WarehouseAllocation {
...OrderWarehouseAllocationFragment
}
billingAddress
billingAddress2
billingCity
billingCompany
billingCountry
billingCountryCode
billingFirstName
billingLastName
billingPostalCode
billingState
cancelReason
cancelledAt
carrier
closedAt
confirmed
createdAt
currency
customerIp
customerNotes
deliveredAt
discountAmount
discountCodes
email
exchangeRate
fulfilledAt
fulfillmentStatus
id
internalNotes
internalOrderNumber
lastSyncedAt
notifyCustomerOnRefund
orderDate
orderNumber
organizationId
paidAt
paymentGateway
paymentMethod
paymentStatus
phone
processedAt
refundedAmount
refunds
restockOnCancel
riskAssessmentDetails
riskLevel
riskRecommendation
shippingAddress
shippingAddress2
shippingCity
shippingCompany
shippingCost
shippingCountry
shippingCountryCode
shippingFirstName
shippingLastName
shippingLines
shippingMethod
shippingPostalCode
shippingState
shopifyLastCancelError
shopifyLastCancelSyncAt
shopifyOrderId
shopifyOrderNumber
source
status
storeId
subtotal
syncError
syncStatus
tags
taxAmount
timeline {
...OrderTimelineEventFragment
}
totalAmount
trackingNumber
trackingUrl
transactions
updatedAt
}
}
Variables
{"input": CreateOrderInput}
Response
{
"data": {
"createOrder": {
"Customer": Customer,
"FulfillmentPackages": [FulfillmentPackage],
"OrderComments": [OrderComment],
"OrderLineItems": [OrderLineItem],
"Organization": Organization,
"WarehouseAllocation": OrderWarehouseAllocation,
"billingAddress": "xyz789",
"billingAddress2": "abc123",
"billingCity": "abc123",
"billingCompany": "xyz789",
"billingCountry": "xyz789",
"billingCountryCode": "abc123",
"billingFirstName": "abc123",
"billingLastName": "xyz789",
"billingPostalCode": "xyz789",
"billingState": "xyz789",
"cancelReason": "xyz789",
"cancelledAt": "abc123",
"carrier": "abc123",
"closedAt": "xyz789",
"confirmed": false,
"createdAt": "xyz789",
"currency": "abc123",
"customerIp": "xyz789",
"customerNotes": "abc123",
"deliveredAt": "xyz789",
"discountAmount": "abc123",
"discountCodes": {},
"email": "xyz789",
"exchangeRate": "abc123",
"fulfilledAt": "abc123",
"fulfillmentStatus": "CANCELLED",
"id": 4,
"internalNotes": "abc123",
"internalOrderNumber": 987,
"lastSyncedAt": "abc123",
"notifyCustomerOnRefund": false,
"orderDate": "abc123",
"orderNumber": "xyz789",
"organizationId": "4",
"paidAt": "xyz789",
"paymentGateway": "abc123",
"paymentMethod": "xyz789",
"paymentStatus": "AUTHORIZED",
"phone": "abc123",
"processedAt": "xyz789",
"refundedAmount": "xyz789",
"refunds": {},
"restockOnCancel": true,
"riskAssessmentDetails": {},
"riskLevel": "xyz789",
"riskRecommendation": "xyz789",
"shippingAddress": "xyz789",
"shippingAddress2": "abc123",
"shippingCity": "abc123",
"shippingCompany": "abc123",
"shippingCost": "xyz789",
"shippingCountry": "abc123",
"shippingCountryCode": "xyz789",
"shippingFirstName": "xyz789",
"shippingLastName": "xyz789",
"shippingLines": {},
"shippingMethod": "abc123",
"shippingPostalCode": "abc123",
"shippingState": "xyz789",
"shopifyLastCancelError": "xyz789",
"shopifyLastCancelSyncAt": "xyz789",
"shopifyOrderId": "xyz789",
"shopifyOrderNumber": "abc123",
"source": "abc123",
"status": "CANCELLED",
"storeId": "xyz789",
"subtotal": "xyz789",
"syncError": "xyz789",
"syncStatus": "xyz789",
"tags": ["abc123"],
"taxAmount": "abc123",
"timeline": [OrderTimelineEvent],
"totalAmount": "abc123",
"trackingNumber": "abc123",
"trackingUrl": "abc123",
"transactions": {},
"updatedAt": "xyz789"
}
}
}
createOrderRefund
Description
Create a Core-originated refund on an Order. Appends a new entry to Order.refunds JSON, increments refundedAmount, optionally persists notifyCustomerOnRefund, and publishes ORDER_UPDATED so the asyncOps push pipeline (computeIntents → pushIntentRefund) propagates the refund to Shopify. SKU-273 item 9.
Response
Returns an Order
Arguments
| Name | Description |
|---|---|
input - CreateOrderRefundInput!
|
Example
Query
mutation createOrderRefund($input: CreateOrderRefundInput!) {
createOrderRefund(input: $input) {
Customer {
...CustomerFragment
}
FulfillmentPackages {
...FulfillmentPackageFragment
}
OrderComments {
...OrderCommentFragment
}
OrderLineItems {
...OrderLineItemFragment
}
Organization {
...OrganizationFragment
}
WarehouseAllocation {
...OrderWarehouseAllocationFragment
}
billingAddress
billingAddress2
billingCity
billingCompany
billingCountry
billingCountryCode
billingFirstName
billingLastName
billingPostalCode
billingState
cancelReason
cancelledAt
carrier
closedAt
confirmed
createdAt
currency
customerIp
customerNotes
deliveredAt
discountAmount
discountCodes
email
exchangeRate
fulfilledAt
fulfillmentStatus
id
internalNotes
internalOrderNumber
lastSyncedAt
notifyCustomerOnRefund
orderDate
orderNumber
organizationId
paidAt
paymentGateway
paymentMethod
paymentStatus
phone
processedAt
refundedAmount
refunds
restockOnCancel
riskAssessmentDetails
riskLevel
riskRecommendation
shippingAddress
shippingAddress2
shippingCity
shippingCompany
shippingCost
shippingCountry
shippingCountryCode
shippingFirstName
shippingLastName
shippingLines
shippingMethod
shippingPostalCode
shippingState
shopifyLastCancelError
shopifyLastCancelSyncAt
shopifyOrderId
shopifyOrderNumber
source
status
storeId
subtotal
syncError
syncStatus
tags
taxAmount
timeline {
...OrderTimelineEventFragment
}
totalAmount
trackingNumber
trackingUrl
transactions
updatedAt
}
}
Variables
{"input": CreateOrderRefundInput}
Response
{
"data": {
"createOrderRefund": {
"Customer": Customer,
"FulfillmentPackages": [FulfillmentPackage],
"OrderComments": [OrderComment],
"OrderLineItems": [OrderLineItem],
"Organization": Organization,
"WarehouseAllocation": OrderWarehouseAllocation,
"billingAddress": "xyz789",
"billingAddress2": "xyz789",
"billingCity": "abc123",
"billingCompany": "xyz789",
"billingCountry": "abc123",
"billingCountryCode": "abc123",
"billingFirstName": "xyz789",
"billingLastName": "abc123",
"billingPostalCode": "xyz789",
"billingState": "xyz789",
"cancelReason": "xyz789",
"cancelledAt": "abc123",
"carrier": "abc123",
"closedAt": "xyz789",
"confirmed": true,
"createdAt": "xyz789",
"currency": "abc123",
"customerIp": "xyz789",
"customerNotes": "xyz789",
"deliveredAt": "xyz789",
"discountAmount": "xyz789",
"discountCodes": {},
"email": "xyz789",
"exchangeRate": "abc123",
"fulfilledAt": "abc123",
"fulfillmentStatus": "CANCELLED",
"id": "4",
"internalNotes": "abc123",
"internalOrderNumber": 123,
"lastSyncedAt": "abc123",
"notifyCustomerOnRefund": true,
"orderDate": "xyz789",
"orderNumber": "xyz789",
"organizationId": 4,
"paidAt": "xyz789",
"paymentGateway": "abc123",
"paymentMethod": "xyz789",
"paymentStatus": "AUTHORIZED",
"phone": "abc123",
"processedAt": "abc123",
"refundedAmount": "xyz789",
"refunds": {},
"restockOnCancel": true,
"riskAssessmentDetails": {},
"riskLevel": "abc123",
"riskRecommendation": "xyz789",
"shippingAddress": "xyz789",
"shippingAddress2": "abc123",
"shippingCity": "abc123",
"shippingCompany": "xyz789",
"shippingCost": "xyz789",
"shippingCountry": "xyz789",
"shippingCountryCode": "abc123",
"shippingFirstName": "xyz789",
"shippingLastName": "xyz789",
"shippingLines": {},
"shippingMethod": "xyz789",
"shippingPostalCode": "abc123",
"shippingState": "abc123",
"shopifyLastCancelError": "xyz789",
"shopifyLastCancelSyncAt": "xyz789",
"shopifyOrderId": "xyz789",
"shopifyOrderNumber": "xyz789",
"source": "abc123",
"status": "CANCELLED",
"storeId": "abc123",
"subtotal": "xyz789",
"syncError": "abc123",
"syncStatus": "xyz789",
"tags": ["xyz789"],
"taxAmount": "xyz789",
"timeline": [OrderTimelineEvent],
"totalAmount": "xyz789",
"trackingNumber": "abc123",
"trackingUrl": "xyz789",
"transactions": {},
"updatedAt": "xyz789"
}
}
}
createProduct
Description
Create a new product
Response
Returns a Product
Arguments
| Name | Description |
|---|---|
input - CreateProductInput!
|
Example
Query
mutation createProduct($input: CreateProductInput!) {
createProduct(input: $input) {
Organization {
...OrganizationFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
ProductStoreConnection {
...ProductStoreConnectionFragment
}
SupplierProduct {
...SupplierProductFragment
}
allowBackorder
assemblyMode
availableQuantity
basePrice
brand
bundleComponentCount
bundleDiscountPercent
bundleItems {
...ProductBundleItemFragment
}
bundlePricing
bundledIn {
...ProductBundleItemFragment
}
category
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
defaultVariant {
...ProductVariantFragment
}
description
dimensionUnit
displayTitle
handle
hasOnlyDefaultVariant
height
hsCode
id
images {
...ProductImageFragment
}
isActive
isActiveSKU
isGiftCard
kitInventoryMode
length
lowStockThreshold
metaDescription
metaTitle
option1Name
option2Name
option3Name
optionDefinitions {
...ProductOptionDefinitionFragment
}
organizationId
primaryImage {
...ProductImageFragment
}
primaryImageId
productLocationInventories {
...ProductLocationInventoryFragment
}
productType
productVariants {
...ProductVariantFragment
}
provinceOfOrigin
publishedAt
purchasableItemId
quantity
requiresShipping
reservedQuantity
sku
skuType
slug
status
storeConnections {
...ProductStoreConnectionFragment
}
supplier {
...SupplierFragment
}
supplierId
tags
title
totalQuantity
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
type
updatedAt
warehouseLocation
weight
weightUnit
width
}
}
Variables
{"input": CreateProductInput}
Response
{
"data": {
"createProduct": {
"Organization": Organization,
"ProductLocationInventory": [
ProductLocationInventory
],
"ProductStoreConnection": [ProductStoreConnection],
"SupplierProduct": [SupplierProduct],
"allowBackorder": false,
"assemblyMode": "BOTH",
"availableQuantity": 987,
"basePrice": "abc123",
"brand": "xyz789",
"bundleComponentCount": 123,
"bundleDiscountPercent": "abc123",
"bundleItems": [ProductBundleItem],
"bundlePricing": "CALCULATED",
"bundledIn": [ProductBundleItem],
"category": "xyz789",
"compareAtPrice": "xyz789",
"costPrice": "xyz789",
"countryOfOrigin": "abc123",
"createdAt": "xyz789",
"customsDescription": "xyz789",
"defaultVariant": ProductVariant,
"description": "abc123",
"dimensionUnit": "CM",
"displayTitle": "abc123",
"handle": "abc123",
"hasOnlyDefaultVariant": false,
"height": "abc123",
"hsCode": "abc123",
"id": 4,
"images": [ProductImage],
"isActive": false,
"isActiveSKU": true,
"isGiftCard": true,
"kitInventoryMode": "ACTIVE",
"length": "abc123",
"lowStockThreshold": 123,
"metaDescription": "xyz789",
"metaTitle": "abc123",
"option1Name": "xyz789",
"option2Name": "xyz789",
"option3Name": "abc123",
"optionDefinitions": [ProductOptionDefinition],
"organizationId": 4,
"primaryImage": ProductImage,
"primaryImageId": "abc123",
"productLocationInventories": [
ProductLocationInventory
],
"productType": "abc123",
"productVariants": [ProductVariant],
"provinceOfOrigin": "xyz789",
"publishedAt": "abc123",
"purchasableItemId": "xyz789",
"quantity": 123,
"requiresShipping": false,
"reservedQuantity": 123,
"sku": "abc123",
"skuType": "BUNDLE",
"slug": "xyz789",
"status": "ACTIVE",
"storeConnections": [ProductStoreConnection],
"supplier": Supplier,
"supplierId": "abc123",
"tags": ["abc123"],
"title": "xyz789",
"totalQuantity": 987,
"trackInventory": false,
"trackInventoryNeedsRestoration": true,
"trackInventoryUserSet": true,
"type": "BUNDLE",
"updatedAt": "abc123",
"warehouseLocation": "abc123",
"weight": "xyz789",
"weightUnit": "GRAMS",
"width": "xyz789"
}
}
}
createProductVariant
Description
Create a new product variant
Response
Returns a ProductVariant
Arguments
| Name | Description |
|---|---|
input - CreateProductVariantInput!
|
Example
Query
mutation createProductVariant($input: CreateProductVariantInput!) {
createProductVariant(input: $input) {
Product {
...ProductFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
allowBackorder
availableQuantity
barcode
basePrice
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
dimensionUnit
height
hsCode
id
length
lowStockThreshold
option1Value
option2Value
option3Value
organizationId
position
primaryImage {
...ProductImageFragment
}
primaryImageId
productId
provinceOfOrigin
quantity
requiresShipping
reservedQuantity
sku
taxCode
taxable
title
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
updatedAt
weight
weightUnit
width
}
}
Variables
{"input": CreateProductVariantInput}
Response
{
"data": {
"createProductVariant": {
"Product": Product,
"ProductLocationInventory": [
ProductLocationInventory
],
"allowBackorder": true,
"availableQuantity": 987,
"barcode": "xyz789",
"basePrice": "xyz789",
"compareAtPrice": "xyz789",
"costPrice": "xyz789",
"countryOfOrigin": "xyz789",
"createdAt": "xyz789",
"customsDescription": "abc123",
"dimensionUnit": "CM",
"height": "xyz789",
"hsCode": "abc123",
"id": "4",
"length": "abc123",
"lowStockThreshold": 987,
"option1Value": "xyz789",
"option2Value": "abc123",
"option3Value": "abc123",
"organizationId": "4",
"position": 123,
"primaryImage": ProductImage,
"primaryImageId": "abc123",
"productId": 4,
"provinceOfOrigin": "abc123",
"quantity": 123,
"requiresShipping": true,
"reservedQuantity": 987,
"sku": "xyz789",
"taxCode": "abc123",
"taxable": false,
"title": "xyz789",
"trackInventory": true,
"trackInventoryNeedsRestoration": false,
"trackInventoryUserSet": true,
"updatedAt": "xyz789",
"weight": "abc123",
"weightUnit": "GRAMS",
"width": "xyz789"
}
}
}
createSupplementalFulfillment
Description
Create a supplemental fulfillment package on an already-fulfilled order
Response
Returns a FulfillmentPackage
Arguments
| Name | Description |
|---|---|
input - CreateSupplementalFulfillmentInput!
|
Example
Query
mutation createSupplementalFulfillment($input: CreateSupplementalFulfillmentInput!) {
createSupplementalFulfillment(input: $input) {
Images {
...FulfillmentImageFragment
}
Order {
...OrderFragment
}
PackageItems {
...FulfillmentPackageItemFragment
}
actualDeliveryDate
calculatedWeight
canRetryFulfillment
carrier
carrierConnectionId
carrierStatusCode
carrierStatusDescription
combinedAt
combinedById
combinedWithOrderIds
confirmationCost
createdAt
customerNotified
customerNotifiedAt
declaredWeight
deliveredAt
estimatedDeliveryDate
externalLabelId
externalShipmentId
fulfillmentCompletedAt
fulfillmentError
fulfillmentErrorStep
fulfillmentStartedAt
fulfillmentStatusEnum
handoffMethod
handoffNote
hasLabel
height
id
insuranceCost
isDelivered
isManualFulfillment
isSupplemental
labelFile {
...FileFragment
}
labelFileId
labelFormat
labelPrintedAt
labelPurchasedAt
labelPurchasedById
labelUrl
labelVoidedAt
length
manualFulfillmentReason
notifyCustomer
orderId
organizationId
packageNumber
printFirstPageOnly
scaleWeight
serviceCode
serviceName
serviceOptions
shipmentGroupId
shipmentGroupRole
shippedAt
shippingCost
shopifyFulfillmentId
shopifyLastSyncAt
shopifyLastSyncError
shopifySyncAttempts
stationeryType
stationeryTypeId
status
stepLabelPrintStatus
stepLabelPurchaseStatus
stepLocalFulfillmentStatus
stepStoreSyncStatus
supplementalReason
trackingException
trackingLastUpdatedAt
trackingNumber
trackingStatus
trackingStatusDescription
trackingUrl
uncombinedAt
uncombinedById
uncombinedReason
updatedAt
width
}
}
Variables
{"input": CreateSupplementalFulfillmentInput}
Response
{
"data": {
"createSupplementalFulfillment": {
"Images": [FulfillmentImage],
"Order": Order,
"PackageItems": [FulfillmentPackageItem],
"actualDeliveryDate": "abc123",
"calculatedWeight": "xyz789",
"canRetryFulfillment": false,
"carrier": "xyz789",
"carrierConnectionId": "abc123",
"carrierStatusCode": "xyz789",
"carrierStatusDescription": "xyz789",
"combinedAt": "abc123",
"combinedById": "xyz789",
"combinedWithOrderIds": "xyz789",
"confirmationCost": "xyz789",
"createdAt": "xyz789",
"customerNotified": false,
"customerNotifiedAt": "xyz789",
"declaredWeight": "abc123",
"deliveredAt": "xyz789",
"estimatedDeliveryDate": "abc123",
"externalLabelId": "abc123",
"externalShipmentId": "xyz789",
"fulfillmentCompletedAt": "xyz789",
"fulfillmentError": "abc123",
"fulfillmentErrorStep": "LABEL_PRINT",
"fulfillmentStartedAt": "xyz789",
"fulfillmentStatusEnum": "COMPLETED",
"handoffMethod": "CARRIER_TRACKED",
"handoffNote": "abc123",
"hasLabel": true,
"height": "xyz789",
"id": "4",
"insuranceCost": "abc123",
"isDelivered": false,
"isManualFulfillment": true,
"isSupplemental": false,
"labelFile": File,
"labelFileId": "xyz789",
"labelFormat": "abc123",
"labelPrintedAt": "abc123",
"labelPurchasedAt": "xyz789",
"labelPurchasedById": "abc123",
"labelUrl": "xyz789",
"labelVoidedAt": "xyz789",
"length": "abc123",
"manualFulfillmentReason": "xyz789",
"notifyCustomer": false,
"orderId": "abc123",
"organizationId": "abc123",
"packageNumber": 987,
"printFirstPageOnly": false,
"scaleWeight": "xyz789",
"serviceCode": "xyz789",
"serviceName": "xyz789",
"serviceOptions": "xyz789",
"shipmentGroupId": "abc123",
"shipmentGroupRole": "abc123",
"shippedAt": "xyz789",
"shippingCost": "xyz789",
"shopifyFulfillmentId": "xyz789",
"shopifyLastSyncAt": "xyz789",
"shopifyLastSyncError": "xyz789",
"shopifySyncAttempts": 987,
"stationeryType": "xyz789",
"stationeryTypeId": "xyz789",
"status": "CANCELLED",
"stepLabelPrintStatus": "COMPLETED",
"stepLabelPurchaseStatus": "COMPLETED",
"stepLocalFulfillmentStatus": "COMPLETED",
"stepStoreSyncStatus": "COMPLETED",
"supplementalReason": "xyz789",
"trackingException": "xyz789",
"trackingLastUpdatedAt": "abc123",
"trackingNumber": "xyz789",
"trackingStatus": "xyz789",
"trackingStatusDescription": "xyz789",
"trackingUrl": "abc123",
"uncombinedAt": "xyz789",
"uncombinedById": "xyz789",
"uncombinedReason": "abc123",
"updatedAt": "abc123",
"width": "abc123"
}
}
}
deleteCustomerAddress
Description
Delete an address from a customer (Shopify customerAddressDelete)
Example
Query
mutation deleteCustomerAddress(
$addressId: ID!,
$customerId: ID!
) {
deleteCustomerAddress(
addressId: $addressId,
customerId: $customerId
)
}
Variables
{"addressId": 4, "customerId": "4"}
Response
{"data": {"deleteCustomerAddress": false}}
deleteProduct
Description
Delete a product
Example
Query
mutation deleteProduct(
$id: ID!,
$organizationId: ID!
) {
deleteProduct(
id: $id,
organizationId: $organizationId
) {
Organization {
...OrganizationFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
ProductStoreConnection {
...ProductStoreConnectionFragment
}
SupplierProduct {
...SupplierProductFragment
}
allowBackorder
assemblyMode
availableQuantity
basePrice
brand
bundleComponentCount
bundleDiscountPercent
bundleItems {
...ProductBundleItemFragment
}
bundlePricing
bundledIn {
...ProductBundleItemFragment
}
category
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
defaultVariant {
...ProductVariantFragment
}
description
dimensionUnit
displayTitle
handle
hasOnlyDefaultVariant
height
hsCode
id
images {
...ProductImageFragment
}
isActive
isActiveSKU
isGiftCard
kitInventoryMode
length
lowStockThreshold
metaDescription
metaTitle
option1Name
option2Name
option3Name
optionDefinitions {
...ProductOptionDefinitionFragment
}
organizationId
primaryImage {
...ProductImageFragment
}
primaryImageId
productLocationInventories {
...ProductLocationInventoryFragment
}
productType
productVariants {
...ProductVariantFragment
}
provinceOfOrigin
publishedAt
purchasableItemId
quantity
requiresShipping
reservedQuantity
sku
skuType
slug
status
storeConnections {
...ProductStoreConnectionFragment
}
supplier {
...SupplierFragment
}
supplierId
tags
title
totalQuantity
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
type
updatedAt
warehouseLocation
weight
weightUnit
width
}
}
Variables
{"id": "4", "organizationId": 4}
Response
{
"data": {
"deleteProduct": {
"Organization": Organization,
"ProductLocationInventory": [
ProductLocationInventory
],
"ProductStoreConnection": [ProductStoreConnection],
"SupplierProduct": [SupplierProduct],
"allowBackorder": true,
"assemblyMode": "BOTH",
"availableQuantity": 987,
"basePrice": "xyz789",
"brand": "abc123",
"bundleComponentCount": 987,
"bundleDiscountPercent": "abc123",
"bundleItems": [ProductBundleItem],
"bundlePricing": "CALCULATED",
"bundledIn": [ProductBundleItem],
"category": "xyz789",
"compareAtPrice": "xyz789",
"costPrice": "abc123",
"countryOfOrigin": "abc123",
"createdAt": "abc123",
"customsDescription": "xyz789",
"defaultVariant": ProductVariant,
"description": "abc123",
"dimensionUnit": "CM",
"displayTitle": "xyz789",
"handle": "xyz789",
"hasOnlyDefaultVariant": true,
"height": "abc123",
"hsCode": "xyz789",
"id": "4",
"images": [ProductImage],
"isActive": true,
"isActiveSKU": false,
"isGiftCard": false,
"kitInventoryMode": "ACTIVE",
"length": "xyz789",
"lowStockThreshold": 123,
"metaDescription": "abc123",
"metaTitle": "abc123",
"option1Name": "abc123",
"option2Name": "xyz789",
"option3Name": "xyz789",
"optionDefinitions": [ProductOptionDefinition],
"organizationId": "4",
"primaryImage": ProductImage,
"primaryImageId": "xyz789",
"productLocationInventories": [
ProductLocationInventory
],
"productType": "xyz789",
"productVariants": [ProductVariant],
"provinceOfOrigin": "abc123",
"publishedAt": "xyz789",
"purchasableItemId": "abc123",
"quantity": 987,
"requiresShipping": false,
"reservedQuantity": 123,
"sku": "abc123",
"skuType": "BUNDLE",
"slug": "xyz789",
"status": "ACTIVE",
"storeConnections": [ProductStoreConnection],
"supplier": Supplier,
"supplierId": "abc123",
"tags": ["abc123"],
"title": "abc123",
"totalQuantity": 123,
"trackInventory": false,
"trackInventoryNeedsRestoration": true,
"trackInventoryUserSet": true,
"type": "BUNDLE",
"updatedAt": "abc123",
"warehouseLocation": "xyz789",
"weight": "xyz789",
"weightUnit": "GRAMS",
"width": "xyz789"
}
}
}
deleteProductVariant
Description
Delete a product variant
login
Description
Login with email/password
Response
Returns an AuthPayload
Example
Query
mutation login(
$email: String!,
$mfaCode: String,
$password: String!
) {
login(
email: $email,
mfaCode: $mfaCode,
password: $password
) {
expiresAt
requiresMfaSetup
token
user {
...UserFragment
}
}
}
Variables
{
"email": "xyz789",
"mfaCode": "xyz789",
"password": "xyz789"
}
Response
{
"data": {
"login": {
"expiresAt": "xyz789",
"requiresMfaSetup": true,
"token": "xyz789",
"user": User
}
}
}
refreshToken
Description
Refresh access token using HttpOnly refresh token cookie
Response
Returns an AuthPayload
Example
Query
mutation refreshToken {
refreshToken {
expiresAt
requiresMfaSetup
token
user {
...UserFragment
}
}
}
Response
{
"data": {
"refreshToken": {
"expiresAt": "abc123",
"requiresMfaSetup": true,
"token": "xyz789",
"user": User
}
}
}
requestPasswordReset
Description
Request password reset email
Response
Returns a VerificationRequest
Arguments
| Name | Description |
|---|---|
email - String!
|
Example
Query
mutation requestPasswordReset($email: String!) {
requestPasswordReset(email: $email) {
message
success
}
}
Variables
{"email": "xyz789"}
Response
{
"data": {
"requestPasswordReset": {
"message": "xyz789",
"success": false
}
}
}
setCustomerDefaultAddress
Description
Switch which existing address is the customer's default (Shopify customerUpdateDefaultAddress)
Response
Returns a CustomerAddress
Example
Query
mutation setCustomerDefaultAddress(
$addressId: ID!,
$customerId: ID!
) {
setCustomerDefaultAddress(
addressId: $addressId,
customerId: $customerId
) {
Customer {
...CustomerFragment
}
address1
address2
city
company
country
countryCodeV2
createdAt
customerId
firstName
id
isDefault
lastName
lastSyncedAt
phone
province
provinceCode
shopifyAddressId
shopifyUpdatedAt
updatedAt
zip
}
}
Variables
{
"addressId": "4",
"customerId": "4"
}
Response
{
"data": {
"setCustomerDefaultAddress": {
"Customer": Customer,
"address1": "abc123",
"address2": "abc123",
"city": "abc123",
"company": "abc123",
"country": "abc123",
"countryCodeV2": "xyz789",
"createdAt": "xyz789",
"customerId": "abc123",
"firstName": "xyz789",
"id": "4",
"isDefault": true,
"lastName": "abc123",
"lastSyncedAt": "xyz789",
"phone": "abc123",
"province": "xyz789",
"provinceCode": "xyz789",
"shopifyAddressId": "abc123",
"shopifyUpdatedAt": "abc123",
"updatedAt": "xyz789",
"zip": "abc123"
}
}
}
setVariantPrimaryImage
Description
Set the primary image for a product variant
Response
Returns a ProductImage
Example
Query
mutation setVariantPrimaryImage(
$imageId: ID!,
$variantId: ID!
) {
setVariantPrimaryImage(
imageId: $imageId,
variantId: $variantId
) {
altText
createdAt
file {
...FileFragment
}
fileId
fileSize
height
id
imageUrl
product {
...ProductFragment
}
productId
shopifyImageId
shopifyImageLegacyId
shopifyPosition
sortOrder
sourceUrl
status
thumbnails
updatedAt
url
width
}
}
Variables
{"imageId": 4, "variantId": 4}
Response
{
"data": {
"setVariantPrimaryImage": {
"altText": "xyz789",
"createdAt": "xyz789",
"file": File,
"fileId": "xyz789",
"fileSize": 123,
"height": 987,
"id": 4,
"imageUrl": "xyz789",
"product": Product,
"productId": "xyz789",
"shopifyImageId": "xyz789",
"shopifyImageLegacyId": "xyz789",
"shopifyPosition": 987,
"sortOrder": 987,
"sourceUrl": "xyz789",
"status": "abc123",
"thumbnails": {},
"updatedAt": "xyz789",
"url": "abc123",
"width": 987
}
}
}
signup
Description
Signup new user with password (passkey-only users should use signupWithPasskey)
Response
Returns an AuthPayload
Example
Query
mutation signup(
$email: String!,
$firstName: String!,
$lastName: String!,
$organizationName: String,
$password: String
) {
signup(
email: $email,
firstName: $firstName,
lastName: $lastName,
organizationName: $organizationName,
password: $password
) {
expiresAt
requiresMfaSetup
token
user {
...UserFragment
}
}
}
Variables
{
"email": "abc123",
"firstName": "xyz789",
"lastName": "xyz789",
"organizationName": "xyz789",
"password": "abc123"
}
Response
{
"data": {
"signup": {
"expiresAt": "abc123",
"requiresMfaSetup": true,
"token": "xyz789",
"user": User
}
}
}
signupFromShopifyInstall
Description
Signup new user from a Shopify App Store install token
Response
Returns an AuthPayload
Example
Query
mutation signupFromShopifyInstall(
$email: String!,
$firstName: String!,
$installToken: String!,
$lastName: String!,
$organizationName: String!,
$password: String!
) {
signupFromShopifyInstall(
email: $email,
firstName: $firstName,
installToken: $installToken,
lastName: $lastName,
organizationName: $organizationName,
password: $password
) {
expiresAt
requiresMfaSetup
token
user {
...UserFragment
}
}
}
Variables
{
"email": "xyz789",
"firstName": "xyz789",
"installToken": "abc123",
"lastName": "abc123",
"organizationName": "xyz789",
"password": "xyz789"
}
Response
{
"data": {
"signupFromShopifyInstall": {
"expiresAt": "xyz789",
"requiresMfaSetup": false,
"token": "xyz789",
"user": User
}
}
}
signupWithPasskey
Description
Signup with passkey
Response
Returns an AuthPayload
Example
Query
mutation signupWithPasskey(
$clientExtensionResults: JSON,
$credentialId: String!,
$email: String!,
$firstName: String!,
$lastName: String!,
$organizationName: String,
$passkeyName: String!,
$rawId: String!,
$response: JSON!
) {
signupWithPasskey(
clientExtensionResults: $clientExtensionResults,
credentialId: $credentialId,
email: $email,
firstName: $firstName,
lastName: $lastName,
organizationName: $organizationName,
passkeyName: $passkeyName,
rawId: $rawId,
response: $response
) {
expiresAt
requiresMfaSetup
token
user {
...UserFragment
}
}
}
Variables
{
"clientExtensionResults": {},
"credentialId": "xyz789",
"email": "abc123",
"firstName": "xyz789",
"lastName": "xyz789",
"organizationName": "xyz789",
"passkeyName": "abc123",
"rawId": "abc123",
"response": {}
}
Response
{
"data": {
"signupWithPasskey": {
"expiresAt": "xyz789",
"requiresMfaSetup": false,
"token": "abc123",
"user": User
}
}
}
startPasskeyAuthentication
Description
Start passkey authentication flow
Response
Returns a PasskeyAuthenticationOptions
Arguments
| Name | Description |
|---|---|
email - String
|
Example
Query
mutation startPasskeyAuthentication($email: String) {
startPasskeyAuthentication(email: $email) {
allowCredentials {
...PublicKeyCredentialDescriptorFragment
}
challenge
rpId
timeout
userVerification
}
}
Variables
{"email": "xyz789"}
Response
{
"data": {
"startPasskeyAuthentication": {
"allowCredentials": [PublicKeyCredentialDescriptor],
"challenge": "xyz789",
"rpId": "xyz789",
"timeout": 987,
"userVerification": "abc123"
}
}
}
updateCustomerAddress
Description
Update an existing address on a customer (Shopify customerAddressUpdate)
Response
Returns a CustomerAddress
Arguments
| Name | Description |
|---|---|
addressId - ID!
|
|
customerId - ID!
|
|
input - CustomerAddressInput!
|
|
setAsDefault - Boolean
|
Example
Query
mutation updateCustomerAddress(
$addressId: ID!,
$customerId: ID!,
$input: CustomerAddressInput!,
$setAsDefault: Boolean
) {
updateCustomerAddress(
addressId: $addressId,
customerId: $customerId,
input: $input,
setAsDefault: $setAsDefault
) {
Customer {
...CustomerFragment
}
address1
address2
city
company
country
countryCodeV2
createdAt
customerId
firstName
id
isDefault
lastName
lastSyncedAt
phone
province
provinceCode
shopifyAddressId
shopifyUpdatedAt
updatedAt
zip
}
}
Variables
{
"addressId": 4,
"customerId": 4,
"input": CustomerAddressInput,
"setAsDefault": false
}
Response
{
"data": {
"updateCustomerAddress": {
"Customer": Customer,
"address1": "abc123",
"address2": "abc123",
"city": "xyz789",
"company": "abc123",
"country": "xyz789",
"countryCodeV2": "xyz789",
"createdAt": "abc123",
"customerId": "abc123",
"firstName": "xyz789",
"id": "4",
"isDefault": true,
"lastName": "abc123",
"lastSyncedAt": "xyz789",
"phone": "xyz789",
"province": "abc123",
"provinceCode": "abc123",
"shopifyAddressId": "abc123",
"shopifyUpdatedAt": "abc123",
"updatedAt": "abc123",
"zip": "abc123"
}
}
}
updateOrder
Description
Update an existing order
Response
Returns an Order
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateOrderInput!
|
Example
Query
mutation updateOrder(
$id: ID!,
$input: UpdateOrderInput!
) {
updateOrder(
id: $id,
input: $input
) {
Customer {
...CustomerFragment
}
FulfillmentPackages {
...FulfillmentPackageFragment
}
OrderComments {
...OrderCommentFragment
}
OrderLineItems {
...OrderLineItemFragment
}
Organization {
...OrganizationFragment
}
WarehouseAllocation {
...OrderWarehouseAllocationFragment
}
billingAddress
billingAddress2
billingCity
billingCompany
billingCountry
billingCountryCode
billingFirstName
billingLastName
billingPostalCode
billingState
cancelReason
cancelledAt
carrier
closedAt
confirmed
createdAt
currency
customerIp
customerNotes
deliveredAt
discountAmount
discountCodes
email
exchangeRate
fulfilledAt
fulfillmentStatus
id
internalNotes
internalOrderNumber
lastSyncedAt
notifyCustomerOnRefund
orderDate
orderNumber
organizationId
paidAt
paymentGateway
paymentMethod
paymentStatus
phone
processedAt
refundedAmount
refunds
restockOnCancel
riskAssessmentDetails
riskLevel
riskRecommendation
shippingAddress
shippingAddress2
shippingCity
shippingCompany
shippingCost
shippingCountry
shippingCountryCode
shippingFirstName
shippingLastName
shippingLines
shippingMethod
shippingPostalCode
shippingState
shopifyLastCancelError
shopifyLastCancelSyncAt
shopifyOrderId
shopifyOrderNumber
source
status
storeId
subtotal
syncError
syncStatus
tags
taxAmount
timeline {
...OrderTimelineEventFragment
}
totalAmount
trackingNumber
trackingUrl
transactions
updatedAt
}
}
Variables
{
"id": "4",
"input": UpdateOrderInput
}
Response
{
"data": {
"updateOrder": {
"Customer": Customer,
"FulfillmentPackages": [FulfillmentPackage],
"OrderComments": [OrderComment],
"OrderLineItems": [OrderLineItem],
"Organization": Organization,
"WarehouseAllocation": OrderWarehouseAllocation,
"billingAddress": "xyz789",
"billingAddress2": "abc123",
"billingCity": "abc123",
"billingCompany": "abc123",
"billingCountry": "xyz789",
"billingCountryCode": "xyz789",
"billingFirstName": "abc123",
"billingLastName": "abc123",
"billingPostalCode": "abc123",
"billingState": "xyz789",
"cancelReason": "abc123",
"cancelledAt": "abc123",
"carrier": "abc123",
"closedAt": "abc123",
"confirmed": true,
"createdAt": "xyz789",
"currency": "abc123",
"customerIp": "xyz789",
"customerNotes": "abc123",
"deliveredAt": "abc123",
"discountAmount": "abc123",
"discountCodes": {},
"email": "abc123",
"exchangeRate": "xyz789",
"fulfilledAt": "abc123",
"fulfillmentStatus": "CANCELLED",
"id": 4,
"internalNotes": "xyz789",
"internalOrderNumber": 987,
"lastSyncedAt": "abc123",
"notifyCustomerOnRefund": true,
"orderDate": "abc123",
"orderNumber": "xyz789",
"organizationId": 4,
"paidAt": "xyz789",
"paymentGateway": "abc123",
"paymentMethod": "xyz789",
"paymentStatus": "AUTHORIZED",
"phone": "abc123",
"processedAt": "abc123",
"refundedAmount": "xyz789",
"refunds": {},
"restockOnCancel": true,
"riskAssessmentDetails": {},
"riskLevel": "xyz789",
"riskRecommendation": "abc123",
"shippingAddress": "abc123",
"shippingAddress2": "xyz789",
"shippingCity": "xyz789",
"shippingCompany": "xyz789",
"shippingCost": "xyz789",
"shippingCountry": "xyz789",
"shippingCountryCode": "xyz789",
"shippingFirstName": "abc123",
"shippingLastName": "abc123",
"shippingLines": {},
"shippingMethod": "abc123",
"shippingPostalCode": "abc123",
"shippingState": "xyz789",
"shopifyLastCancelError": "abc123",
"shopifyLastCancelSyncAt": "abc123",
"shopifyOrderId": "abc123",
"shopifyOrderNumber": "abc123",
"source": "xyz789",
"status": "CANCELLED",
"storeId": "xyz789",
"subtotal": "xyz789",
"syncError": "abc123",
"syncStatus": "abc123",
"tags": ["xyz789"],
"taxAmount": "abc123",
"timeline": [OrderTimelineEvent],
"totalAmount": "abc123",
"trackingNumber": "xyz789",
"trackingUrl": "abc123",
"transactions": {},
"updatedAt": "xyz789"
}
}
}
updateProduct
Description
Update an existing product
Response
Returns a Product
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateProductInput!
|
Example
Query
mutation updateProduct(
$id: ID!,
$input: UpdateProductInput!
) {
updateProduct(
id: $id,
input: $input
) {
Organization {
...OrganizationFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
ProductStoreConnection {
...ProductStoreConnectionFragment
}
SupplierProduct {
...SupplierProductFragment
}
allowBackorder
assemblyMode
availableQuantity
basePrice
brand
bundleComponentCount
bundleDiscountPercent
bundleItems {
...ProductBundleItemFragment
}
bundlePricing
bundledIn {
...ProductBundleItemFragment
}
category
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
defaultVariant {
...ProductVariantFragment
}
description
dimensionUnit
displayTitle
handle
hasOnlyDefaultVariant
height
hsCode
id
images {
...ProductImageFragment
}
isActive
isActiveSKU
isGiftCard
kitInventoryMode
length
lowStockThreshold
metaDescription
metaTitle
option1Name
option2Name
option3Name
optionDefinitions {
...ProductOptionDefinitionFragment
}
organizationId
primaryImage {
...ProductImageFragment
}
primaryImageId
productLocationInventories {
...ProductLocationInventoryFragment
}
productType
productVariants {
...ProductVariantFragment
}
provinceOfOrigin
publishedAt
purchasableItemId
quantity
requiresShipping
reservedQuantity
sku
skuType
slug
status
storeConnections {
...ProductStoreConnectionFragment
}
supplier {
...SupplierFragment
}
supplierId
tags
title
totalQuantity
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
type
updatedAt
warehouseLocation
weight
weightUnit
width
}
}
Variables
{"id": 4, "input": UpdateProductInput}
Response
{
"data": {
"updateProduct": {
"Organization": Organization,
"ProductLocationInventory": [
ProductLocationInventory
],
"ProductStoreConnection": [ProductStoreConnection],
"SupplierProduct": [SupplierProduct],
"allowBackorder": true,
"assemblyMode": "BOTH",
"availableQuantity": 123,
"basePrice": "xyz789",
"brand": "xyz789",
"bundleComponentCount": 987,
"bundleDiscountPercent": "abc123",
"bundleItems": [ProductBundleItem],
"bundlePricing": "CALCULATED",
"bundledIn": [ProductBundleItem],
"category": "abc123",
"compareAtPrice": "abc123",
"costPrice": "abc123",
"countryOfOrigin": "xyz789",
"createdAt": "xyz789",
"customsDescription": "abc123",
"defaultVariant": ProductVariant,
"description": "xyz789",
"dimensionUnit": "CM",
"displayTitle": "abc123",
"handle": "abc123",
"hasOnlyDefaultVariant": false,
"height": "xyz789",
"hsCode": "abc123",
"id": 4,
"images": [ProductImage],
"isActive": true,
"isActiveSKU": false,
"isGiftCard": true,
"kitInventoryMode": "ACTIVE",
"length": "abc123",
"lowStockThreshold": 123,
"metaDescription": "abc123",
"metaTitle": "xyz789",
"option1Name": "abc123",
"option2Name": "abc123",
"option3Name": "xyz789",
"optionDefinitions": [ProductOptionDefinition],
"organizationId": "4",
"primaryImage": ProductImage,
"primaryImageId": "xyz789",
"productLocationInventories": [
ProductLocationInventory
],
"productType": "abc123",
"productVariants": [ProductVariant],
"provinceOfOrigin": "xyz789",
"publishedAt": "xyz789",
"purchasableItemId": "xyz789",
"quantity": 987,
"requiresShipping": false,
"reservedQuantity": 123,
"sku": "abc123",
"skuType": "BUNDLE",
"slug": "xyz789",
"status": "ACTIVE",
"storeConnections": [ProductStoreConnection],
"supplier": Supplier,
"supplierId": "xyz789",
"tags": ["xyz789"],
"title": "abc123",
"totalQuantity": 987,
"trackInventory": false,
"trackInventoryNeedsRestoration": true,
"trackInventoryUserSet": true,
"type": "BUNDLE",
"updatedAt": "xyz789",
"warehouseLocation": "xyz789",
"weight": "xyz789",
"weightUnit": "GRAMS",
"width": "abc123"
}
}
}
updateProductVariant
Description
Update a product variant
Response
Returns a ProductVariant
Arguments
| Name | Description |
|---|---|
id - ID!
|
|
input - UpdateProductVariantInput!
|
Example
Query
mutation updateProductVariant(
$id: ID!,
$input: UpdateProductVariantInput!
) {
updateProductVariant(
id: $id,
input: $input
) {
Product {
...ProductFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
allowBackorder
availableQuantity
barcode
basePrice
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
dimensionUnit
height
hsCode
id
length
lowStockThreshold
option1Value
option2Value
option3Value
organizationId
position
primaryImage {
...ProductImageFragment
}
primaryImageId
productId
provinceOfOrigin
quantity
requiresShipping
reservedQuantity
sku
taxCode
taxable
title
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
updatedAt
weight
weightUnit
width
}
}
Variables
{"id": 4, "input": UpdateProductVariantInput}
Response
{
"data": {
"updateProductVariant": {
"Product": Product,
"ProductLocationInventory": [
ProductLocationInventory
],
"allowBackorder": false,
"availableQuantity": 987,
"barcode": "xyz789",
"basePrice": "abc123",
"compareAtPrice": "xyz789",
"costPrice": "abc123",
"countryOfOrigin": "abc123",
"createdAt": "xyz789",
"customsDescription": "xyz789",
"dimensionUnit": "CM",
"height": "xyz789",
"hsCode": "abc123",
"id": 4,
"length": "abc123",
"lowStockThreshold": 987,
"option1Value": "abc123",
"option2Value": "xyz789",
"option3Value": "abc123",
"organizationId": 4,
"position": 987,
"primaryImage": ProductImage,
"primaryImageId": "abc123",
"productId": 4,
"provinceOfOrigin": "abc123",
"quantity": 987,
"requiresShipping": false,
"reservedQuantity": 123,
"sku": "abc123",
"taxCode": "xyz789",
"taxable": false,
"title": "abc123",
"trackInventory": false,
"trackInventoryNeedsRestoration": false,
"trackInventoryUserSet": true,
"updatedAt": "abc123",
"weight": "xyz789",
"weightUnit": "GRAMS",
"width": "abc123"
}
}
}
updateProductWithVariantMatrix
Description
Atomically update a product, delete specified variants, and create new variants in a single transaction. Emits exactly one PRODUCT_UPDATED event. Use instead of the sequential updateProduct + deleteProductVariant + createProductVariant pattern.
Response
Returns a Product
Arguments
| Name | Description |
|---|---|
createVariants - [CreateProductVariantInput!]!
|
|
deleteVariantIds - [ID!]!
|
|
id - ID!
|
|
input - UpdateProductInput!
|
Example
Query
mutation updateProductWithVariantMatrix(
$createVariants: [CreateProductVariantInput!]!,
$deleteVariantIds: [ID!]!,
$id: ID!,
$input: UpdateProductInput!
) {
updateProductWithVariantMatrix(
createVariants: $createVariants,
deleteVariantIds: $deleteVariantIds,
id: $id,
input: $input
) {
Organization {
...OrganizationFragment
}
ProductLocationInventory {
...ProductLocationInventoryFragment
}
ProductStoreConnection {
...ProductStoreConnectionFragment
}
SupplierProduct {
...SupplierProductFragment
}
allowBackorder
assemblyMode
availableQuantity
basePrice
brand
bundleComponentCount
bundleDiscountPercent
bundleItems {
...ProductBundleItemFragment
}
bundlePricing
bundledIn {
...ProductBundleItemFragment
}
category
compareAtPrice
costPrice
countryOfOrigin
createdAt
customsDescription
defaultVariant {
...ProductVariantFragment
}
description
dimensionUnit
displayTitle
handle
hasOnlyDefaultVariant
height
hsCode
id
images {
...ProductImageFragment
}
isActive
isActiveSKU
isGiftCard
kitInventoryMode
length
lowStockThreshold
metaDescription
metaTitle
option1Name
option2Name
option3Name
optionDefinitions {
...ProductOptionDefinitionFragment
}
organizationId
primaryImage {
...ProductImageFragment
}
primaryImageId
productLocationInventories {
...ProductLocationInventoryFragment
}
productType
productVariants {
...ProductVariantFragment
}
provinceOfOrigin
publishedAt
purchasableItemId
quantity
requiresShipping
reservedQuantity
sku
skuType
slug
status
storeConnections {
...ProductStoreConnectionFragment
}
supplier {
...SupplierFragment
}
supplierId
tags
title
totalQuantity
trackInventory
trackInventoryNeedsRestoration
trackInventoryUserSet
type
updatedAt
warehouseLocation
weight
weightUnit
width
}
}
Variables
{
"createVariants": [CreateProductVariantInput],
"deleteVariantIds": ["4"],
"id": 4,
"input": UpdateProductInput
}
Response
{
"data": {
"updateProductWithVariantMatrix": {
"Organization": Organization,
"ProductLocationInventory": [
ProductLocationInventory
],
"ProductStoreConnection": [ProductStoreConnection],
"SupplierProduct": [SupplierProduct],
"allowBackorder": false,
"assemblyMode": "BOTH",
"availableQuantity": 123,
"basePrice": "xyz789",
"brand": "xyz789",
"bundleComponentCount": 123,
"bundleDiscountPercent": "xyz789",
"bundleItems": [ProductBundleItem],
"bundlePricing": "CALCULATED",
"bundledIn": [ProductBundleItem],
"category": "xyz789",
"compareAtPrice": "abc123",
"costPrice": "abc123",
"countryOfOrigin": "abc123",
"createdAt": "xyz789",
"customsDescription": "xyz789",
"defaultVariant": ProductVariant,
"description": "xyz789",
"dimensionUnit": "CM",
"displayTitle": "xyz789",
"handle": "abc123",
"hasOnlyDefaultVariant": true,
"height": "xyz789",
"hsCode": "xyz789",
"id": 4,
"images": [ProductImage],
"isActive": true,
"isActiveSKU": false,
"isGiftCard": true,
"kitInventoryMode": "ACTIVE",
"length": "abc123",
"lowStockThreshold": 987,
"metaDescription": "abc123",
"metaTitle": "xyz789",
"option1Name": "xyz789",
"option2Name": "abc123",
"option3Name": "xyz789",
"optionDefinitions": [ProductOptionDefinition],
"organizationId": "4",
"primaryImage": ProductImage,
"primaryImageId": "abc123",
"productLocationInventories": [
ProductLocationInventory
],
"productType": "abc123",
"productVariants": [ProductVariant],
"provinceOfOrigin": "abc123",
"publishedAt": "abc123",
"purchasableItemId": "xyz789",
"quantity": 123,
"requiresShipping": true,
"reservedQuantity": 987,
"sku": "xyz789",
"skuType": "BUNDLE",
"slug": "xyz789",
"status": "ACTIVE",
"storeConnections": [ProductStoreConnection],
"supplier": Supplier,
"supplierId": "abc123",
"tags": ["xyz789"],
"title": "abc123",
"totalQuantity": 987,
"trackInventory": true,
"trackInventoryNeedsRestoration": false,
"trackInventoryUserSet": false,
"type": "BUNDLE",
"updatedAt": "xyz789",
"warehouseLocation": "xyz789",
"weight": "abc123",
"weightUnit": "GRAMS",
"width": "abc123"
}
}
}
updateSupplementalFulfillment
Description
Update measurements/reason/carrier on an in-flight supplemental package
Response
Returns a FulfillmentPackage
Arguments
| Name | Description |
|---|---|
input - UpdateSupplementalFulfillmentInput!
|
Example
Query
mutation updateSupplementalFulfillment($input: UpdateSupplementalFulfillmentInput!) {
updateSupplementalFulfillment(input: $input) {
Images {
...FulfillmentImageFragment
}
Order {
...OrderFragment
}
PackageItems {
...FulfillmentPackageItemFragment
}
actualDeliveryDate
calculatedWeight
canRetryFulfillment
carrier
carrierConnectionId
carrierStatusCode
carrierStatusDescription
combinedAt
combinedById
combinedWithOrderIds
confirmationCost
createdAt
customerNotified
customerNotifiedAt
declaredWeight
deliveredAt
estimatedDeliveryDate
externalLabelId
externalShipmentId
fulfillmentCompletedAt
fulfillmentError
fulfillmentErrorStep
fulfillmentStartedAt
fulfillmentStatusEnum
handoffMethod
handoffNote
hasLabel
height
id
insuranceCost
isDelivered
isManualFulfillment
isSupplemental
labelFile {
...FileFragment
}
labelFileId
labelFormat
labelPrintedAt
labelPurchasedAt
labelPurchasedById
labelUrl
labelVoidedAt
length
manualFulfillmentReason
notifyCustomer
orderId
organizationId
packageNumber
printFirstPageOnly
scaleWeight
serviceCode
serviceName
serviceOptions
shipmentGroupId
shipmentGroupRole
shippedAt
shippingCost
shopifyFulfillmentId
shopifyLastSyncAt
shopifyLastSyncError
shopifySyncAttempts
stationeryType
stationeryTypeId
status
stepLabelPrintStatus
stepLabelPurchaseStatus
stepLocalFulfillmentStatus
stepStoreSyncStatus
supplementalReason
trackingException
trackingLastUpdatedAt
trackingNumber
trackingStatus
trackingStatusDescription
trackingUrl
uncombinedAt
uncombinedById
uncombinedReason
updatedAt
width
}
}
Variables
{"input": UpdateSupplementalFulfillmentInput}
Response
{
"data": {
"updateSupplementalFulfillment": {
"Images": [FulfillmentImage],
"Order": Order,
"PackageItems": [FulfillmentPackageItem],
"actualDeliveryDate": "xyz789",
"calculatedWeight": "xyz789",
"canRetryFulfillment": true,
"carrier": "xyz789",
"carrierConnectionId": "xyz789",
"carrierStatusCode": "abc123",
"carrierStatusDescription": "abc123",
"combinedAt": "abc123",
"combinedById": "abc123",
"combinedWithOrderIds": "xyz789",
"confirmationCost": "xyz789",
"createdAt": "abc123",
"customerNotified": false,
"customerNotifiedAt": "xyz789",
"declaredWeight": "abc123",
"deliveredAt": "abc123",
"estimatedDeliveryDate": "abc123",
"externalLabelId": "abc123",
"externalShipmentId": "xyz789",
"fulfillmentCompletedAt": "xyz789",
"fulfillmentError": "xyz789",
"fulfillmentErrorStep": "LABEL_PRINT",
"fulfillmentStartedAt": "abc123",
"fulfillmentStatusEnum": "COMPLETED",
"handoffMethod": "CARRIER_TRACKED",
"handoffNote": "abc123",
"hasLabel": true,
"height": "abc123",
"id": 4,
"insuranceCost": "xyz789",
"isDelivered": false,
"isManualFulfillment": false,
"isSupplemental": false,
"labelFile": File,
"labelFileId": "abc123",
"labelFormat": "xyz789",
"labelPrintedAt": "abc123",
"labelPurchasedAt": "xyz789",
"labelPurchasedById": "xyz789",
"labelUrl": "xyz789",
"labelVoidedAt": "xyz789",
"length": "xyz789",
"manualFulfillmentReason": "abc123",
"notifyCustomer": false,
"orderId": "xyz789",
"organizationId": "abc123",
"packageNumber": 987,
"printFirstPageOnly": false,
"scaleWeight": "xyz789",
"serviceCode": "abc123",
"serviceName": "xyz789",
"serviceOptions": "abc123",
"shipmentGroupId": "abc123",
"shipmentGroupRole": "xyz789",
"shippedAt": "abc123",
"shippingCost": "abc123",
"shopifyFulfillmentId": "abc123",
"shopifyLastSyncAt": "xyz789",
"shopifyLastSyncError": "abc123",
"shopifySyncAttempts": 123,
"stationeryType": "abc123",
"stationeryTypeId": "xyz789",
"status": "CANCELLED",
"stepLabelPrintStatus": "COMPLETED",
"stepLabelPurchaseStatus": "COMPLETED",
"stepLocalFulfillmentStatus": "COMPLETED",
"stepStoreSyncStatus": "COMPLETED",
"supplementalReason": "abc123",
"trackingException": "abc123",
"trackingLastUpdatedAt": "abc123",
"trackingNumber": "abc123",
"trackingStatus": "abc123",
"trackingStatusDescription": "abc123",
"trackingUrl": "abc123",
"uncombinedAt": "xyz789",
"uncombinedById": "xyz789",
"uncombinedReason": "xyz789",
"updatedAt": "xyz789",
"width": "abc123"
}
}
}
verifyEmail
Description
Verify email address with token from verification email
Response
Returns a VerificationRequest
Arguments
| Name | Description |
|---|---|
token - String!
|
Example
Query
mutation verifyEmail($token: String!) {
verifyEmail(token: $token) {
message
success
}
}
Variables
{"token": "xyz789"}
Response
{
"data": {
"verifyEmail": {
"message": "xyz789",
"success": true
}
}
}
Types
Address
Description
A reusable address record (physical or mailing)
Fields
| Field Name | Description |
|---|---|
address - String
|
|
address2 - String
|
|
city - String
|
|
contactEmail - String
|
|
contactName - String
|
|
contactPhone - String
|
|
country - String
|
|
countryCode - String
|
|
createdAt - String
|
|
id - ID
|
|
label - String
|
|
organizationId - ID
|
|
postalCode - String
|
|
state - String
|
|
stateCode - String
|
|
updatedAt - String
|
Example
{
"address": "abc123",
"address2": "abc123",
"city": "xyz789",
"contactEmail": "abc123",
"contactName": "xyz789",
"contactPhone": "xyz789",
"country": "xyz789",
"countryCode": "xyz789",
"createdAt": "abc123",
"id": 4,
"label": "xyz789",
"organizationId": "4",
"postalCode": "abc123",
"state": "abc123",
"stateCode": "abc123",
"updatedAt": "abc123"
}
AddressInput
Example
{
"address1": "abc123",
"address2": "abc123",
"city": "abc123",
"company": "abc123",
"country": "xyz789",
"countryCode": "xyz789",
"firstName": "abc123",
"lastName": "abc123",
"phone": "abc123",
"postalCode": "xyz789",
"province": "abc123",
"state": "xyz789",
"zip": "abc123"
}
AllocationStatus
Description
Status of order-warehouse allocation for fulfillment
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ALLOCATED"
AuthPayload
Boolean
Description
The Boolean scalar type represents true or false.
Example
true
BundlePricingType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CALCULATED"
CommentAuthor
ComponentLocation
Description
Location of a kit component in the warehouse
Example
{
"areaId": "abc123",
"areaName": "abc123",
"binId": "xyz789",
"binName": "abc123",
"quantityAtLocation": 987,
"shelfId": "xyz789",
"shelfName": "abc123",
"warehouseLocationId": "xyz789",
"warehouseLocationName": "xyz789"
}
CreateOrderInput
Fields
| Input Field | Description |
|---|---|
billingAddress - AddressInput
|
|
cancelReason - String
|
|
cancelledAt - String
|
|
carrier - String
|
|
closedAt - String
|
|
confirmed - Boolean
|
|
currency - String!
|
|
customerId - ID
|
|
customerIp - String
|
|
customerNotes - String
|
|
deliveredAt - String
|
|
discountAmount - String
|
|
discountCodes - JSON
|
|
email - String
|
|
exchangeRate - String
|
|
fulfilledAt - String
|
|
fulfillmentStatus - String
|
|
internalNotes - String
|
|
lineItems - [LineItemInput!]
|
|
metadata - JSON
|
|
notifyCustomerOnRefund - Boolean
|
|
orderDate - String
|
|
orderNumber - String!
|
|
organizationId - ID!
|
|
paidAt - String
|
|
paymentGateway - String
|
|
paymentMethod - String
|
|
paymentStatus - String
|
|
phone - String
|
|
processedAt - String
|
|
refundedAmount - String
|
|
refunds - JSON
|
|
restockOnCancel - Boolean
|
|
riskAssessmentDetails - JSON
|
|
riskLevel - String
|
|
riskRecommendation - String
|
|
shippingAddress - AddressInput
|
|
shippingCost - String
|
|
shippingLines - JSON
|
|
shippingMethod - String
|
|
shopifyOrderId - String
|
|
shopifyOrderNumber - String
|
|
shopifyUpdatedAt - String
|
|
source - String
|
|
status - String
|
|
storeId - String
|
|
subtotal - String!
|
|
tags - [String!]
|
|
taxAmount - String
|
|
totalAmount - String!
|
|
trackingNumber - String
|
|
trackingUrl - String
|
|
transactions - JSON
|
Example
{
"billingAddress": AddressInput,
"cancelReason": "abc123",
"cancelledAt": "xyz789",
"carrier": "abc123",
"closedAt": "abc123",
"confirmed": false,
"currency": "xyz789",
"customerId": "4",
"customerIp": "abc123",
"customerNotes": "abc123",
"deliveredAt": "abc123",
"discountAmount": "xyz789",
"discountCodes": {},
"email": "xyz789",
"exchangeRate": "xyz789",
"fulfilledAt": "xyz789",
"fulfillmentStatus": "abc123",
"internalNotes": "xyz789",
"lineItems": [LineItemInput],
"metadata": {},
"notifyCustomerOnRefund": false,
"orderDate": "abc123",
"orderNumber": "xyz789",
"organizationId": "4",
"paidAt": "abc123",
"paymentGateway": "abc123",
"paymentMethod": "xyz789",
"paymentStatus": "abc123",
"phone": "abc123",
"processedAt": "abc123",
"refundedAmount": "xyz789",
"refunds": {},
"restockOnCancel": false,
"riskAssessmentDetails": {},
"riskLevel": "abc123",
"riskRecommendation": "abc123",
"shippingAddress": AddressInput,
"shippingCost": "xyz789",
"shippingLines": {},
"shippingMethod": "abc123",
"shopifyOrderId": "xyz789",
"shopifyOrderNumber": "abc123",
"shopifyUpdatedAt": "abc123",
"source": "abc123",
"status": "xyz789",
"storeId": "abc123",
"subtotal": "abc123",
"tags": ["abc123"],
"taxAmount": "abc123",
"totalAmount": "abc123",
"trackingNumber": "xyz789",
"trackingUrl": "xyz789",
"transactions": {}
}
CreateOrderRefundInput
Example
{
"amount": "xyz789",
"notifyCustomerOnRefund": false,
"orderId": 4,
"organizationId": "4",
"reason": "xyz789",
"refundLineItems": [CreateOrderRefundLineItemInput]
}
CreateOrderRefundLineItemInput
CreateProductInput
Fields
| Input Field | Description |
|---|---|
allowBackorder - Boolean
|
|
barcode - String
|
|
basePrice - String
|
|
brand - String
|
|
bundleItems - [ProductBundleItemInput!]
|
|
bundlePricing - String
|
|
category - String
|
|
compareAtPrice - String
|
|
costPrice - String
|
|
countryOfOrigin - String
|
|
customsDescription - String
|
|
description - String
|
|
dimensionUnit - String
|
|
handle - String
|
|
hasOnlyDefaultVariant - Boolean
|
|
height - String
|
|
hsCode - String
|
|
isGiftCard - Boolean
|
|
length - String
|
|
lowStockThreshold - Int
|
|
metaDescription - String
|
|
metaTitle - String
|
|
option1Name - String
|
|
option1Values - [String!]
|
|
option2Name - String
|
|
option2Values - [String!]
|
|
option3Name - String
|
|
option3Values - [String!]
|
|
organizationId - ID!
|
|
primaryImageId - ID
|
|
productType - String
|
|
provinceOfOrigin - String
|
|
publishedAt - String
|
|
quantity - Int
|
|
requiresShipping - Boolean
|
|
reservedQuantity - Int
|
|
shopifyUpdatedAt - String
|
|
sku - String
|
|
slug - String
|
|
status - String
|
|
supplierId - ID
|
|
tags - [String!]
|
|
taxable - Boolean
|
|
title - String!
|
|
trackInventory - Boolean
|
|
type - String
|
|
weight - String
|
|
weightUnit - String
|
|
width - String
|
Example
{
"allowBackorder": true,
"barcode": "abc123",
"basePrice": "xyz789",
"brand": "abc123",
"bundleItems": [ProductBundleItemInput],
"bundlePricing": "abc123",
"category": "abc123",
"compareAtPrice": "abc123",
"costPrice": "xyz789",
"countryOfOrigin": "abc123",
"customsDescription": "xyz789",
"description": "xyz789",
"dimensionUnit": "abc123",
"handle": "xyz789",
"hasOnlyDefaultVariant": true,
"height": "xyz789",
"hsCode": "xyz789",
"isGiftCard": false,
"length": "abc123",
"lowStockThreshold": 123,
"metaDescription": "abc123",
"metaTitle": "abc123",
"option1Name": "abc123",
"option1Values": ["abc123"],
"option2Name": "abc123",
"option2Values": ["abc123"],
"option3Name": "abc123",
"option3Values": ["abc123"],
"organizationId": "4",
"primaryImageId": 4,
"productType": "xyz789",
"provinceOfOrigin": "xyz789",
"publishedAt": "xyz789",
"quantity": 123,
"requiresShipping": true,
"reservedQuantity": 123,
"shopifyUpdatedAt": "xyz789",
"sku": "abc123",
"slug": "xyz789",
"status": "xyz789",
"supplierId": "4",
"tags": ["abc123"],
"taxable": true,
"title": "abc123",
"trackInventory": true,
"type": "abc123",
"weight": "xyz789",
"weightUnit": "abc123",
"width": "abc123"
}
CreateProductVariantInput
Fields
| Input Field | Description |
|---|---|
allowBackorder - Boolean
|
|
barcode - String
|
|
basePrice - String
|
|
compareAtPrice - String
|
|
costPrice - String
|
|
countryOfOrigin - String
|
|
customsDescription - String
|
|
dimensionUnit - String
|
|
height - String
|
|
hsCode - String
|
|
length - String
|
|
lowStockThreshold - Int
|
|
option1Value - String
|
|
option2Value - String
|
|
option3Value - String
|
|
organizationId - ID!
|
|
position - Int
|
|
primaryImageId - String
|
|
productId - ID!
|
|
provinceOfOrigin - String
|
|
quantity - Int
|
|
requiresShipping - Boolean
|
|
sku - String
|
|
taxCode - String
|
|
taxable - Boolean
|
|
title - String!
|
|
trackInventory - Boolean
|
|
weight - String
|
|
weightUnit - String
|
|
width - String
|
Example
{
"allowBackorder": true,
"barcode": "abc123",
"basePrice": "abc123",
"compareAtPrice": "abc123",
"costPrice": "abc123",
"countryOfOrigin": "abc123",
"customsDescription": "abc123",
"dimensionUnit": "xyz789",
"height": "xyz789",
"hsCode": "xyz789",
"length": "abc123",
"lowStockThreshold": 987,
"option1Value": "xyz789",
"option2Value": "abc123",
"option3Value": "xyz789",
"organizationId": 4,
"position": 123,
"primaryImageId": "abc123",
"productId": 4,
"provinceOfOrigin": "xyz789",
"quantity": 123,
"requiresShipping": false,
"sku": "xyz789",
"taxCode": "abc123",
"taxable": false,
"title": "abc123",
"trackInventory": false,
"weight": "xyz789",
"weightUnit": "xyz789",
"width": "xyz789"
}
CreateSupplementalFulfillmentInput
Fields
| Input Field | Description |
|---|---|
carrier - String
|
Carrier connection ID |
declaredWeight - Float
|
Package weight in KG |
height - Float
|
Package height in cm |
items - [SupplementalItemInput!]!
|
|
length - Float
|
Package length in cm |
orderId - ID!
|
|
reason - String!
|
|
scaleWeight - Float
|
Scale-measured weight in KG |
serviceCode - String
|
Carrier service code |
serviceName - String
|
Carrier service display name |
stationeryType - String
|
Stationery/packaging type name |
stationeryTypeId - String
|
Stationery record ID |
width - Float
|
Package width in cm |
Example
{
"carrier": "xyz789",
"declaredWeight": 123.45,
"height": 987.65,
"items": [SupplementalItemInput],
"length": 987.65,
"orderId": 4,
"reason": "xyz789",
"scaleWeight": 123.45,
"serviceCode": "xyz789",
"serviceName": "xyz789",
"stationeryType": "abc123",
"stationeryTypeId": "abc123",
"width": 123.45
}
Customer
Description
A customer with contact information and order history
Fields
| Field Name | Description |
|---|---|
Orders - [Order!]
|
|
activities - [CustomerActivity!]
|
Chronological timeline of customer activities |
Arguments
|
|
addresses - [CustomerAddress!]
|
All addresses associated with this customer (Shopify-aligned N-address model) |
averageOrderValue - String
|
|
comments - [CustomerComment!]
|
Comments on this customer |
Arguments
|
|
company - String
|
|
contactPersonEmail - String
|
|
contactPersonName - String
|
|
contactPersonPhone - String
|
|
contactPersonTitle - String
|
|
createdAt - String
|
|
customerSinceDays - Int
|
Number of days since customer was created |
customerType - String
|
|
displayName - String
|
Display name for the customer. BUSINESS: company, falling back to name (legacy column) or email or "Customer" if company is empty/whitespace. INDIVIDUAL: firstName + lastName, falling back to name (legacy column) or email or "Customer" if those are empty. |
email - String
|
|
emailMarketingConsentUpdatedAt - String
|
|
emailMarketingOptInLevel - String
|
|
emailMarketingState - String
|
|
firstName - String
|
|
firstOrderDate - String
|
Date of the customer's first order |
hasCompleteDefaultAddress - Boolean
|
Whether the customer has a default address with all fields required for shipping (address1, city, province, zip, country) |
id - ID
|
|
isActive - Boolean
|
|
lastName - String
|
|
lastOrderDate - String
|
Date of the customer's most recent order |
lastSyncedAt - String
|
|
locale - String
|
|
metadata - JSON
|
|
name - String
|
|
notes - String
|
|
orderCount - Int
|
Number of orders for this customer (computed from Orders relation) |
orderStats - CustomerOrderStats
|
Computed order statistics aggregated from actual orders |
organization - Organization
|
|
phone - String
|
|
recentOrders - [Order!]
|
Recent orders for this customer |
Arguments
|
|
shopifyCustomerId - String
|
|
shopifyTags - [String!]
|
|
smsMarketingConsentUpdatedAt - String
|
|
smsMarketingOptInLevel - String
|
|
smsMarketingState - String
|
|
state - CustomerState
|
|
syncError - String
|
|
syncStatus - String
|
|
tags - [String!]
|
|
taxExempt - Boolean
|
|
totalSpent - String
|
|
totalSpentCurrency - String
|
|
updatedAt - String
|
|
verifiedEmail - Boolean
|
|
Example
{
"Orders": [Order],
"activities": [CustomerActivity],
"addresses": [CustomerAddress],
"averageOrderValue": "abc123",
"comments": [CustomerComment],
"company": "abc123",
"contactPersonEmail": "abc123",
"contactPersonName": "xyz789",
"contactPersonPhone": "abc123",
"contactPersonTitle": "abc123",
"createdAt": "xyz789",
"customerSinceDays": 987,
"customerType": "abc123",
"displayName": "xyz789",
"email": "abc123",
"emailMarketingConsentUpdatedAt": "abc123",
"emailMarketingOptInLevel": "xyz789",
"emailMarketingState": "abc123",
"firstName": "xyz789",
"firstOrderDate": "xyz789",
"hasCompleteDefaultAddress": false,
"id": 4,
"isActive": false,
"lastName": "abc123",
"lastOrderDate": "xyz789",
"lastSyncedAt": "abc123",
"locale": "abc123",
"metadata": {},
"name": "abc123",
"notes": "abc123",
"orderCount": 123,
"orderStats": CustomerOrderStats,
"organization": Organization,
"phone": "abc123",
"recentOrders": [Order],
"shopifyCustomerId": "abc123",
"shopifyTags": ["abc123"],
"smsMarketingConsentUpdatedAt": "xyz789",
"smsMarketingOptInLevel": "xyz789",
"smsMarketingState": "abc123",
"state": "DECLINED",
"syncError": "abc123",
"syncStatus": "xyz789",
"tags": ["abc123"],
"taxExempt": true,
"totalSpent": "abc123",
"totalSpentCurrency": "abc123",
"updatedAt": "xyz789",
"verifiedEmail": true
}
CustomerActivity
Description
A single activity in the customer timeline
Example
{
"description": "xyz789",
"icon": "abc123",
"id": "xyz789",
"metadata": {},
"timestamp": "xyz789",
"title": "xyz789",
"type": "COMMENT_ADDED"
}
CustomerActivityType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"COMMENT_ADDED"
CustomerAddress
Description
A mailing address on a customer. Mirrors Shopify's MailingAddress under Customer.addressesV2. Each customer can have N addresses with at most one marked isDefault.
Fields
| Field Name | Description |
|---|---|
Customer - Customer
|
|
address1 - String
|
|
address2 - String
|
|
city - String
|
|
company - String
|
|
country - String
|
|
countryCodeV2 - String
|
|
createdAt - String
|
|
customerId - String
|
|
firstName - String
|
|
id - ID
|
|
isDefault - Boolean
|
|
lastName - String
|
|
lastSyncedAt - String
|
|
phone - String
|
|
province - String
|
|
provinceCode - String
|
|
shopifyAddressId - String
|
|
shopifyUpdatedAt - String
|
|
updatedAt - String
|
|
zip - String
|
Example
{
"Customer": Customer,
"address1": "abc123",
"address2": "xyz789",
"city": "abc123",
"company": "abc123",
"country": "xyz789",
"countryCodeV2": "xyz789",
"createdAt": "xyz789",
"customerId": "xyz789",
"firstName": "abc123",
"id": 4,
"isDefault": false,
"lastName": "xyz789",
"lastSyncedAt": "xyz789",
"phone": "xyz789",
"province": "xyz789",
"provinceCode": "abc123",
"shopifyAddressId": "abc123",
"shopifyUpdatedAt": "xyz789",
"updatedAt": "xyz789",
"zip": "xyz789"
}
CustomerAddressInput
Fields
| Input Field | Description |
|---|---|
address1 - String
|
|
address2 - String
|
|
city - String
|
|
company - String
|
|
country - String
|
|
countryCodeV2 - String
|
|
firstName - String
|
|
isDefault - Boolean
|
|
lastName - String
|
|
phone - String
|
|
province - String
|
|
provinceCode - String
|
|
shopifyAddressId - String
|
|
shopifyUpdatedAt - String
|
|
zip - String
|
Example
{
"address1": "xyz789",
"address2": "abc123",
"city": "abc123",
"company": "xyz789",
"country": "abc123",
"countryCodeV2": "xyz789",
"firstName": "xyz789",
"isDefault": true,
"lastName": "abc123",
"phone": "abc123",
"province": "abc123",
"provinceCode": "xyz789",
"shopifyAddressId": "xyz789",
"shopifyUpdatedAt": "abc123",
"zip": "xyz789"
}
CustomerComment
Description
Internal comment on a customer
Example
{
"Author": User,
"Customer": Customer,
"authorId": "abc123",
"content": "abc123",
"createdAt": "xyz789",
"customerId": "xyz789",
"id": "4",
"isInternal": false,
"isPinned": false,
"organizationId": "abc123",
"updatedAt": "abc123"
}
CustomerOrderStats
Description
Computed order statistics for a customer
Fields
| Field Name | Description |
|---|---|
averageOrderValue - String
|
Average order value (as string for precision) |
grossProfit - String
|
Total gross profit (revenue - cost) for items with cost data |
itemsWithoutCost - Int
|
Number of line items without cost data (cannot calculate profit) |
orderCount - Int
|
Total number of orders |
ordersCancelled - Int
|
Number of cancelled orders |
totalCost - String
|
Total cost of goods sold for items with cost data |
totalSpent - String
|
Total amount spent (as string for precision) |
Example
{
"averageOrderValue": "xyz789",
"grossProfit": "abc123",
"itemsWithoutCost": 987,
"orderCount": 123,
"ordersCancelled": 123,
"totalCost": "xyz789",
"totalSpent": "xyz789"
}
CustomerState
Description
Shopify customer account state. Mirrors Customer.state from the Shopify Admin API.
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"DECLINED"
DateRangeInput
DimensionUnit
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"CM"
File
Fields
| Field Name | Description |
|---|---|
accessLevel - String
|
|
createdAt - String
|
|
domain - String
|
|
fileSize - Int
|
|
filename - String
|
|
id - ID
|
|
mimeType - String
|
|
organizationId - String
|
|
originalName - String
|
|
signedUrl - String
|
Time-limited signed URL for private files. Null for public files. |
storagePath - String
|
|
storageUrl - String
|
|
updatedAt - String
|
Example
{
"accessLevel": "abc123",
"createdAt": "abc123",
"domain": "abc123",
"fileSize": 123,
"filename": "abc123",
"id": 4,
"mimeType": "abc123",
"organizationId": "abc123",
"originalName": "xyz789",
"signedUrl": "abc123",
"storagePath": "xyz789",
"storageUrl": "xyz789",
"updatedAt": "xyz789"
}
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.
Example
987.65
FulfillmentImage
Description
An image captured during fulfillment (per-package or per-item)
Fields
| Field Name | Description |
|---|---|
File - File
|
|
Package - FulfillmentPackage
|
|
PackageItem - FulfillmentPackageItem
|
|
capturedBy - String
|
|
createdAt - String
|
|
fileId - String
|
|
id - ID
|
|
note - String
|
|
packageId - String
|
|
packageItemId - String
|
Example
{
"File": File,
"Package": FulfillmentPackage,
"PackageItem": FulfillmentPackageItem,
"capturedBy": "xyz789",
"createdAt": "abc123",
"fileId": "xyz789",
"id": 4,
"note": "xyz789",
"packageId": "xyz789",
"packageItemId": "abc123"
}
FulfillmentPackage
Description
A package/parcel in a shipment
Fields
| Field Name | Description |
|---|---|
Images - [FulfillmentImage!]
|
|
Order - Order
|
|
PackageItems - [FulfillmentPackageItem!]
|
|
actualDeliveryDate - String
|
|
calculatedWeight - String
|
|
canRetryFulfillment - Boolean
|
|
carrier - String
|
|
carrierConnectionId - String
|
|
carrierStatusCode - String
|
|
carrierStatusDescription - String
|
|
combinedAt - String
|
|
combinedById - String
|
|
combinedWithOrderIds - String
|
|
confirmationCost - String
|
|
createdAt - String
|
|
customerNotified - Boolean
|
|
customerNotifiedAt - String
|
|
declaredWeight - String
|
|
deliveredAt - String
|
|
estimatedDeliveryDate - String
|
|
externalLabelId - String
|
|
externalShipmentId - String
|
|
fulfillmentCompletedAt - String
|
|
fulfillmentError - String
|
|
fulfillmentErrorStep - FulfillmentStep
|
|
fulfillmentStartedAt - String
|
|
fulfillmentStatusEnum - PackageFulfillmentStatus
|
|
handoffMethod - HandoffMethod
|
|
handoffNote - String
|
|
hasLabel - Boolean
|
|
height - String
|
|
id - ID
|
|
insuranceCost - String
|
|
isDelivered - Boolean
|
|
isManualFulfillment - Boolean
|
|
isSupplemental - Boolean
|
|
labelFile - File
|
|
labelFileId - String
|
|
labelFormat - String
|
|
labelPrintedAt - String
|
|
labelPurchasedAt - String
|
|
labelPurchasedById - String
|
|
labelUrl - String
|
|
labelVoidedAt - String
|
|
length - String
|
|
manualFulfillmentReason - String
|
|
notifyCustomer - Boolean
|
|
orderId - String
|
|
organizationId - String
|
|
packageNumber - Int
|
|
printFirstPageOnly - Boolean
|
|
scaleWeight - String
|
|
serviceCode - String
|
|
serviceName - String
|
|
serviceOptions - String
|
|
shipmentGroupId - String
|
|
shipmentGroupRole - String
|
|
shippedAt - String
|
|
shippingCost - String
|
|
shopifyFulfillmentId - String
|
|
shopifyLastSyncAt - String
|
|
shopifyLastSyncError - String
|
|
shopifySyncAttempts - Int
|
|
stationeryType - String
|
|
stationeryTypeId - String
|
|
status - PackageStatus
|
|
stepLabelPrintStatus - StepStatus
|
|
stepLabelPurchaseStatus - StepStatus
|
|
stepLocalFulfillmentStatus - StepStatus
|
|
stepStoreSyncStatus - StepStatus
|
|
supplementalReason - String
|
|
trackingException - String
|
|
trackingLastUpdatedAt - String
|
|
trackingNumber - String
|
|
trackingStatus - String
|
|
trackingStatusDescription - String
|
|
trackingUrl - String
|
|
uncombinedAt - String
|
|
uncombinedById - String
|
|
uncombinedReason - String
|
|
updatedAt - String
|
|
width - String
|
Example
{
"Images": [FulfillmentImage],
"Order": Order,
"PackageItems": [FulfillmentPackageItem],
"actualDeliveryDate": "abc123",
"calculatedWeight": "xyz789",
"canRetryFulfillment": false,
"carrier": "abc123",
"carrierConnectionId": "abc123",
"carrierStatusCode": "abc123",
"carrierStatusDescription": "abc123",
"combinedAt": "xyz789",
"combinedById": "abc123",
"combinedWithOrderIds": "abc123",
"confirmationCost": "abc123",
"createdAt": "xyz789",
"customerNotified": false,
"customerNotifiedAt": "abc123",
"declaredWeight": "abc123",
"deliveredAt": "abc123",
"estimatedDeliveryDate": "abc123",
"externalLabelId": "xyz789",
"externalShipmentId": "abc123",
"fulfillmentCompletedAt": "abc123",
"fulfillmentError": "xyz789",
"fulfillmentErrorStep": "LABEL_PRINT",
"fulfillmentStartedAt": "xyz789",
"fulfillmentStatusEnum": "COMPLETED",
"handoffMethod": "CARRIER_TRACKED",
"handoffNote": "abc123",
"hasLabel": false,
"height": "xyz789",
"id": 4,
"insuranceCost": "xyz789",
"isDelivered": true,
"isManualFulfillment": true,
"isSupplemental": false,
"labelFile": File,
"labelFileId": "xyz789",
"labelFormat": "abc123",
"labelPrintedAt": "abc123",
"labelPurchasedAt": "abc123",
"labelPurchasedById": "xyz789",
"labelUrl": "abc123",
"labelVoidedAt": "abc123",
"length": "xyz789",
"manualFulfillmentReason": "abc123",
"notifyCustomer": true,
"orderId": "xyz789",
"organizationId": "abc123",
"packageNumber": 123,
"printFirstPageOnly": true,
"scaleWeight": "xyz789",
"serviceCode": "xyz789",
"serviceName": "xyz789",
"serviceOptions": "xyz789",
"shipmentGroupId": "xyz789",
"shipmentGroupRole": "abc123",
"shippedAt": "abc123",
"shippingCost": "xyz789",
"shopifyFulfillmentId": "abc123",
"shopifyLastSyncAt": "abc123",
"shopifyLastSyncError": "xyz789",
"shopifySyncAttempts": 123,
"stationeryType": "xyz789",
"stationeryTypeId": "abc123",
"status": "CANCELLED",
"stepLabelPrintStatus": "COMPLETED",
"stepLabelPurchaseStatus": "COMPLETED",
"stepLocalFulfillmentStatus": "COMPLETED",
"stepStoreSyncStatus": "COMPLETED",
"supplementalReason": "abc123",
"trackingException": "xyz789",
"trackingLastUpdatedAt": "xyz789",
"trackingNumber": "xyz789",
"trackingStatus": "xyz789",
"trackingStatusDescription": "xyz789",
"trackingUrl": "xyz789",
"uncombinedAt": "abc123",
"uncombinedById": "abc123",
"uncombinedReason": "abc123",
"updatedAt": "xyz789",
"width": "xyz789"
}
FulfillmentPackageItem
Description
An item allocated to a fulfillment package
Fields
| Field Name | Description |
|---|---|
Images - [FulfillmentImage!]
|
|
LineItem - OrderLineItem
|
|
Package - FulfillmentPackage
|
|
createdAt - String
|
|
id - ID
|
|
inventoryAction - InventoryAction
|
|
lineItemId - String
|
|
packageId - String
|
|
quantity - Int
|
|
supplementalItemType - SupplementalItemType
|
|
updatedAt - String
|
Example
{
"Images": [FulfillmentImage],
"LineItem": OrderLineItem,
"Package": FulfillmentPackage,
"createdAt": "abc123",
"id": "4",
"inventoryAction": "DEDUCT",
"lineItemId": "xyz789",
"packageId": "abc123",
"quantity": 987,
"supplementalItemType": "COMPLIMENTARY",
"updatedAt": "abc123"
}
FulfillmentStep
Description
Steps in the fulfillment process
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"LABEL_PRINT"
HandoffMethod
Description
How a fulfillment package was handed off to the carrier
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CARRIER_TRACKED"
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
4
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
InventoryAction
Description
Whether to deduct inventory for this item
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"DEDUCT"
InventoryReceipt
Description
Inventory receipt for receiving products
Fields
| Field Name | Description |
|---|---|
InventoryReceiptItems - [InventoryReceiptItem!]
|
|
Organization - Organization
|
|
PurchaseOrder - PurchaseOrder
|
|
ReceivedBy - User
|
|
WarehouseLocation - WarehouseLocation
|
|
createdAt - String
|
|
discrepancyNotes - String
|
|
hasDiscrepancies - Boolean
|
|
id - ID
|
|
itemCount - Int
|
|
notes - String
|
|
organizationId - ID
|
|
purchaseOrderId - String
|
|
receiptNumber - String
|
|
receivedByUserId - ID
|
|
receivedDate - String
|
|
status - ReceiptStatus
|
|
totalQuantityExpected - Int
|
|
totalQuantityReceived - Int
|
|
updatedAt - String
|
|
varianceQuantity - Int
|
|
warehouseLocationId - ID
|
Example
{
"InventoryReceiptItems": [InventoryReceiptItem],
"Organization": Organization,
"PurchaseOrder": PurchaseOrder,
"ReceivedBy": User,
"WarehouseLocation": WarehouseLocation,
"createdAt": "xyz789",
"discrepancyNotes": "abc123",
"hasDiscrepancies": false,
"id": 4,
"itemCount": 987,
"notes": "xyz789",
"organizationId": 4,
"purchaseOrderId": "abc123",
"receiptNumber": "abc123",
"receivedByUserId": 4,
"receivedDate": "xyz789",
"status": "CANCELLED",
"totalQuantityExpected": 987,
"totalQuantityReceived": 987,
"updatedAt": "xyz789",
"varianceQuantity": 987,
"warehouseLocationId": "4"
}
InventoryReceiptItem
Description
Inventory receipt line item
Fields
| Field Name | Description |
|---|---|
InventoryReceipt - InventoryReceipt
|
|
Product - Product
|
|
PurchasableItem - PurchasableItem
|
|
PurchaseOrderItem - PurchaseOrderItem
|
|
WarehouseBin - WarehouseBin
|
|
batchNumber - String
|
|
binLocation - String
|
|
createdAt - String
|
|
expiryDate - String
|
|
id - ID
|
|
inventoryReceiptId - ID
|
|
itemName - String
|
|
itemSku - String
|
|
itemType - String
|
|
lineTotal - String
|
|
lotNumber - String
|
|
notes - String
|
|
productId - String
|
|
purchasableItemId - String
|
|
purchaseOrderItemId - String
|
|
quantityAccepted - Int
|
|
quantityDamaged - Int
|
|
quantityExpected - Int
|
|
quantityReceived - Int
|
|
quantityRejected - Int
|
|
unitCost - String
|
|
updatedAt - String
|
|
varianceReason - String
|
|
warehouseBinId - String
|
Example
{
"InventoryReceipt": InventoryReceipt,
"Product": Product,
"PurchasableItem": PurchasableItem,
"PurchaseOrderItem": PurchaseOrderItem,
"WarehouseBin": WarehouseBin,
"batchNumber": "xyz789",
"binLocation": "abc123",
"createdAt": "xyz789",
"expiryDate": "xyz789",
"id": 4,
"inventoryReceiptId": "4",
"itemName": "abc123",
"itemSku": "abc123",
"itemType": "abc123",
"lineTotal": "xyz789",
"lotNumber": "xyz789",
"notes": "xyz789",
"productId": "abc123",
"purchasableItemId": "xyz789",
"purchaseOrderItemId": "abc123",
"quantityAccepted": 123,
"quantityDamaged": 123,
"quantityExpected": 123,
"quantityReceived": 123,
"quantityRejected": 987,
"unitCost": "xyz789",
"updatedAt": "abc123",
"varianceReason": "abc123",
"warehouseBinId": "abc123"
}
JSON
Example
{}
KitAssemblyMode
Description
Determines how kit inventory is managed
Values
| Enum Value | Description |
|---|---|
|
|
Use pre-assembled first, then JIT for remainder |
|
|
Assemble during order fulfillment (JIT - quantity is virtual) |
|
|
Build kits ahead of time (traditional pre-kitting) |
Example
"BOTH"
KitComponentPick
Description
A kit component to be picked for JIT assembly
Example
{
"isPicked": true,
"location": ComponentLocation,
"productId": "xyz789",
"productImage": "abc123",
"productName": "abc123",
"productSku": "xyz789",
"productVariantId": "abc123",
"quantityNeeded": 987,
"quantityPicked": 123,
"variantTitle": "abc123"
}
KitInventoryMode
Description
Controls inventory deduction behavior for kit assembly/fulfillment
Values
| Enum Value | Description |
|---|---|
|
|
Full deductions on kit assembly/fulfillment (normal operation) |
|
|
No deductions, no logging — external system handles inventory |
|
|
Log deductions without executing — for migration verification |
Example
"ACTIVE"
LabelAddressType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"MAILING"
LineItemInput
Fields
| Input Field | Description |
|---|---|
currentQuantity - Int
|
|
discountAmount - String
|
|
nonFulfillableQuantity - Int
|
|
notes - String
|
|
originalUnitPrice - String
|
|
productId - String
|
|
productImage - String
|
|
productName - String!
|
|
productSku - String!
|
|
quantityCancelled - Int
|
|
quantityFulfilled - Int
|
|
quantityOrdered - Int!
|
|
shopifyLineItemId - String
|
|
source - String
|
|
taxAmount - String
|
|
unitPrice - String!
|
|
variantId - String
|
|
variantOptions - JSON
|
|
variantTitle - String
|
Example
{
"currentQuantity": 987,
"discountAmount": "abc123",
"nonFulfillableQuantity": 987,
"notes": "abc123",
"originalUnitPrice": "abc123",
"productId": "abc123",
"productImage": "xyz789",
"productName": "abc123",
"productSku": "abc123",
"quantityCancelled": 123,
"quantityFulfilled": 987,
"quantityOrdered": 123,
"shopifyLineItemId": "abc123",
"source": "abc123",
"taxAmount": "xyz789",
"unitPrice": "abc123",
"variantId": "abc123",
"variantOptions": {},
"variantTitle": "abc123"
}
LocationScope
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
Example
"GLOBAL"
LocationType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AMAZON"
Order
Description
A customer order with line items
Fields
| Field Name | Description |
|---|---|
Customer - Customer
|
|
FulfillmentPackages - [FulfillmentPackage!]
|
|
OrderComments - [OrderComment!]
|
|
OrderLineItems - [OrderLineItem!]
|
|
Organization - Organization
|
|
WarehouseAllocation - OrderWarehouseAllocation
|
|
billingAddress - String
|
|
billingAddress2 - String
|
|
billingCity - String
|
|
billingCompany - String
|
|
billingCountry - String
|
|
billingCountryCode - String
|
|
billingFirstName - String
|
|
billingLastName - String
|
|
billingPostalCode - String
|
|
billingState - String
|
|
cancelReason - String
|
|
cancelledAt - String
|
|
carrier - String
|
|
closedAt - String
|
|
confirmed - Boolean
|
|
createdAt - String
|
|
currency - String
|
|
customerIp - String
|
|
customerNotes - String
|
|
deliveredAt - String
|
|
discountAmount - String
|
|
discountCodes - JSON
|
Array of discount codes applied to the order [{code, amount, type}] |
email - String
|
|
exchangeRate - String
|
|
fulfilledAt - String
|
|
fulfillmentStatus - OrderFulfillmentStatus
|
|
id - ID
|
|
internalNotes - String
|
|
internalOrderNumber - Int
|
|
lastSyncedAt - String
|
|
notifyCustomerOnRefund - Boolean!
|
|
orderDate - String
|
|
orderNumber - String
|
|
organizationId - ID
|
|
paidAt - String
|
|
paymentGateway - String
|
|
paymentMethod - String
|
|
paymentStatus - OrderPaymentStatus
|
|
phone - String
|
|
processedAt - String
|
|
refundedAmount - String
|
|
refunds - JSON
|
Array of refund objects from Shopify [{id, createdAt, amount, note, lineItems}] |
restockOnCancel - Boolean!
|
|
riskAssessmentDetails - JSON
|
|
riskLevel - String
|
|
riskRecommendation - String
|
|
shippingAddress - String
|
|
shippingAddress2 - String
|
|
shippingCity - String
|
|
shippingCompany - String
|
|
shippingCost - String
|
|
shippingCountry - String
|
|
shippingCountryCode - String
|
|
shippingFirstName - String
|
|
shippingLastName - String
|
|
shippingLines - JSON
|
Individual shipping line details [{title, price, carrierIdentifier, code}] |
shippingMethod - String
|
|
shippingPostalCode - String
|
|
shippingState - String
|
|
shopifyLastCancelError - String
|
|
shopifyLastCancelSyncAt - String
|
|
shopifyOrderId - String
|
|
shopifyOrderNumber - String
|
|
source - String
|
|
status - OrderStatus
|
|
storeId - String
|
|
subtotal - String
|
|
syncError - String
|
|
syncStatus - String
|
|
tags - [String!]
|
|
taxAmount - String
|
|
timeline - [OrderTimelineEvent!]
|
Timeline of events for this order |
totalAmount - String
|
|
trackingNumber - String
|
|
trackingUrl - String
|
|
transactions - JSON
|
Payment transaction details from Shopify [{id, kind, gateway, status, amount, currency, createdAt}] |
updatedAt - String
|
Example
{
"Customer": Customer,
"FulfillmentPackages": [FulfillmentPackage],
"OrderComments": [OrderComment],
"OrderLineItems": [OrderLineItem],
"Organization": Organization,
"WarehouseAllocation": OrderWarehouseAllocation,
"billingAddress": "abc123",
"billingAddress2": "xyz789",
"billingCity": "xyz789",
"billingCompany": "abc123",
"billingCountry": "abc123",
"billingCountryCode": "abc123",
"billingFirstName": "xyz789",
"billingLastName": "xyz789",
"billingPostalCode": "xyz789",
"billingState": "abc123",
"cancelReason": "abc123",
"cancelledAt": "abc123",
"carrier": "xyz789",
"closedAt": "xyz789",
"confirmed": true,
"createdAt": "xyz789",
"currency": "abc123",
"customerIp": "abc123",
"customerNotes": "abc123",
"deliveredAt": "abc123",
"discountAmount": "xyz789",
"discountCodes": {},
"email": "abc123",
"exchangeRate": "abc123",
"fulfilledAt": "xyz789",
"fulfillmentStatus": "CANCELLED",
"id": "4",
"internalNotes": "xyz789",
"internalOrderNumber": 987,
"lastSyncedAt": "abc123",
"notifyCustomerOnRefund": true,
"orderDate": "xyz789",
"orderNumber": "xyz789",
"organizationId": "4",
"paidAt": "abc123",
"paymentGateway": "abc123",
"paymentMethod": "abc123",
"paymentStatus": "AUTHORIZED",
"phone": "abc123",
"processedAt": "xyz789",
"refundedAmount": "xyz789",
"refunds": {},
"restockOnCancel": false,
"riskAssessmentDetails": {},
"riskLevel": "abc123",
"riskRecommendation": "abc123",
"shippingAddress": "xyz789",
"shippingAddress2": "xyz789",
"shippingCity": "xyz789",
"shippingCompany": "abc123",
"shippingCost": "abc123",
"shippingCountry": "xyz789",
"shippingCountryCode": "xyz789",
"shippingFirstName": "abc123",
"shippingLastName": "abc123",
"shippingLines": {},
"shippingMethod": "xyz789",
"shippingPostalCode": "abc123",
"shippingState": "xyz789",
"shopifyLastCancelError": "abc123",
"shopifyLastCancelSyncAt": "xyz789",
"shopifyOrderId": "xyz789",
"shopifyOrderNumber": "abc123",
"source": "abc123",
"status": "CANCELLED",
"storeId": "xyz789",
"subtotal": "xyz789",
"syncError": "abc123",
"syncStatus": "abc123",
"tags": ["xyz789"],
"taxAmount": "xyz789",
"timeline": [OrderTimelineEvent],
"totalAmount": "abc123",
"trackingNumber": "abc123",
"trackingUrl": "abc123",
"transactions": {},
"updatedAt": "abc123"
}
OrderComment
Description
An internal staff comment on an order
Fields
| Field Name | Description |
|---|---|
attachments - [OrderCommentAttachment!]
|
|
author - CommentAuthor
|
|
content - String
|
|
createdAt - String
|
|
id - ID
|
|
isPinned - Boolean
|
|
orderId - ID
|
|
organizationId - ID
|
|
updatedAt - String
|
|
userId - ID
|
Example
{
"attachments": [OrderCommentAttachment],
"author": CommentAuthor,
"content": "abc123",
"createdAt": "xyz789",
"id": "4",
"isPinned": true,
"orderId": 4,
"organizationId": "4",
"updatedAt": "xyz789",
"userId": 4
}
OrderCommentAttachment
OrderFulfillmentStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
OrderLineItem
Description
A line item in an order
Fields
| Field Name | Description |
|---|---|
Order - Order
|
|
Product - Product
|
|
ProductVariant - ProductVariant
|
|
cancelReason - String
|
|
cancelledAt - String
|
|
createdAt - String
|
|
currentQuantity - Int
|
|
discountAmount - String
|
|
fulfilledAt - String
|
|
id - ID
|
|
isCancelled - Boolean
|
|
isComplimentary - Boolean
|
|
isFulfilled - Boolean
|
|
isKit - Boolean
|
Whether this line item is a kit/bundle product |
isPicked - Boolean
|
|
kitAssemblyMode - KitAssemblyMode
|
Assembly mode for this kit (null if not a kit) |
kitComponents - [KitComponentPick!]
|
Components to pick for JIT kit assembly (null if not a kit or not JIT mode) |
lineCost - String
|
|
lineSubtotal - String
|
|
lineTotal - String
|
|
nonFulfillableQuantity - Int
|
|
notes - String
|
|
originalUnitPrice - String
|
|
pickedAt - String
|
|
preAssembledAvailable - Int
|
Number of pre-assembled kit units available at the allocated warehouse (null if not a kit) |
productImage - String
|
|
productName - String
|
|
productSku - String
|
|
quantityCancelled - Int
|
|
quantityFulfilled - Int
|
|
quantityOrdered - Int
|
|
quantityPicked - Int
|
|
shopifyLineItemId - String
|
|
source - String
|
|
taxAmount - String
|
|
unitCost - String
|
|
unitPrice - String
|
|
updatedAt - String
|
|
variantOptions - JSON
|
|
variantTitle - String
|
Example
{
"Order": Order,
"Product": Product,
"ProductVariant": ProductVariant,
"cancelReason": "xyz789",
"cancelledAt": "xyz789",
"createdAt": "abc123",
"currentQuantity": 123,
"discountAmount": "xyz789",
"fulfilledAt": "xyz789",
"id": "4",
"isCancelled": false,
"isComplimentary": true,
"isFulfilled": false,
"isKit": false,
"isPicked": true,
"kitAssemblyMode": "BOTH",
"kitComponents": [KitComponentPick],
"lineCost": "abc123",
"lineSubtotal": "xyz789",
"lineTotal": "xyz789",
"nonFulfillableQuantity": 123,
"notes": "xyz789",
"originalUnitPrice": "abc123",
"pickedAt": "abc123",
"preAssembledAvailable": 987,
"productImage": "xyz789",
"productName": "abc123",
"productSku": "abc123",
"quantityCancelled": 987,
"quantityFulfilled": 123,
"quantityOrdered": 987,
"quantityPicked": 987,
"shopifyLineItemId": "abc123",
"source": "abc123",
"taxAmount": "xyz789",
"unitCost": "xyz789",
"unitPrice": "xyz789",
"updatedAt": "xyz789",
"variantOptions": {},
"variantTitle": "xyz789"
}
OrderPaymentStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AUTHORIZED"
OrderStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
OrderStatusCounts
Example
{
"all": 987,
"cancelled": 123,
"fulfilled": 123,
"hold": 987,
"partialPicked": 987,
"pickable": 123,
"picked": 987,
"ready": 123,
"unfulfilled": 987,
"unpaid": 123
}
OrderTimelineEvent
Description
An event in the order timeline
Example
{
"description": "abc123",
"icon": "xyz789",
"id": "4",
"metadata": {},
"timestamp": "abc123",
"title": "xyz789",
"type": "xyz789"
}
OrderWarehouseAllocation
Description
Assignment of an order to a warehouse for fulfillment
Example
{
"AllocatedBy": User,
"Order": Order,
"WarehouseLocation": WarehouseLocation,
"allocatedAt": "abc123",
"allocatedById": "xyz789",
"createdAt": "abc123",
"id": "4",
"notes": "xyz789",
"orderId": "abc123",
"status": "ALLOCATED",
"updatedAt": "xyz789",
"warehouseLocationId": "abc123"
}
Organization
Description
Organization with settings
Fields
| Field Name | Description |
|---|---|
Permission - [Permission!]
|
|
Role - [RoleType!]
|
|
Team - [Team!]
|
|
User - [User!]
|
|
address - String
|
|
billingEmail - String
|
|
city - String
|
|
country - String
|
|
createdAt - String
|
|
currency - String
|
|
customAppIntegrationEnabled - Boolean
|
Whether Custom App token-based Shopify connections are enabled for this organization |
defaultKitAssemblyMode - KitAssemblyMode
|
Default assembly mode for new kits (JIT = FULFILL_TIME) |
domain - String
|
|
employeeCount - Int
|
|
features - [String!]
|
|
id - ID
|
|
industry - String
|
|
integrations - JSON
|
|
isActive - Boolean
|
|
locale - String
|
|
logoUrl - String
|
|
mailingAddress - Address
|
|
mfaGracePeriodDays - Int
|
|
mfaRequired - Boolean
|
|
name - String
|
|
passkeyRequired - Boolean
|
|
phone - String
|
|
physicalAddress - Address
|
|
postalCode - String
|
|
sessionTimeoutHours - Int
|
|
settings - JSON
|
|
slug - String
|
|
state - String
|
|
supportEmail - String
|
|
timezone - String
|
|
updatedAt - String
|
|
userCount - Int
|
Number of users in this organization |
users - [User!]
|
|
websiteUrl - String
|
Example
{
"Permission": [Permission],
"Role": [RoleType],
"Team": [Team],
"User": [User],
"address": "abc123",
"billingEmail": "abc123",
"city": "xyz789",
"country": "xyz789",
"createdAt": "abc123",
"currency": "abc123",
"customAppIntegrationEnabled": false,
"defaultKitAssemblyMode": "BOTH",
"domain": "abc123",
"employeeCount": 123,
"features": ["xyz789"],
"id": 4,
"industry": "xyz789",
"integrations": {},
"isActive": true,
"locale": "abc123",
"logoUrl": "abc123",
"mailingAddress": Address,
"mfaGracePeriodDays": 987,
"mfaRequired": true,
"name": "abc123",
"passkeyRequired": true,
"phone": "xyz789",
"physicalAddress": Address,
"postalCode": "abc123",
"sessionTimeoutHours": 123,
"settings": {},
"slug": "abc123",
"state": "xyz789",
"supportEmail": "xyz789",
"timezone": "abc123",
"updatedAt": "abc123",
"userCount": 987,
"users": [User],
"websiteUrl": "xyz789"
}
PackageFulfillmentStatus
Description
Status of the overall fulfillment orchestration
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"COMPLETED"
PackageStatus
Description
Status of a fulfillment package
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
PackagingType
Description
Types of packaging materials
Values
| Enum Value | Description |
|---|---|
|
|
Shipping boxes, mailers |
|
|
Bubble wrap, packing peanuts, paper fill |
|
|
Shipping labels, barcode labels |
|
|
Miscellaneous consumables |
|
|
Packing slips, invoices, pick lists |
|
|
Packing tape, fragile tape |
Example
"BOX"
Passkey
Description
WebAuthn passkey for passwordless authentication
Example
{
"authenticatorType": "xyz789",
"createdAt": "abc123",
"id": "4",
"ipAddress": "abc123",
"isBackedUp": false,
"isBackupEligible": false,
"lastUsed": "abc123",
"name": "xyz789",
"updatedAt": "abc123",
"userAgent": "abc123"
}
PasskeyAuthenticationOptions
Fields
| Field Name | Description |
|---|---|
allowCredentials - [PublicKeyCredentialDescriptor!]
|
|
challenge - String
|
|
rpId - String
|
|
timeout - Int
|
|
userVerification - String
|
Example
{
"allowCredentials": [PublicKeyCredentialDescriptor],
"challenge": "xyz789",
"rpId": "abc123",
"timeout": 123,
"userVerification": "xyz789"
}
Permission
Description
System permission for resource access
Fields
| Field Name | Description |
|---|---|
RolePermission - [RolePermission!]
|
|
UserPermission - [UserPermission!]
|
|
WarehouseLocation - WarehouseLocation
|
|
action - String
|
|
category - String
|
|
createdAt - String
|
|
description - String
|
|
expiresAt - String
|
|
id - ID
|
|
isSystemDefined - Boolean
|
|
isSystemPermission - Boolean
|
|
location - WarehouseLocation
|
|
locationId - String
|
|
locationScope - LocationScope
|
|
metadata - JSON
|
|
name - String
|
|
organizationId - String
|
|
resource - String
|
|
roles - [RoleType!]
|
|
teams - [Team!]
|
|
updatedAt - String
|
|
users - [User!]
|
Example
{
"RolePermission": [RolePermission],
"UserPermission": [UserPermission],
"WarehouseLocation": WarehouseLocation,
"action": "xyz789",
"category": "xyz789",
"createdAt": "abc123",
"description": "abc123",
"expiresAt": "abc123",
"id": 4,
"isSystemDefined": false,
"isSystemPermission": false,
"location": WarehouseLocation,
"locationId": "xyz789",
"locationScope": "GLOBAL",
"metadata": {},
"name": "xyz789",
"organizationId": "xyz789",
"resource": "xyz789",
"roles": [RoleType],
"teams": [Team],
"updatedAt": "xyz789",
"users": [User]
}
PriceRangeInput
PrincipalType
Description
Type of principal - determines access level and RBAC bypass behavior
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"AUTOMATION"
Product
Description
Product with full SKU Manager features
Fields
| Field Name | Description |
|---|---|
Organization - Organization
|
|
ProductLocationInventory - [ProductLocationInventory!]
|
|
ProductStoreConnection - [ProductStoreConnection!]
|
|
SupplierProduct - [SupplierProduct!]
|
|
allowBackorder - Boolean
|
|
assemblyMode - KitAssemblyMode
|
|
availableQuantity - Int
|
|
basePrice - String
|
|
brand - String
|
|
bundleComponentCount - Int
|
|
bundleDiscountPercent - String
|
|
bundleItems - [ProductBundleItem!]
|
|
bundlePricing - BundlePricingType
|
|
bundledIn - [ProductBundleItem!]
|
|
category - String
|
|
compareAtPrice - String
|
|
costPrice - String
|
|
countryOfOrigin - String
|
|
createdAt - String
|
|
customsDescription - String
|
|
defaultVariant - ProductVariant
|
|
description - String
|
|
dimensionUnit - DimensionUnit
|
|
displayTitle - String
|
|
handle - String
|
|
hasOnlyDefaultVariant - Boolean
|
Shopify's canonical signal for whether this product has only the synthetic default variant (no real variant axes). Null during the migration window for products not yet re-synced from Shopify. |
height - String
|
|
hsCode - String
|
|
id - ID
|
|
images - [ProductImage!]
|
|
isActive - Boolean
|
|
isActiveSKU - Boolean
|
|
isGiftCard - Boolean
|
|
kitInventoryMode - KitInventoryMode
|
Controls inventory deduction behavior for this kit (ACTIVE, SHADOW, or MANAGED_EXTERNALLY) |
length - String
|
|
lowStockThreshold - Int
|
|
metaDescription - String
|
|
metaTitle - String
|
|
option1Name - String
|
|
option2Name - String
|
|
option3Name - String
|
|
optionDefinitions - [ProductOptionDefinition!]
|
Option definitions with names and ordered values |
organizationId - ID
|
|
primaryImage - ProductImage
|
|
primaryImageId - String
|
|
productLocationInventories - [ProductLocationInventory!]
|
All warehouse inventory records for this product with warehouse details |
productType - String
|
|
productVariants - [ProductVariant!]
|
|
provinceOfOrigin - String
|
|
publishedAt - String
|
|
purchasableItemId - String
|
Purchasable item ID from default variant (backward compat) |
quantity - Int
|
|
requiresShipping - Boolean
|
|
reservedQuantity - Int
|
|
sku - String
|
|
skuType - SKUType
|
|
slug - String
|
|
status - ProductStatus
|
|
storeConnections - [ProductStoreConnection!]
|
|
supplier - Supplier
|
|
supplierId - String
|
|
tags - [String!]
|
|
title - String
|
|
totalQuantity - Int
|
|
trackInventory - Boolean
|
|
trackInventoryNeedsRestoration - Boolean
|
True when this product is non-BUNDLE AND the default variant's trackInventory disagrees with trackInventoryUserSet. Signals the UI to offer a restoration confirm dialog (BUNDLE→SIMPLE conversion flow). |
trackInventoryUserSet - Boolean
|
The user's last explicit trackInventory choice on the default variant. Auto-management never writes this; surfaced for BUNDLE→SIMPLE restoration prompts. |
type - ProductType
|
|
updatedAt - String
|
|
warehouseLocation - String
|
Primary warehouse location for this product (first location with inventory) |
weight - String
|
|
weightUnit - WeightUnit
|
|
width - String
|
Example
{
"Organization": Organization,
"ProductLocationInventory": [ProductLocationInventory],
"ProductStoreConnection": [ProductStoreConnection],
"SupplierProduct": [SupplierProduct],
"allowBackorder": true,
"assemblyMode": "BOTH",
"availableQuantity": 987,
"basePrice": "abc123",
"brand": "abc123",
"bundleComponentCount": 987,
"bundleDiscountPercent": "xyz789",
"bundleItems": [ProductBundleItem],
"bundlePricing": "CALCULATED",
"bundledIn": [ProductBundleItem],
"category": "xyz789",
"compareAtPrice": "xyz789",
"costPrice": "abc123",
"countryOfOrigin": "abc123",
"createdAt": "abc123",
"customsDescription": "xyz789",
"defaultVariant": ProductVariant,
"description": "xyz789",
"dimensionUnit": "CM",
"displayTitle": "abc123",
"handle": "abc123",
"hasOnlyDefaultVariant": true,
"height": "xyz789",
"hsCode": "xyz789",
"id": 4,
"images": [ProductImage],
"isActive": true,
"isActiveSKU": true,
"isGiftCard": false,
"kitInventoryMode": "ACTIVE",
"length": "xyz789",
"lowStockThreshold": 123,
"metaDescription": "xyz789",
"metaTitle": "abc123",
"option1Name": "abc123",
"option2Name": "abc123",
"option3Name": "abc123",
"optionDefinitions": [ProductOptionDefinition],
"organizationId": 4,
"primaryImage": ProductImage,
"primaryImageId": "xyz789",
"productLocationInventories": [
ProductLocationInventory
],
"productType": "abc123",
"productVariants": [ProductVariant],
"provinceOfOrigin": "abc123",
"publishedAt": "xyz789",
"purchasableItemId": "xyz789",
"quantity": 987,
"requiresShipping": true,
"reservedQuantity": 987,
"sku": "abc123",
"skuType": "BUNDLE",
"slug": "xyz789",
"status": "ACTIVE",
"storeConnections": [ProductStoreConnection],
"supplier": Supplier,
"supplierId": "abc123",
"tags": ["abc123"],
"title": "xyz789",
"totalQuantity": 123,
"trackInventory": false,
"trackInventoryNeedsRestoration": false,
"trackInventoryUserSet": true,
"type": "BUNDLE",
"updatedAt": "xyz789",
"warehouseLocation": "xyz789",
"weight": "xyz789",
"weightUnit": "GRAMS",
"width": "xyz789"
}
ProductBundleItem
Description
Product bundle component with quantity
Example
{
"bundleProduct": Product,
"bundleProductId": 4,
"childProduct": Product,
"childProductId": 4,
"createdAt": "xyz789",
"id": "4",
"quantity": 987,
"sortOrder": 123,
"updatedAt": "abc123"
}
ProductBundleItemInput
ProductFilterInput
Fields
| Input Field | Description |
|---|---|
brand - String
|
|
createdDateRange - DateRangeInput
|
|
hasLowStock - Boolean
|
|
hasOutOfStock - Boolean
|
Filter to products with zero quantity |
limit - Int
|
Records per page (max 100, default 25) |
offset - Int
|
Number of records to skip for pagination |
organizationId - ID!
|
|
priceRange - PriceRangeInput
|
|
searchTerm - String
|
|
skuPattern - String
|
|
skus - [String!]
|
Batch lookup by exact SKUs (for sync optimization) |
sortBy - String
|
Sort field: title, sku, quantity, createdAt, updatedAt |
sortDirection - String
|
Sort direction: asc or desc (default: desc) |
status - [String!]
|
|
supplierId - ID
|
|
tags - [String!]
|
|
type - [String!]
|
|
updatedDateRange - DateRangeInput
|
|
viewMode - ProductViewMode
|
Example
{
"brand": "xyz789",
"createdDateRange": DateRangeInput,
"hasLowStock": false,
"hasOutOfStock": false,
"limit": 987,
"offset": 987,
"organizationId": "4",
"priceRange": PriceRangeInput,
"searchTerm": "xyz789",
"skuPattern": "xyz789",
"skus": ["xyz789"],
"sortBy": "abc123",
"sortDirection": "abc123",
"status": ["xyz789"],
"supplierId": 4,
"tags": ["xyz789"],
"type": ["abc123"],
"updatedDateRange": DateRangeInput,
"viewMode": "ALL_PRODUCTS"
}
ProductImage
Fields
| Field Name | Description |
|---|---|
altText - String
|
|
createdAt - String
|
|
file - File
|
|
fileId - String
|
|
fileSize - Int
|
|
height - Int
|
|
id - ID
|
|
imageUrl - String
|
|
product - Product
|
|
productId - String
|
|
shopifyImageId - String
|
Numeric ID portion of the Shopify MediaImage GID (e.g. "53766126436719" — the value after the final "/" in "gid://shopify/MediaImage/{id}"). Used by media mutations (productVariantAppendMedia, productReorderMedia, fileDelete); each call site reconstructs the full GID by prefixing. |
shopifyImageLegacyId - String
|
Shopify legacy Image.id — what the products/update webhook payload delivers. Used for inbound matching only. |
shopifyPosition - Int
|
|
sortOrder - Int
|
|
sourceUrl - String
|
Shopify CDN source URL for pending uploads |
status - String
|
Processing status: PENDING_UPLOAD | READY | FAILED |
thumbnails - JSON
|
|
updatedAt - String
|
|
url - String
|
|
width - Int
|
Example
{
"altText": "xyz789",
"createdAt": "xyz789",
"file": File,
"fileId": "xyz789",
"fileSize": 123,
"height": 123,
"id": 4,
"imageUrl": "abc123",
"product": Product,
"productId": "xyz789",
"shopifyImageId": "abc123",
"shopifyImageLegacyId": "abc123",
"shopifyPosition": 987,
"sortOrder": 123,
"sourceUrl": "xyz789",
"status": "xyz789",
"thumbnails": {},
"updatedAt": "xyz789",
"url": "abc123",
"width": 987
}
ProductLocationInventory
Description
Product inventory at a specific warehouse location
Fields
| Field Name | Description |
|---|---|
Product - Product
|
|
ProductVariant - ProductVariant
|
|
WarehouseArea - WarehouseArea
|
|
WarehouseBin - WarehouseBin
|
|
WarehouseLocation - WarehouseLocation
|
|
WarehouseShelf - WarehouseShelf
|
|
availableQuantity - Int
|
|
createdAt - String
|
|
id - ID
|
|
lastCountDate - String
|
|
lastSyncAt - String
|
|
locationId - ID
|
|
locationPath - String
|
|
lowStockThreshold - Int
|
|
productId - ID
|
|
productVariantId - String
|
|
quantity - Int
|
|
reservedQuantity - Int
|
|
syncErrors - JSON
|
|
syncStatus - SyncStatus
|
|
updatedAt - String
|
|
warehouseAreaId - String
|
|
warehouseBinId - String
|
|
warehouseLocationId - ID
|
|
warehouseShelfId - String
|
Example
{
"Product": Product,
"ProductVariant": ProductVariant,
"WarehouseArea": WarehouseArea,
"WarehouseBin": WarehouseBin,
"WarehouseLocation": WarehouseLocation,
"WarehouseShelf": WarehouseShelf,
"availableQuantity": 987,
"createdAt": "xyz789",
"id": "4",
"lastCountDate": "xyz789",
"lastSyncAt": "xyz789",
"locationId": 4,
"locationPath": "xyz789",
"lowStockThreshold": 123,
"productId": 4,
"productVariantId": "xyz789",
"quantity": 987,
"reservedQuantity": 123,
"syncErrors": {},
"syncStatus": "ERROR",
"updatedAt": "xyz789",
"warehouseAreaId": "abc123",
"warehouseBinId": "xyz789",
"warehouseLocationId": "4",
"warehouseShelfId": "abc123"
}
ProductOptionDefinition
ProductStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ACTIVE"
ProductStoreConnection
Description
Product connection to external stores
Fields
| Field Name | Description |
|---|---|
Organization - Organization
|
|
Product - Product
|
|
createdAt - String
|
|
externalProductId - String
|
|
externalSku - String
|
|
externalUrl - String
|
|
externalVariantId - String
|
|
id - ID
|
|
isPublished - Boolean
|
|
lastSyncAt - String
|
|
metadata - String
|
|
organizationId - ID
|
|
product - Product
|
|
productId - ID
|
|
storeConnectionId - String
|
|
storeDescription - String
|
|
storeInventory - Int
|
|
storeName - String
|
|
storePrice - String
|
|
storeTitle - String
|
|
storeType - LocationType
|
|
syncError - String
|
|
syncStatus - SyncStatus
|
|
updatedAt - String
|
Example
{
"Organization": Organization,
"Product": Product,
"createdAt": "abc123",
"externalProductId": "abc123",
"externalSku": "xyz789",
"externalUrl": "xyz789",
"externalVariantId": "xyz789",
"id": 4,
"isPublished": true,
"lastSyncAt": "abc123",
"metadata": "abc123",
"organizationId": 4,
"product": Product,
"productId": 4,
"storeConnectionId": "abc123",
"storeDescription": "xyz789",
"storeInventory": 987,
"storeName": "xyz789",
"storePrice": "abc123",
"storeTitle": "xyz789",
"storeType": "AMAZON",
"syncError": "abc123",
"syncStatus": "ERROR",
"updatedAt": "abc123"
}
ProductType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"BUNDLE"
ProductVariant
Description
A sellable variant of a product (e.g., "Red / Large")
Fields
| Field Name | Description |
|---|---|
Product - Product
|
|
ProductLocationInventory - [ProductLocationInventory!]
|
Inventory rows for this variant, scoped to the variant's organization. |
allowBackorder - Boolean
|
|
availableQuantity - Int
|
|
barcode - String
|
|
basePrice - String
|
|
compareAtPrice - String
|
|
costPrice - String
|
|
countryOfOrigin - String
|
|
createdAt - String
|
|
customsDescription - String
|
|
dimensionUnit - DimensionUnit
|
|
height - String
|
|
hsCode - String
|
|
id - ID
|
|
length - String
|
|
lowStockThreshold - Int
|
|
option1Value - String
|
|
option2Value - String
|
|
option3Value - String
|
|
organizationId - ID
|
|
position - Int
|
|
primaryImage - ProductImage
|
|
primaryImageId - String
|
|
productId - ID
|
|
provinceOfOrigin - String
|
|
quantity - Int
|
|
requiresShipping - Boolean
|
|
reservedQuantity - Int
|
|
sku - String
|
|
taxCode - String
|
|
taxable - Boolean
|
|
title - String
|
|
trackInventory - Boolean
|
|
trackInventoryNeedsRestoration - Boolean
|
True when this variant belongs to a non-BUNDLE product AND trackInventory disagrees with trackInventoryUserSet — i.e. auto-management flipped the flag while the product was a kit, and the user has not yet confirmed/dismissed the restoration prompt. |
trackInventoryUserSet - Boolean
|
The user's last explicit trackInventory choice. Auto-management never writes this field; surfaced so the UI can offer restoration on BUNDLE→SIMPLE conversion. |
updatedAt - String
|
|
weight - String
|
|
weightUnit - WeightUnit
|
|
width - String
|
Example
{
"Product": Product,
"ProductLocationInventory": [ProductLocationInventory],
"allowBackorder": true,
"availableQuantity": 123,
"barcode": "abc123",
"basePrice": "xyz789",
"compareAtPrice": "abc123",
"costPrice": "abc123",
"countryOfOrigin": "xyz789",
"createdAt": "xyz789",
"customsDescription": "abc123",
"dimensionUnit": "CM",
"height": "xyz789",
"hsCode": "abc123",
"id": "4",
"length": "xyz789",
"lowStockThreshold": 987,
"option1Value": "xyz789",
"option2Value": "xyz789",
"option3Value": "abc123",
"organizationId": "4",
"position": 123,
"primaryImage": ProductImage,
"primaryImageId": "xyz789",
"productId": 4,
"provinceOfOrigin": "xyz789",
"quantity": 987,
"requiresShipping": true,
"reservedQuantity": 123,
"sku": "abc123",
"taxCode": "xyz789",
"taxable": true,
"title": "abc123",
"trackInventory": false,
"trackInventoryNeedsRestoration": false,
"trackInventoryUserSet": true,
"updatedAt": "xyz789",
"weight": "abc123",
"weightUnit": "GRAMS",
"width": "abc123"
}
ProductViewMode
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"ALL_PRODUCTS"
PublicKeyCredentialDescriptor
PurchasableItem
Description
Abstraction layer for all items that can be ordered from suppliers
Fields
| Field Name | Description |
|---|---|
Organization - Organization
|
|
PreferredSupplier - Supplier
|
|
ProductVariant - ProductVariant
|
|
Stationery - Stationery
|
|
createdAt - String
|
|
defaultUnitCost - String
|
|
id - ID
|
|
itemName - String
|
Name of the item (Product name or Stationery name) |
itemSku - String
|
SKU of the item (Product SKU or Stationery SKU) |
leadTimeDays - Int
|
|
minimumOrderQty - Int
|
|
organizationId - ID
|
|
preferredSupplierId - String
|
|
supplierSku - String
|
|
type - PurchasableType
|
|
updatedAt - String
|
Example
{
"Organization": Organization,
"PreferredSupplier": Supplier,
"ProductVariant": ProductVariant,
"Stationery": Stationery,
"createdAt": "xyz789",
"defaultUnitCost": "abc123",
"id": "4",
"itemName": "abc123",
"itemSku": "xyz789",
"leadTimeDays": 987,
"minimumOrderQty": 123,
"organizationId": "4",
"preferredSupplierId": "xyz789",
"supplierSku": "abc123",
"type": "PRODUCT",
"updatedAt": "xyz789"
}
PurchasableType
Description
Types of items that can be purchased from suppliers
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"PRODUCT"
PurchaseOrder
Description
Purchase order for ordering from suppliers
Fields
| Field Name | Description |
|---|---|
CreatedBy - User
|
|
InventoryReceipts - [InventoryReceipt!]
|
|
LastModifiedBy - User
|
|
Organization - Organization
|
|
PurchaseOrderItems - [PurchaseOrderItem!]
|
|
Supplier - Supplier
|
|
WarehouseLocation - WarehouseLocation
|
|
actualDeliveryDate - String
|
|
approvedAt - String
|
|
approvedBy - String
|
|
createdAt - String
|
|
createdByUserId - ID
|
|
currency - String
|
|
exchangeRate - String
|
|
expectedDeliveryDate - String
|
|
id - ID
|
|
internalNotes - String
|
|
internalPoNumber - Int
|
|
isFullyReceived - Boolean
|
|
itemCount - Int
|
|
lastModifiedByUserId - String
|
|
notes - String
|
|
orderDate - String
|
|
organizationId - ID
|
|
otherCosts - String
|
|
pdfGeneratedAt - String
|
|
pdfUrl - String
|
|
poNumber - String
|
|
receiptCount - Int
|
|
remainingQuantity - Int
|
|
shipToWarehouseId - String
|
|
shippingAddress - String
|
|
shippingCity - String
|
|
shippingCost - String
|
|
shippingCountry - String
|
|
shippingPostalCode - String
|
|
shippingState - String
|
|
status - PurchaseOrderStatus
|
|
subtotal - String
|
|
supplierId - ID
|
|
taxAmount - String
|
|
totalCost - String
|
|
totalQuantityOrdered - Int
|
|
totalQuantityReceived - Int
|
|
trackingNumber - String
|
|
trackingUrl - String
|
|
updatedAt - String
|
Example
{
"CreatedBy": User,
"InventoryReceipts": [InventoryReceipt],
"LastModifiedBy": User,
"Organization": Organization,
"PurchaseOrderItems": [PurchaseOrderItem],
"Supplier": Supplier,
"WarehouseLocation": WarehouseLocation,
"actualDeliveryDate": "abc123",
"approvedAt": "abc123",
"approvedBy": "xyz789",
"createdAt": "abc123",
"createdByUserId": 4,
"currency": "abc123",
"exchangeRate": "xyz789",
"expectedDeliveryDate": "xyz789",
"id": 4,
"internalNotes": "xyz789",
"internalPoNumber": 987,
"isFullyReceived": true,
"itemCount": 987,
"lastModifiedByUserId": "abc123",
"notes": "abc123",
"orderDate": "xyz789",
"organizationId": "4",
"otherCosts": "xyz789",
"pdfGeneratedAt": "xyz789",
"pdfUrl": "abc123",
"poNumber": "abc123",
"receiptCount": 123,
"remainingQuantity": 987,
"shipToWarehouseId": "xyz789",
"shippingAddress": "abc123",
"shippingCity": "xyz789",
"shippingCost": "abc123",
"shippingCountry": "xyz789",
"shippingPostalCode": "xyz789",
"shippingState": "xyz789",
"status": "CANCELLED",
"subtotal": "xyz789",
"supplierId": 4,
"taxAmount": "abc123",
"totalCost": "xyz789",
"totalQuantityOrdered": 123,
"totalQuantityReceived": 123,
"trackingNumber": "xyz789",
"trackingUrl": "xyz789",
"updatedAt": "xyz789"
}
PurchaseOrderItem
Description
Purchase order line item
Fields
| Field Name | Description |
|---|---|
InventoryReceiptItems - [InventoryReceiptItem!]
|
|
Product - Product
|
|
PurchasableItem - PurchasableItem
|
|
PurchaseOrder - PurchaseOrder
|
|
SupplierProduct - SupplierProduct
|
|
createdAt - String
|
|
id - ID
|
|
itemName - String
|
|
itemSku - String
|
|
itemType - String
|
|
lineTotal - String
|
|
notes - String
|
|
productId - String
|
|
purchasableItemId - String
|
|
purchaseOrderId - ID
|
|
quantityOrdered - Int
|
|
quantityOutstanding - Int
|
|
quantityReceived - Int
|
|
supplierProductId - String
|
|
supplierSku - String
|
|
unitCost - String
|
|
updatedAt - String
|
Example
{
"InventoryReceiptItems": [InventoryReceiptItem],
"Product": Product,
"PurchasableItem": PurchasableItem,
"PurchaseOrder": PurchaseOrder,
"SupplierProduct": SupplierProduct,
"createdAt": "abc123",
"id": 4,
"itemName": "xyz789",
"itemSku": "abc123",
"itemType": "xyz789",
"lineTotal": "abc123",
"notes": "xyz789",
"productId": "abc123",
"purchasableItemId": "abc123",
"purchaseOrderId": "4",
"quantityOrdered": 987,
"quantityOutstanding": 987,
"quantityReceived": 123,
"supplierProductId": "xyz789",
"supplierSku": "xyz789",
"unitCost": "xyz789",
"updatedAt": "abc123"
}
PurchaseOrderStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
ReceiptStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"CANCELLED"
RelyingParty
RolePermission
Description
Join table linking roles to permissions
Example
{
"Permission": Permission,
"Role": RoleType,
"createdAt": "abc123",
"id": "4",
"permissionId": "4",
"roleId": "4",
"updatedAt": "abc123"
}
RoleType
Description
User role with associated permissions
Fields
| Field Name | Description |
|---|---|
RolePermission - [RolePermission!]
|
|
TeamMember - [TeamMember!]
|
|
UserRole - [UserRole!]
|
|
color - String
|
|
createdAt - String
|
|
description - String
|
|
id - ID
|
|
isSystemDefined - Boolean
|
|
isSystemRole - Boolean
|
|
name - String
|
|
organizationId - String
|
|
permissions - [Permission!]
|
|
teams - [Team!]
|
|
updatedAt - String
|
|
users - [User!]
|
Example
{
"RolePermission": [RolePermission],
"TeamMember": [TeamMember],
"UserRole": [UserRole],
"color": "xyz789",
"createdAt": "xyz789",
"description": "xyz789",
"id": "4",
"isSystemDefined": false,
"isSystemRole": false,
"name": "xyz789",
"organizationId": "abc123",
"permissions": [Permission],
"teams": [Team],
"updatedAt": "abc123",
"users": [User]
}
SKUType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"BUNDLE"
Stationery
Description
Packaging material for fulfillment operations
Fields
| Field Name | Description |
|---|---|
costPerUnit - String
|
|
createdAt - String
|
|
dimensionsDisplay - String
|
Formatted dimensions for display |
heightMm - Int
|
|
id - ID
|
|
isActive - Boolean
|
|
isLowStock - Boolean
|
True if quantity is at or below reorder point |
labelHeightMm - Int
|
|
labelWidthMm - Int
|
|
labelsPerRoll - Int
|
|
lengthMm - Int
|
|
name - String
|
|
notes - String
|
|
organizationId - String
|
|
qrCode - String
|
|
quantity - Int
|
|
reorderPoint - Int
|
|
reorderQuantity - Int
|
|
sku - String
|
|
supplier - Supplier
|
|
supplierId - String
|
|
supplierSku - String
|
|
type - PackagingType
|
|
updatedAt - String
|
|
warehouseLocation - WarehouseLocation
|
|
warehouseLocationId - String
|
|
weightGrams - Int
|
|
widthMm - Int
|
Example
{
"costPerUnit": "xyz789",
"createdAt": "abc123",
"dimensionsDisplay": "abc123",
"heightMm": 123,
"id": "4",
"isActive": true,
"isLowStock": false,
"labelHeightMm": 123,
"labelWidthMm": 987,
"labelsPerRoll": 123,
"lengthMm": 123,
"name": "xyz789",
"notes": "abc123",
"organizationId": "abc123",
"qrCode": "abc123",
"quantity": 123,
"reorderPoint": 123,
"reorderQuantity": 123,
"sku": "abc123",
"supplier": Supplier,
"supplierId": "xyz789",
"supplierSku": "abc123",
"type": "BOX",
"updatedAt": "xyz789",
"warehouseLocation": WarehouseLocation,
"warehouseLocationId": "abc123",
"weightGrams": 123,
"widthMm": 123
}
StationeryLocationStock
Description
Stock levels for stationery at a specific warehouse location
Fields
| Field Name | Description |
|---|---|
availableQuantity - Int
|
|
createdAt - String
|
|
id - ID
|
|
lastCountDate - String
|
|
lastRestockDate - String
|
|
maxStock - Int
|
|
notes - String
|
|
organizationId - ID
|
|
quantity - Int
|
|
reorderPoint - Int
|
|
reservedQuantity - Int
|
|
stationeryType - StationeryType
|
|
stationeryTypeId - ID
|
|
updatedAt - String
|
|
warehouseLocation - WarehouseLocation
|
|
warehouseLocationId - ID
|
Example
{
"availableQuantity": 123,
"createdAt": "xyz789",
"id": "4",
"lastCountDate": "abc123",
"lastRestockDate": "xyz789",
"maxStock": 123,
"notes": "abc123",
"organizationId": "4",
"quantity": 123,
"reorderPoint": 123,
"reservedQuantity": 123,
"stationeryType": StationeryType,
"stationeryTypeId": 4,
"updatedAt": "xyz789",
"warehouseLocation": WarehouseLocation,
"warehouseLocationId": "4"
}
StationeryType
Description
Stationery or packing material type
Fields
| Field Name | Description |
|---|---|
category - String
|
|
cost - String
|
|
createdAt - String
|
|
description - String
|
|
dimensions - JSON
|
|
id - ID
|
|
isActive - Boolean
|
|
locationStock - [StationeryLocationStock!]
|
|
organizationId - ID
|
|
sku - String
|
|
supplier - String
|
|
supplierSku - String
|
|
title - String
|
|
totalAvailableQuantity - Int
|
|
totalQuantity - Int
|
|
updatedAt - String
|
|
weight - Float
|
Example
{
"category": "xyz789",
"cost": "xyz789",
"createdAt": "abc123",
"description": "abc123",
"dimensions": {},
"id": "4",
"isActive": false,
"locationStock": [StationeryLocationStock],
"organizationId": 4,
"sku": "abc123",
"supplier": "xyz789",
"supplierSku": "xyz789",
"title": "xyz789",
"totalAvailableQuantity": 123,
"totalQuantity": 123,
"updatedAt": "abc123",
"weight": 987.65
}
StepStatus
Description
Status of an individual fulfillment step
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"COMPLETED"
StoreLocation
Description
Available store location from connected platforms
Example
{
"address": "xyz789",
"city": "abc123",
"country": "abc123",
"id": "abc123",
"isActive": false,
"metadata": {},
"name": "abc123",
"postalCode": "abc123",
"state": "xyz789",
"storeConnectionId": "4",
"storeType": "AMAZON"
}
StoreType
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"AMAZON"
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"xyz789"
SupplementalItemInput
Fields
| Input Field | Description |
|---|---|
orderLineItemId - ID
|
Required for RE_SEND |
productId - ID
|
Required for COMPLIMENTARY |
quantity - Int!
|
|
type - SupplementalItemType!
|
|
variantId - ID
|
Required for COMPLIMENTARY |
Example
{
"orderLineItemId": "4",
"productId": 4,
"quantity": 987,
"type": "COMPLIMENTARY",
"variantId": "4"
}
SupplementalItemType
Description
Type of item in a supplemental fulfillment
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
Example
"COMPLIMENTARY"
Supplier
Description
Supplier with contact and purchasing information
Fields
| Field Name | Description |
|---|---|
Organization - Organization
|
|
PurchaseOrders - [PurchaseOrder!]
|
|
SupplierProducts - [SupplierProduct!]
|
|
address - String
|
|
city - String
|
|
code - String
|
|
contactEmail - String
|
|
contactName - String
|
|
contactPhone - String
|
|
country - String
|
|
countryCode - String
|
|
createdAt - String
|
|
currency - String
|
|
description - String
|
|
id - ID
|
|
isActive - Boolean
|
|
leadTimeDays - Int
|
|
metadata - String
|
|
minimumOrderValue - String
|
|
name - String
|
|
notes - String
|
|
organizationId - ID
|
|
paymentTerms - String
|
|
postalCode - String
|
|
productCount - Int
|
|
purchaseOrderCount - Int
|
|
purchasePortalUrl - String
|
|
rating - Int
|
|
shippingMethod - String
|
|
state - String
|
|
updatedAt - String
|
|
website - String
|
Example
{
"Organization": Organization,
"PurchaseOrders": [PurchaseOrder],
"SupplierProducts": [SupplierProduct],
"address": "xyz789",
"city": "xyz789",
"code": "abc123",
"contactEmail": "abc123",
"contactName": "abc123",
"contactPhone": "abc123",
"country": "xyz789",
"countryCode": "xyz789",
"createdAt": "abc123",
"currency": "abc123",
"description": "xyz789",
"id": "4",
"isActive": true,
"leadTimeDays": 987,
"metadata": "abc123",
"minimumOrderValue": "abc123",
"name": "abc123",
"notes": "abc123",
"organizationId": "4",
"paymentTerms": "abc123",
"postalCode": "abc123",
"productCount": 987,
"purchaseOrderCount": 123,
"purchasePortalUrl": "abc123",
"rating": 123,
"shippingMethod": "abc123",
"state": "abc123",
"updatedAt": "abc123",
"website": "abc123"
}
SupplierProduct
Description
Supplier-product relationship with pricing and ordering info
Fields
| Field Name | Description |
|---|---|
Product - Product
|
|
PurchaseOrderItems - [PurchaseOrderItem!]
|
|
Supplier - Supplier
|
|
createdAt - String
|
|
currency - String
|
|
id - ID
|
|
isActive - Boolean
|
|
isPrimary - Boolean
|
|
lastOrderedAt - String
|
|
leadTimeDays - Int
|
|
minimumOrderQuantity - Int
|
|
packSize - Int
|
|
productId - ID
|
|
supplierCost - String
|
|
supplierId - ID
|
|
supplierProductName - String
|
|
supplierSku - String
|
|
updatedAt - String
|
Example
{
"Product": Product,
"PurchaseOrderItems": [PurchaseOrderItem],
"Supplier": Supplier,
"createdAt": "abc123",
"currency": "xyz789",
"id": "4",
"isActive": false,
"isPrimary": true,
"lastOrderedAt": "abc123",
"leadTimeDays": 987,
"minimumOrderQuantity": 987,
"packSize": 123,
"productId": 4,
"supplierCost": "abc123",
"supplierId": "4",
"supplierProductName": "xyz789",
"supplierSku": "abc123",
"updatedAt": "xyz789"
}
SyncStatus
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Example
"ERROR"
Team
Description
Team for organizing users
Fields
| Field Name | Description |
|---|---|
DefaultRole - RoleType
|
|
Organization - Organization
|
|
TeamMember - [TeamMember!]
|
|
color - String
|
|
createdAt - String
|
|
defaultPermissions - JSON
|
|
defaultRole - RoleType
|
|
defaultRoleId - String
|
|
description - String
|
|
id - ID
|
|
isActive - Boolean
|
|
memberCount - Int
|
|
members - [TeamMember!]
|
|
name - String
|
|
organizationId - ID
|
|
permissions - [Permission!]
|
|
roleCount - Int
|
|
roles - [RoleType!]
|
|
updatedAt - String
|
Example
{
"DefaultRole": RoleType,
"Organization": Organization,
"TeamMember": [TeamMember],
"color": "xyz789",
"createdAt": "abc123",
"defaultPermissions": {},
"defaultRole": RoleType,
"defaultRoleId": "abc123",
"description": "xyz789",
"id": 4,
"isActive": true,
"memberCount": 123,
"members": [TeamMember],
"name": "abc123",
"organizationId": 4,
"permissions": [Permission],
"roleCount": 987,
"roles": [RoleType],
"updatedAt": "xyz789"
}
TeamMember
Description
Team member relationship
Example
{
"Role": RoleType,
"Team": Team,
"User": User,
"currentRole": RoleType,
"currentRoleId": "abc123",
"id": 4,
"joinedAt": "abc123",
"roleTypeId": "xyz789",
"team": Team,
"teamId": "4",
"user": User,
"userId": 4
}
UpdateOrderInput
Fields
| Input Field | Description |
|---|---|
cancelReason - String
|
|
cancelledAt - String
|
|
carrier - String
|
|
closedAt - String
|
|
confirmed - Boolean
|
|
currency - String
|
|
customerId - ID
|
|
customerIp - String
|
|
customerNotes - String
|
|
deliveredAt - String
|
|
discountAmount - String
|
|
discountCodes - JSON
|
|
email - String
|
|
exchangeRate - String
|
|
fulfilledAt - String
|
|
fulfillmentStatus - String
|
|
internalNotes - String
|
|
lastSyncedAt - String
|
|
lineItems - [LineItemInput!]
|
|
metadata - JSON
|
|
notifyCustomerOnRefund - Boolean
|
|
orderDate - String
|
|
orderNumber - String
|
|
paidAt - String
|
|
paymentGateway - String
|
|
paymentMethod - String
|
|
paymentStatus - String
|
|
phone - String
|
|
processedAt - String
|
|
refundedAmount - String
|
|
refunds - JSON
|
|
restockOnCancel - Boolean
|
|
riskAssessmentDetails - JSON
|
|
riskLevel - String
|
|
riskRecommendation - String
|
|
shippingAddress - AddressInput
|
|
shippingCost - String
|
|
shippingLines - JSON
|
|
shippingMethod - String
|
|
shopifyUpdatedAt - String
|
|
status - String
|
|
subtotal - String
|
|
syncError - String
|
|
syncStatus - String
|
|
tags - [String!]
|
|
taxAmount - String
|
|
totalAmount - String
|
|
trackingNumber - String
|
|
trackingUrl - String
|
|
transactions - JSON
|
Example
{
"cancelReason": "xyz789",
"cancelledAt": "abc123",
"carrier": "abc123",
"closedAt": "xyz789",
"confirmed": true,
"currency": "xyz789",
"customerId": 4,
"customerIp": "abc123",
"customerNotes": "abc123",
"deliveredAt": "xyz789",
"discountAmount": "abc123",
"discountCodes": {},
"email": "abc123",
"exchangeRate": "abc123",
"fulfilledAt": "xyz789",
"fulfillmentStatus": "xyz789",
"internalNotes": "abc123",
"lastSyncedAt": "abc123",
"lineItems": [LineItemInput],
"metadata": {},
"notifyCustomerOnRefund": false,
"orderDate": "abc123",
"orderNumber": "xyz789",
"paidAt": "abc123",
"paymentGateway": "xyz789",
"paymentMethod": "xyz789",
"paymentStatus": "abc123",
"phone": "abc123",
"processedAt": "abc123",
"refundedAmount": "abc123",
"refunds": {},
"restockOnCancel": true,
"riskAssessmentDetails": {},
"riskLevel": "abc123",
"riskRecommendation": "abc123",
"shippingAddress": AddressInput,
"shippingCost": "abc123",
"shippingLines": {},
"shippingMethod": "abc123",
"shopifyUpdatedAt": "abc123",
"status": "xyz789",
"subtotal": "xyz789",
"syncError": "abc123",
"syncStatus": "xyz789",
"tags": ["abc123"],
"taxAmount": "abc123",
"totalAmount": "xyz789",
"trackingNumber": "xyz789",
"trackingUrl": "abc123",
"transactions": {}
}
UpdateProductInput
Fields
| Input Field | Description |
|---|---|
allowBackorder - Boolean
|
|
barcode - String
|
|
basePrice - String
|
|
brand - String
|
|
bundleItems - [ProductBundleItemInput!]
|
|
bundlePricing - String
|
|
category - String
|
|
compareAtPrice - String
|
|
costPrice - String
|
|
countryOfOrigin - String
|
|
customsDescription - String
|
|
description - String
|
|
dimensionUnit - String
|
|
handle - String
|
|
hasOnlyDefaultVariant - Boolean
|
|
height - String
|
|
hsCode - String
|
|
isGiftCard - Boolean
|
|
length - String
|
|
lowStockThreshold - Int
|
|
metaDescription - String
|
|
metaTitle - String
|
|
option1Name - String
|
|
option1Values - [String!]
|
|
option2Name - String
|
|
option2Values - [String!]
|
|
option3Name - String
|
|
option3Values - [String!]
|
|
organizationId - ID!
|
|
primaryImageId - ID
|
|
productType - String
|
|
provinceOfOrigin - String
|
|
publishedAt - String
|
|
quantity - Int
|
|
requiresShipping - Boolean
|
|
reservedQuantity - Int
|
|
sku - String
|
|
slug - String
|
|
status - String
|
|
supplierId - ID
|
|
tags - [String!]
|
|
taxable - Boolean
|
|
title - String
|
|
trackInventory - Boolean
|
|
type - String
|
|
weight - String
|
|
weightUnit - String
|
|
width - String
|
Example
{
"allowBackorder": true,
"barcode": "xyz789",
"basePrice": "xyz789",
"brand": "xyz789",
"bundleItems": [ProductBundleItemInput],
"bundlePricing": "xyz789",
"category": "xyz789",
"compareAtPrice": "xyz789",
"costPrice": "abc123",
"countryOfOrigin": "xyz789",
"customsDescription": "abc123",
"description": "abc123",
"dimensionUnit": "abc123",
"handle": "xyz789",
"hasOnlyDefaultVariant": true,
"height": "abc123",
"hsCode": "xyz789",
"isGiftCard": true,
"length": "abc123",
"lowStockThreshold": 123,
"metaDescription": "xyz789",
"metaTitle": "abc123",
"option1Name": "xyz789",
"option1Values": ["xyz789"],
"option2Name": "xyz789",
"option2Values": ["xyz789"],
"option3Name": "abc123",
"option3Values": ["xyz789"],
"organizationId": 4,
"primaryImageId": "4",
"productType": "xyz789",
"provinceOfOrigin": "xyz789",
"publishedAt": "abc123",
"quantity": 987,
"requiresShipping": false,
"reservedQuantity": 123,
"sku": "xyz789",
"slug": "abc123",
"status": "abc123",
"supplierId": 4,
"tags": ["xyz789"],
"taxable": false,
"title": "abc123",
"trackInventory": false,
"type": "xyz789",
"weight": "xyz789",
"weightUnit": "abc123",
"width": "xyz789"
}
UpdateProductVariantInput
Fields
| Input Field | Description |
|---|---|
allowBackorder - Boolean
|
|
barcode - String
|
|
basePrice - String
|
|
compareAtPrice - String
|
|
costPrice - String
|
|
countryOfOrigin - String
|
|
customsDescription - String
|
|
dimensionUnit - String
|
|
height - String
|
|
hsCode - String
|
|
length - String
|
|
lowStockThreshold - Int
|
|
option1Value - String
|
|
option2Value - String
|
|
option3Value - String
|
|
organizationId - ID!
|
|
position - Int
|
|
primaryImageId - String
|
|
provinceOfOrigin - String
|
|
quantity - Int
|
|
requiresShipping - Boolean
|
|
sku - String
|
|
taxCode - String
|
|
taxable - Boolean
|
|
title - String
|
|
trackInventory - Boolean
|
|
weight - String
|
|
weightUnit - String
|
|
width - String
|
Example
{
"allowBackorder": true,
"barcode": "abc123",
"basePrice": "xyz789",
"compareAtPrice": "abc123",
"costPrice": "abc123",
"countryOfOrigin": "xyz789",
"customsDescription": "xyz789",
"dimensionUnit": "abc123",
"height": "abc123",
"hsCode": "abc123",
"length": "xyz789",
"lowStockThreshold": 987,
"option1Value": "xyz789",
"option2Value": "abc123",
"option3Value": "abc123",
"organizationId": 4,
"position": 123,
"primaryImageId": "abc123",
"provinceOfOrigin": "xyz789",
"quantity": 987,
"requiresShipping": true,
"sku": "abc123",
"taxCode": "xyz789",
"taxable": true,
"title": "xyz789",
"trackInventory": false,
"weight": "xyz789",
"weightUnit": "abc123",
"width": "xyz789"
}
UpdateSupplementalFulfillmentInput
Fields
| Input Field | Description |
|---|---|
carrier - String
|
Carrier connection ID |
declaredWeight - Float
|
Package weight in KG |
height - Float
|
Package height in cm |
length - Float
|
Package length in cm |
packageId - ID!
|
|
reason - String
|
|
scaleWeight - Float
|
Scale-measured weight in KG |
serviceCode - String
|
Carrier service code |
serviceName - String
|
Carrier service display name |
stationeryType - String
|
Stationery/packaging type name |
stationeryTypeId - String
|
Stationery record ID |
width - Float
|
Package width in cm |
Example
{
"carrier": "xyz789",
"declaredWeight": 123.45,
"height": 123.45,
"length": 987.65,
"packageId": 4,
"reason": "xyz789",
"scaleWeight": 123.45,
"serviceCode": "abc123",
"serviceName": "abc123",
"stationeryType": "xyz789",
"stationeryTypeId": "abc123",
"width": 123.45
}
User
Description
User account with authentication
Fields
| Field Name | Description |
|---|---|
Organization - Organization
|
|
Passkey - [Passkey!]
|
|
TeamMember - [TeamMember!]
|
|
UserPermission - [UserPermission!]
|
|
UserRole - [UserRole!]
|
|
authMethod - String
|
Authentication method used in current session (password, passkey, or mfa) |
avatarFile - File
|
|
createdAt - String
|
|
currentRoles - [RoleType!]
|
|
directPermissions - [Permission!]
|
|
email - String
|
|
emailVerified - Boolean
|
|
firstName - String
|
|
id - ID
|
|
isActive - Boolean
|
|
language - String
|
|
lastLoginAt - String
|
|
lastName - String
|
|
locale - String
|
|
mfaEnabled - Boolean
|
|
name - String
|
|
organization - Organization
|
|
organizationId - ID
|
|
passkeys - [Passkey!]
|
|
personalSessionTimeoutHours - Int
|
|
phoneNumber - String
|
|
preferences - JSON
|
|
principalType - PrincipalType
|
Type of principal - USER, PLATFORM_ADMIN, SERVICE, or AUTOMATION |
profilePicture - String
|
|
role - String
|
|
teamMemberships - [TeamMember!]
|
|
teams - [Team!]
|
|
timezone - String
|
|
tokenVersion - Int
|
|
updatedAt - String
|
Example
{
"Organization": Organization,
"Passkey": [Passkey],
"TeamMember": [TeamMember],
"UserPermission": [UserPermission],
"UserRole": [UserRole],
"authMethod": "xyz789",
"avatarFile": File,
"createdAt": "xyz789",
"currentRoles": [RoleType],
"directPermissions": [Permission],
"email": "abc123",
"emailVerified": false,
"firstName": "xyz789",
"id": 4,
"isActive": false,
"language": "abc123",
"lastLoginAt": "abc123",
"lastName": "xyz789",
"locale": "abc123",
"mfaEnabled": false,
"name": "abc123",
"organization": Organization,
"organizationId": "4",
"passkeys": [Passkey],
"personalSessionTimeoutHours": 987,
"phoneNumber": "xyz789",
"preferences": {},
"principalType": "AUTOMATION",
"profilePicture": "xyz789",
"role": "xyz789",
"teamMemberships": [TeamMember],
"teams": [Team],
"timezone": "xyz789",
"tokenVersion": 987,
"updatedAt": "abc123"
}
UserPermission
Description
Join table linking users to permissions
Example
{
"Permission": Permission,
"User": User,
"assignedAt": "xyz789",
"assignedBy": "xyz789",
"id": 4,
"permissionId": 4,
"userId": "4"
}
UserRole
VerificationRequest
WarehouseArea
Description
Logical area within a warehouse location
Fields
| Field Name | Description |
|---|---|
color - String
|
|
createdAt - String
|
|
description - String
|
|
id - ID
|
|
isActive - Boolean
|
|
isObstacle - Boolean
|
|
length - Float
|
|
level - Int
|
|
name - String
|
|
organizationId - ID
|
|
shelves - [WarehouseShelf!]
|
|
startX - Float
|
|
startY - Float
|
|
updatedAt - String
|
|
warehouseLocation - WarehouseLocation
|
|
warehouseLocationId - ID
|
|
width - Float
|
Example
{
"color": "xyz789",
"createdAt": "xyz789",
"description": "abc123",
"id": 4,
"isActive": false,
"isObstacle": true,
"length": 123.45,
"level": 123,
"name": "abc123",
"organizationId": 4,
"shelves": [WarehouseShelf],
"startX": 987.65,
"startY": 987.65,
"updatedAt": "abc123",
"warehouseLocation": WarehouseLocation,
"warehouseLocationId": 4,
"width": 987.65
}
WarehouseBin
Description
Bin within a warehouse shelf
Fields
| Field Name | Description |
|---|---|
barcode - String
|
|
color - String
|
|
createdAt - String
|
|
currentStock - Int
|
|
description - String
|
|
height - Float
|
|
id - ID
|
|
isActive - Boolean
|
|
isObstacle - Boolean
|
|
length - Float
|
|
maxCapacity - Int
|
|
name - String
|
|
organizationId - ID
|
|
startX - Float
|
|
startY - Float
|
|
updatedAt - String
|
|
warehouseShelf - WarehouseShelf
|
|
warehouseShelfId - ID
|
|
width - Float
|
Example
{
"barcode": "abc123",
"color": "xyz789",
"createdAt": "abc123",
"currentStock": 123,
"description": "xyz789",
"height": 123.45,
"id": "4",
"isActive": false,
"isObstacle": false,
"length": 987.65,
"maxCapacity": 987,
"name": "abc123",
"organizationId": "4",
"startX": 123.45,
"startY": 123.45,
"updatedAt": "abc123",
"warehouseShelf": WarehouseShelf,
"warehouseShelfId": "4",
"width": 987.65
}
WarehouseLocation
Description
Physical warehouse location with areas, shelves, and bins
Fields
| Field Name | Description |
|---|---|
address - String
|
|
areas - [WarehouseArea!]
|
|
city - String
|
|
contactEmail - String
|
|
contactName - String
|
|
contactPhone - String
|
|
country - String
|
|
countryCode - String
|
|
createdAt - String
|
|
description - String
|
|
id - ID
|
|
isActive - Boolean
|
|
isPrimary - Boolean
|
|
labelReturnAddressType - LabelAddressType
|
|
labelSenderAddressType - LabelAddressType
|
|
mailingAddress - Address
|
|
metadata - JSON
|
|
name - String
|
|
organizationId - ID
|
|
physicalAddress - Address
|
|
postalCode - String
|
|
showOnContactPage - Boolean
|
|
state - String
|
|
stationeryStock - [StationeryLocationStock!]
|
|
storeConnections - [WarehouseStoreConnection!]
|
|
updatedAt - String
|
Example
{
"address": "abc123",
"areas": [WarehouseArea],
"city": "abc123",
"contactEmail": "xyz789",
"contactName": "xyz789",
"contactPhone": "xyz789",
"country": "abc123",
"countryCode": "xyz789",
"createdAt": "xyz789",
"description": "xyz789",
"id": "4",
"isActive": true,
"isPrimary": true,
"labelReturnAddressType": "MAILING",
"labelSenderAddressType": "MAILING",
"mailingAddress": Address,
"metadata": {},
"name": "abc123",
"organizationId": "4",
"physicalAddress": Address,
"postalCode": "abc123",
"showOnContactPage": true,
"state": "abc123",
"stationeryStock": [StationeryLocationStock],
"storeConnections": [WarehouseStoreConnection],
"updatedAt": "xyz789"
}
WarehouseShelf
Description
Shelf within a warehouse area
Fields
| Field Name | Description |
|---|---|
bins - [WarehouseBin!]
|
|
color - String
|
|
createdAt - String
|
|
description - String
|
|
height - Float
|
|
id - ID
|
|
isActive - Boolean
|
|
isObstacle - Boolean
|
|
length - Float
|
|
name - String
|
|
organizationId - ID
|
|
startX - Float
|
|
startY - Float
|
|
updatedAt - String
|
|
warehouseArea - WarehouseArea
|
|
warehouseAreaId - ID
|
|
width - Float
|
Example
{
"bins": [WarehouseBin],
"color": "xyz789",
"createdAt": "abc123",
"description": "xyz789",
"height": 987.65,
"id": 4,
"isActive": false,
"isObstacle": true,
"length": 987.65,
"name": "abc123",
"organizationId": 4,
"startX": 123.45,
"startY": 123.45,
"updatedAt": "abc123",
"warehouseArea": WarehouseArea,
"warehouseAreaId": 4,
"width": 987.65
}
WarehouseStoreConnection
Description
Connection between warehouse location and external store
Fields
| Field Name | Description |
|---|---|
createdAt - String
|
|
externalLocationId - String
|
|
externalLocationName - String
|
|
fulfillOrders - Boolean
|
|
id - ID
|
|
isActive - Boolean
|
|
metadata - JSON
|
|
organizationId - ID
|
|
priority - Int
|
|
storeConnectionId - String
|
|
storeType - StoreType
|
|
syncInventory - Boolean
|
|
updatedAt - String
|
|
warehouseLocation - WarehouseLocation
|
|
warehouseLocationId - ID
|
Example
{
"createdAt": "xyz789",
"externalLocationId": "abc123",
"externalLocationName": "xyz789",
"fulfillOrders": true,
"id": "4",
"isActive": true,
"metadata": {},
"organizationId": "4",
"priority": 123,
"storeConnectionId": "abc123",
"storeType": "AMAZON",
"syncInventory": true,
"updatedAt": "xyz789",
"warehouseLocation": WarehouseLocation,
"warehouseLocationId": 4
}
WeightUnit
Values
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
Example
"GRAMS"