GraphQL Reference

The types, inputs, interfaces available in the Jungle GraphQL API schema.

View reference documentation to learn about the data types available in the Jungle GraphQL API schema.

Below is reference of all queries, mutations, interfaces, types (objects), scalars (values), enums, unions and inputs in the Jungle.

Table of Contents

Query

Query for information. These will not change any data. See https://graphql.org/learn/queries/

FieldArgumentTypeDescription
todayDate!

Tells you the date according to the server. Useful for debugging.

nowDateTime!

Tells you the time according to the server. Useful for debugging.

idEncodeID!

Encode an ID. Generally used for composite IDs.

parts[String!]!
idDecode ⚠️[String!]

Decode an ID. Note: Not all IDs can decode.

⚠️ DEPRECATED

unused. do not use.

idID!
objectIObject

Get a specific object using it's type (__typename) and id.

If you are only interacting with a single type, consider using the type specific query if it exists. E.g. Query { order(orderId: $id) }.

🤖: If you need to keep the object's state up to date, see Subscription.object.

inputObjectInput!
tagListTagListResult!
allocationAllocation

Get a specific Allocation using it's Id.

allocationIdID!

The Allocation's .id

allocationLineItemAllocationLineItem

Get a specific AllocationLineItem using it's Id.

allocationLineItemIdID!

The AllocationLineItem's .id

backorderBackorder

Get a specific Backorder using it's Id.

backorderIdID!

The Backorder's .id

billBill

Get a specific Bill using it's Id.

billIdID!

The Bill's .id

billOfMaterialsBillOfMaterials

Get a specific BillOfMaterials using it's Id.

billOfMaterialsIdID!

The BillOfMaterials's .id

brandBrand

Get a specific Brand using it's Id.

brandIdID!

The Brand's .id

channelChannel

Get a specific Channel using it's Id.

channelIdID!

The Channel's .id

channelProductChannelProduct

Get a specific ChannelProduct using it's Id.

channelProductIdID!

The ChannelProduct's .id

collectionCollection

Get a specific Collection using it's Id.

collectionIdID!

The Collection's .id

companyCompany

Get a specific Company using it's Id.

companyIdID!

The Company's .id

contactContact

Get a specific Contact using it's Id.

contactIdID!

The Contact's .id

customerCustomer

Get a specific Customer using it's Id.

customerIdID!

The Customer's .id

entityEntity

Get a specific Entity using it's Id.

entityIdID!

The Entity's .id

fulfilmentCollectFulfilmentCollect

Get a specific FulfilmentCollect using it's Id.

fulfilmentCollectIdID!

The FulfilmentCollect's .id

inventoryCostLayerInventoryCostLayer

Get a specific InventoryCostLayer using it's Id.

inventoryCostLayerIdID!

The InventoryCostLayer's .id

inventoryIdentityScanInventoryIdentityScan

Get a specific InventoryIdentityScan using it's Id.

inventoryIdentityScanIdID!

The InventoryIdentityScan's .id

inventoryMovementInventoryMovement

Get a specific InventoryMovement using it's Id.

inventoryMovementIdID!

The InventoryMovement's .id

jobConfiguredJobConfigured

Get a specific JobConfigured using it's Id.

jobConfiguredIdID!

The JobConfigured's .id

lineItemLineItem

Get a specific LineItem using it's Id.

lineItemIdID!

The LineItem's .id

locationLocation

Get a specific Location using it's Id.

locationIdID!

The Location's .id

noteNote

Get a specific Note using it's Id.

noteIdID!

The Note's .id

orderOrder

Get a specific Order using it's Id.

orderIdID!

The Order's .id

priceBookPriceBook

Get a specific PriceBook using it's Id.

priceBookIdID!

The PriceBook's .id

productProduct

Get a specific Product using it's Id.

productIdID!

The Product's .id

productTypeProductType

Get a specific ProductType using it's Id.

productTypeIdID!

The ProductType's .id

purchaseOrderPurchaseOrder

Get a specific PurchaseOrder using it's Id.

purchaseOrderIdID!

The PurchaseOrder's .id

purchaseOrderImportPurchaseOrderImport

Get a specific PurchaseOrderImport using it's Id.

purchaseOrderImportIdID!

The PurchaseOrderImport's .id

purchaseReturnPurchaseReturn

Get a specific PurchaseReturn using it's Id.

purchaseReturnIdID!

The PurchaseReturn's .id

reasonCodeReasonCode

Get a specific ReasonCode using it's Id.

reasonCodeIdID!

The ReasonCode's .id

receiveItemReceiveItem

Get a specific ReceiveItem using it's Id.

receiveItemIdID!

The ReceiveItem's .id

reconciliationLineReconciliationLine

Get a specific ReconciliationLine using it's Id.

reconciliationLineIdID!

The ReconciliationLine's .id

returnReturn

Get a specific Return using it's Id.

returnIdID!

The Return's .id

supplierSupplier

Get a specific Supplier using it's Id.

supplierIdID!

The Supplier's .id

taxCodeTaxCode

Get a specific TaxCode using it's Id.

taxCodeIdID!

The TaxCode's .id

transactionTransaction

Get a specific Transaction using it's Id.

transactionIdID!

The Transaction's .id

transferTransfer

Get a specific Transfer using it's Id.

transferIdID!

The Transfer's .id

currencyCurrency!

Get currency information.

codeCurrencyCode!
currencies[Currency!]!

Get enabled currencies.

moneyDebugMoney

Debug & understand money behavior using this.

moneyMoneyInput!
geoCodeGeoCodeResult

Forward lookup to a lat/lng. Currently works on postal codes and localities in Australia.

inputGeoCodeInput!
eventsEventResult!

Events By default, returns the most recent events first.

objectObjectInput

The object whose timeline to fetch... matches events where this object is the subject or appears in any relationship of the event.

inputEventsInput

Filter, sort, paging. See EventsInput.

attachmentListV2AttachmentListV2Result

List attachments of a specific object.

inputAttachmentListV2Input!
attachmentUploadTokenAttachmentUploadTokenResult

Retrieve a URL to upload PUT new attachments. You must specify the object you are attaching the file/blob to. Optionally, you may provide the filename. If no file name is provided, one is randomly generated.

If NULL returns, you may not upload/attach against the given object.

See /docs/usage/attachments for workflow details.

inputAttachmentUploadTokenInput!
documentationSupportedDocumentationSupportedResult!

Discover what documentation is available for a type, or specified object.

inputDocumentationSupportedInput!
whoamiWhoAmIResult

Who am I?

Use this query to work out your current authorization status and context. If an object is returned, you are authenticated, however it's up to you to work out if have an account selected, account user or not.

authKeyAuthKey

Retrieve an authkey

keyIdID!
authKeyListAuthKeyListResult!
inputAuthListKeysInput
authKeyLoginAuthKeyLoginResult!

Login with an auth key (name tag) and pin

inputAuthKeyLoginInput!
authSwitchAccountAuthSwitchAccountResult!

Switch to another account you have access to

inputAuthSwitchAccountInput!
defaultsDefaults!

Useful user defaults

accountSelectedAccount

Retrieve the current account, if one has been selected

accountListAccountListResult!

Lists the accounts you currently have access to. Use it to know which accounts you can switch between

accountUser ⚠️AccountUser

Retrieve the current account user, if you have selected your account, this is your user with in that account

⚠️ DEPRECATED

To select a specific AccountUser, use object() query instead. To get the current account user, use whoami() query instead.

userIdID!
accountUserList ⚠️AccountUserListResult!

List your account's users

⚠️ DEPRECATED

Use search() query instead

inputListInput
user ⚠️User

If authenticated, returns the current user/you.

⚠️ DEPRECATED

Use whoami() query instead

addressValidateAddressValidationResult!
inputAddressValidationInput!
addressCountryList[Country!]!

List all the known countries.

capabilityListCapabilityListResult!

Explore the known capabilities.

productBySkuProduct

Retrieve a product by SKU.

skuString!
locationList ⚠️LocationListResult!

List your account's locations

⚠️ DEPRECATED

Use the search() query with types: [Location] instead.

inputListInput
locationListChildrenLocationRelatedListResult!

List a location's children

locationIdID!
locationListDescendantsLocationRelatedListResult!

List a location's descendants

locationIdID!
locationListOrphansLocationListResult!

List locations with no parents

inputListInput
serviceListServiceListResult!

List the services available to you.

integrationList ⚠️IntegrationListResult!

List integrations available to your selected account.

⚠️ DEPRECATED

Integrations will be accessed via search, or similar.

integrationConnectionListIntegrationConnectionListResult!

List connections to integrations already made.

inputListInput
orderList ⚠️OrderListResult!

List your account's orders

⚠️ DEPRECATED

Use the search query with types: [Order] instead.

inputListInput
orderListAtLocation ⚠️OrderListResult!

List your account's' orders allocated to a location

⚠️ DEPRECATED

Use the search() query with types: [Order] and a location filter instead.

inputOrderListAtLocationInput!
orderStatusInfoOrderStatusInfoResult

Order status information.

Provides information on known Order statuses.

productWeeklyHistoryProductWeeklyHistoryResult!

Rolling 52-week history for a product: inventory on-hand and sales order volume, bucketed per week in the tenant's configured timezone.

productIdID!
inventoryMovementsReceivedListInventoryMovementReceivedListResult!

Retrieve inventory movements received

inputInventoryMovementReceivedListInput
inventoryInventory

Retrieve an inventory

inventoryIdID!
inventoryBySku[Inventory!]!

Retrieve a SKUs inventory

By default it will exclude the inventory of location's children

skuString!
childrenBoolean

If account is enabled and children is true, inventory of location's children will be included

filterInventoryFilterInput

Inventory with conditions, i.e. damaged excluded by default, set filter none to include inventory with conditions. Only applicable if account is enabled for inventory condition

channelIdID

Optional channel ID to filter inventory based on channel product configuration. If provided, quantities will be adjusted based on channel product settings (enabled, quantityAvailableMaximum).

inventoryByProductInventoryListResult!

Retrieve a product's inventory

By default it will exclude the inventory of location's children

inputInventoryByProductInput!
inventoryListAtLocationInventoryListResult!

List inventory at a location!

Provide the location Id, include the inventory of location's children

inputInventoryListAtLocationInput!
inventorySummarizeInventorySummarizeResult!

Summarize inventory for a given SKU, and location IDs.

This will return summed quantities of on hand & ATP inventory. This is very useful for checkout when finalizing.

Do note, this will not error based on input, and will best effort summarize inventory. This can lead to 0 sums. The result will indicate locations IDs not used in summing. If critical consider the result invalid if there are unused locations.

inputInventorySummarizeInput!
inventorySummarizeByProductInventorySummarizeResult!

Similar to inventorySummarize, but accepts a product ID instead of SKU

inputInventorySummarizeByProductInput!
inventoryByAllocation[InventoryByAllocation!]!

Retrieve an allocation's inventory

By default it will not include the inventory of location's children If children is true, inventory of location's children will be included

allocationIdString!
childrenBoolean
filterInventoryByAllocationFilterInput
inventoryByPurchaseOrder[InventoryByPurchaseOrder!]

List quantity inbound and received for a purchase order Only parent locations included in the list, quantity includes location's children

inputInventoryByPurchaseOrderInput!
inventoryListAssignedAtLocationInventoryListAssignedAtLocationResult!

List of assigned inventory at a Location

inputInventoryListAssignedAtLocationInput!
inventoryAssignableInventoryAssignableResult!

List of inventory items that can be used for assignment

This includes unassigned and items currently assigned

inputInventoryAssignableInput!
inventoryReservedPickInventoryReservedPickResult!

Start, or continue to retrieve the next suggested pick location for a wave/reserved pick.

inputInventoryReservedPickInput!
inventoryReservedPickItemsInventoryReservedPickItemsResult!

Retrieve a list of items to pick

inputInventoryReservedPickItemsInput!
inventoryReservedItemsListInventoryReservedItemsListResult!

Retrieve a list of items reserved for a specific wave

inputInventoryReservedItemsListInput!
inventoryPutAwayItemsInventoryPutAwayItemsResult!

Retrieve a list of items to put away from a location

inputInventoryPutAwayItemsInput!
inventoryPutAwayItemsByLocationInventoryPutAwayItemsByLocationResult!

Retrieve a list of items to put away from a location, with more freedom on which item can be selected first.

inputInventoryPutAwayItemsInput!
inventoryUnassignedPickInventoryUnassignedPickResult!

Start, or continue to retrieve the next suggested pick location for a wave pick of unassigned items.

inputInventoryUnassignedPickInput!
inventoryUnassignedPickItemsInventoryUnassignedPickItemsResult!

Retrieve a list of unassigned items to pick

inputInventoryUnassignedPickItemsInput!
inventoryReplenishablePickItemsInventoryReplenishablePickItemsResult!

Retrieve a list of items for replenishment

inputInventoryReplenishablePickItemsInput!
inventoryToReplenishSummaryInventoryReplenishSummaryResult!

Retrieve a summary of things that need replenishment in a location

inputInventoryReplenishSummaryInput!
printerJunglePrinter

Retrieve a printer

printerIdID!
printerListPrinterListResult!

List your account's printers

jobListForOrder ⚠️JobListResult!

List jobs having the given order ID

⚠️ DEPRECATED

Use the search() query instead.

inputJobListForOrderInput!
orderListFromJobOrderListFromJobResult!

List all orders that is part of a job

inputOrderListFromJobInput!
jobConfigurationListJobConfigurationList!

Retrieve list of available job configurations

inputJobConfigurationListInput!
jobConfiguredLocationPutAwayJobConfiguredLocationPutAwayResult

Retrieve a (or a list of) recommended location to put away for a given item.

inputJobConfiguredLocationPutAwayInput!
jobConfiguredPickLocationNextInventoryReservedPickResult!

Retrieve next suggested pick location for a wave/reserved pick.

inputJobConfiguredPickLocationNextInput!
jobConfiguredPickPreviewJobConfiguredPickPreviewResult!

Preview what would be reserved for a wave/reserved pick.

inputJobConfiguredPickPreviewInput!
scanScannable

A quick way to look up something via a barcode. All kinds of things could return. Beware.

barcodeString!
purchaseOrderInboundItemBySkuPurchaseOrderInboundItemBySkuResult!

List of purchase orders with incoming quantity for an SKU

inputPurchaseOrderInboundItemBySkuInput!
searchSearchResult!

🔍 Search on specific object types in Jungle. You must specify what types you are searching for.

inputSearchInput!
searchMeta[SearchMeta!]!

What a search of the given types accepts — the fields it can filter, sort and count by.

Use it to build a search interface without knowing the types in advance; the answer comes from the same configuration a search itself is run with.

types[SearchableType!]!

Types to describe. Any type that implements the Searchable interface is valid.

searchFacetSearchFacetResult!

Counts the values of the given fields across everything a search matches.

Takes the same filters as search() and returns no records, so a set of counts can be refreshed as filters change without paying for results that are thrown away.

inputSearchFacetInput!
shipmentServices ⚠️ShipmentServicesResult!

⚠️ DEPRECATED

Likely shouldn't use this long term?

statisticsDailyStatisticsDailyResult!

Get daily statistics for a date range

startDateDate!

Start date in ISO 8601 format (YYYY-MM-DD)

endDateDate!

End date in ISO 8601 format (YYYY-MM-DD)

timezoneString!

Timezone for date calculations (e.g., 'Australia/Brisbane')

statisticsOrderDaily[StatisticOrderDailySummary!]!

Order statistics for the past 180 days, one row per calendar day.

retailExpressCustomerListRetailExpressCustomerListResult

List all customers from your Retail Express account

inputRetailExpressCustomerListInput!
insightEmbeddableInsightEmbeddableDetails

Get insight which can be embedded.

inputInsightEmbeddableInput!
insightEmbeddableListInsightEmbeddableResults!

List insights which can be embedded.

inputInsightEmbeddableListInput!

Mutation

Mutations/commands that will change data. See https://graphql.org/learn/queries/#mutations

FieldArgumentTypeDescription
tagAddIMutationResult!

Add tags to an object.

inputTagAddInput!
tagRemoveIMutationResult!

Remove tags from an object.

inputTagRemoveInput!
attributesSetIMutationResult!

Set custom attributes on the target object.

inputAttributesSetInput!
relationAddIMutationResult!

Add a relationship to an object. This can be blocked for various reasons (reserved names, relation limit etc), however most relationships are allowed.

inputRelationAddInput!
relationRemoveIMutationResult!

Remove a specific relationship from an object. If the target is the last member of a relationship group, the group is likely to be removed.

inputRelationRemoveInput!
toggleDisableIMutationResult!

Disables an object.

inputToggleInput!
toggleEnableIMutationResult!

Enables an object.

inputToggleInput!
pingIMutationResult!

Ping the platform. This is useful for devices, integrations, connections, users etc.

inputPingInput
xidAssignIMutationResult!

Assign (either creates or alters) an external ID/alias against a Jungle object. 🤖: To remove an XID, see the xidUnassign mutation.

inputExternalIdAssignInput!
xidUnassignIMutationResult!

Unassign an external ID/alias. Removes it from Jungle. 🤖: To add or restore an XID, see the xidAssign mutation.

inputExternalIdUnassignInput!
geoPointSetIMutationResult!

Set geo point (coordinates) on the target object.

inputGeoPointSetInput!
eventCreateIMutationResult!

Report an event into the Jungle platform.

This is useful for recording events that happen in external systems, or that are triggered by user actions in client apps but don't correspond to a specific platform state change. Reported events are persisted to the timeline alongside platform-emitted events, but they are observational only and do not change platform state directly.

Additionally, reported events can be published to downstream consumers (webhooks, event bus subscribers, partner integrations) when publish is true. This also allows external systems to react to application events, even if they don't have a direct integration.

Rate limit: approximately 1 event per second per actor.

On success returns MutationSuccess with the created (or, on idempotent retry, the prior) event in objects.

Possible MutationFailure.code values:

  • IDEMPOTENCY_CONFLICT — same idExternal already exists with different content.
  • NOT_FOUND — direct subject doesn't exist or the caller isn't permitted to see it.
  • UNAUTHORIZED_SUBJECT — caller isn't authorised to post events against this subject.
  • INVALID_TYPEtype violates the CloudEvents URI pattern or uses a reserved namespace.
  • INVALID_RELATIONSHIPSrelationships contains an entry with an unknown typename or invalid shape.
  • TOO_MANY_RELATIONSHIPSrelationships exceeds 16 entries.
  • TOO_MANY_EVENTS — batch input exceeds 5 events.
  • DATA_TOO_LARGEdata exceeds 64 KiB serialised.
inputEventCreateMutationInput!
attachmentUploadFromUrlIMutationResult!

Given a URL, Jungle will download and save it as an attachment.

Currently only GET HTTP requests are supported, and Jungle will follow redirects twice.

inputAttachmentUploadFromUrlInput!
attachmentUploadFromBase64IMutationResult!

Given base64-encoded content, Jungle will decode and save it as an attachment.

inputAttachmentUploadFromBase64Input!
attachmentPrintIMutationResult!

Attempt to send an attachment to a printer for printing. Note that the printer may not be able to print the specified attachment.

inputAttachmentPrintInput!
exportExportResult!

🔍 Export data of a specific data type in Jungle.

inputExportInput!
barcodeAddIMutationResult!
inputBarcodeAddInput!
barcodeRemoveIMutationResult!
inputBarcodeRemoveInput!
barcodePrint ⚠️IMutationResult!

⚠️ DEPRECATED

Do not use.

inputBarcodePrintInput!
documentationPrintDocumentationPrintResult!

Attempt to send a document to a printer for printing. Note that the printer may not be able to print the specified documentation.

inputDocumentationPrintInput!
noteCreateIMutationResult!

Create a note against an object in Jungle.

🤖: If you are trying to bring in comments, snippets or notes from another system, you should use the .xids field to store the external ID of the comment.

inputNoteCreateInput!

Mutation input for noteCreate

authKeyCreate ⚠️Boolean

⚠️ DEPRECATED

not implemented. do not use

apiKeyCreateString
inputApiKeyCreateInput!
identityCreateIdentity

Create a new identity with web access

inputIdentityCreateInput!
identityUpdateIdentity

Update an existing identity

inputIdentityUpdateInput!
accountUserUpdateAccountUserCreateResult

Upgrade an account user to a full user

inputAccountUserUpdateInput!
accountUserCreateAccountUserCreateResult

Create an account user

inputAccountUserCreateInput!
accountUserDeleteBoolean

Remove user access to an account without destroying their identity

inputAccountUserDeleteInput!
userSetDisplayNameBoolean

Update your display name.

inputUserSetDisplayNameInput!
accountUserUpgradeIMutationResult!

Upgrade account user to web user.

inputAccountUserUpgradeInput!
accountUserInviteIMutationResult!

Invite an existing user into your account.

inputAccountUserInviteInput!
accountCreateIMutationResult!
inputAccountCreateInput!

Parameters for creating a new account.

postalAddressPointBackfillIMutationResult!

Restore the geographic point on an object's postal address from a previously computed geocoding result, when one is available. This never performs new geocoding: when no previously computed point is available for the address, no change is made.

Supported addresses: Order.billingAddress, Allocation.shippingAddress, Location.address, Supplier.address, Supplier.billingAddress, Supplier.returnAddress, Return.fromAddress.

On success, objects contains the updated object when a point was restored, and is empty when no change was made (see logs for the outcome).

inputPostalAddressPointBackfillInput!
reasonCodeCreateIMutationResult!

Create a new reason code.

inputReasonCodeCreateInput!
capabilitiesSetIMutationResult!

Set capabilities on an object.

inputCapabilitiesSetInput!
capabilityConstraintsSetIMutationResult!

Set constraints on the capability in relation to the target object.

inputCapabilityConstraintsSetInput!
taxProfileSetIMutationResult!

Set the tax profile for a supported subject.

inputTaxProfileSetInput!

The tax profile details to set.

taxRegistrationSetIMutationResult!

Set the active tax registration under a supported subject's tax profile.

inputTaxRegistrationSetInput!

The tax registration details to set.

taxRegistrationRemoveIMutationResult!

Remove the active tax registration of a given type and country from a supported subject's tax profile.

inputTaxRegistrationRemoveInput!

The tax registration to remove.

productCreateIMutationResult!

Create a new product. It can start with a just a barcode scan.

inputProductCreateInput!
productSetName ⚠️IMutationResult!

Update a products name and description.

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetNameInput!
productSetSkuIMutationResult!

Update a products SKU. Set sku NULL to remove.

inputProductSetSkuInput!
productSetDimensions ⚠️IMutationResult!

Update a product's dimensions.

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetDimensionsInput!
productSetWeight ⚠️IMutationResult!

Update a product's weight.

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetWeightInput!
productSetDangerousGoods ⚠️IMutationResult!

Update a product's dangerous goods details.

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetDangerousGoodsInput!
productSetHsCode ⚠️IMutationResult!

Set the Harmonised System Code of a product

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetHsCodeInput!
productUpdateIMutationResult!

Update a product.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputProductUpdateInput!
productEntityCostSetIMutationResult!

Set cost figures for a product within a single entity.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value.

inputProductEntityCostSetInput!
productSupplierPreferenceCreateIMutationResult!

Create a supplier preference for a product, optionally scoped to a location.

A product can have at most one preference per supplier and location (including the product-wide case where no location is given); creating an exact duplicate fails.

inputProductSupplierPreferenceCreateInput!
productSupplierPreferenceUpdateIMutationResult!

Update the priority of a product's supplier preference.

inputProductSupplierPreferenceUpdateInput!
productSupplierPreferenceDeleteIMutationResult!

Delete a product's supplier preference.

inputProductSupplierPreferenceDeleteInput!
collectionCreateIMutationResult!

Create a new collection.

inputCollectionCreateMutationInput!
collectionUpdateIMutationResult!

Update an existing Collection.

inputCollectionUpdateMutationInput!
collectionProductsAddIMutationResult!

Add Products to a Collection. Adding a Product that is already in the Collection changes nothing.

inputCollectionProductsAddInput!
collectionProductsRemoveIMutationResult!

Remove Products from a Collection. Removing a Product that is not in the Collection changes nothing.

inputCollectionProductsRemoveInput!
locationCreateLocationCreateResult

Create a new location under your account.

inputLocationCreateInput!
locationChangeAddressBoolean

Changes the postal address of the location, if it exists

inputLocationChangeAddressInput!
locationSetParentLocationSetParentResult
inputLocationSetParentInput!
locationSetNameBoolean
inputLocationSetNameInput!
locationSetReferenceBoolean
inputLocationSetReferenceInput!
locationUpdateIMutationResult!

Update mutable properties of a location (dimensions, volume, floor, and geometry). Only provided fields are changed; provide null to clear a nullable field.

inputLocationUpdateInput!
locationSetDefaultBoolean

Set your (the current user's) default location

inputLocationSetDefaultInput!
locationSequenceIMutationResult!

Modify the sequence of a location.

inputLocationSequenceInput!
locationMigrateIMutationResult!

Migrate location to a new root location or location under different root location.

This will disable the location and create a new location with the same details in the destination location. Existing inventory and barcode will be moved to the new location.

inputLocationMigrateInput!
channelCreateIMutationResult!

Create a new channel.

inputChannelCreateInput!
channelSetNameIMutationResult!

Change the name of a channel.

inputChannelSetNameInput!
channelSetDescriptionIMutationResult!

Change the description of a channel.

inputChannelSetDescriptionInput!
channelSetCodeIMutationResult!

Change the code of a channel.

inputChannelSetCodeInput!
integrationConnectIMutationResult!

Connect your account to an integration.

inputIntegrationConnectInput!
integrationCreateIMutationResult!

Create an integration with Jungle.

At first only the account this integration was created within may connect to this integration. For other accounts to connect to this integration, the integration will need to go though validation and publishing. You may only have a maximum of 10 unpublished / private integrations.

inputIntegrationCreateInput!
lineItemCancelIMutationResult!

Cancel a specific amount of the provided line item.

inputLineItemCancelInput!
lineItemQuantityIncrementIMutationResult!

Increment quantity of the provided line item. Only Order Line Item is supported at the moment.

inputLineItemQuantityIncrementInput!
lineItemsSetIMutationResult!

Set line items for a line item source.

inputLineItemsSetMutationInput!
lineItemQuantityToReceiveDecrementIMutationResult!

Decrement the quantity to receive of a line item by a certain amount. Useful when items will never arrive, or will not ever be received by conventional means, i.e: lost in transit, etc. Only Transfer Line Item is supported at the moment.

inputLineItemQuantityToReceiveDecrementInput!
lineItemQuantityToReceiveIncrementIMutationResult!

Increment the quantity to receive of a line item by a certain amount. Useful to restore the quantity previously marked as "will never receive". Only Transfer Line Item is supported at the moment.

inputLineItemQuantityToReceiveIncrementInput!
transactionCreateIMutationResult!

Create a new Transaction

inputTransactionCreateMutationInput!
transactionUpdateIMutationResult!

Update an Transaction.

This allows updating an Transaction.

Note, not every field on an Transaction is updatable.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputTransactionUpdateMutationInput!
inventoryIdentityScanCreateIMutationResult!

Create an identity scan

inputInventoryIdentityScanCreateInput!
inventoryIdentityScanUpdateIMutationResult!

Update an identity scan.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputInventoryIdentityScanUpdateInput!
allocationCreateIMutationResult!

Use this to create an allocation, which can be independent from any allocation source

inputAllocationCreateInput!
allocationLineItemAssociateIMutationResult!

Associate an order line item with an allocation.

inputAllocationLineItemAssociateInput!
allocationLineItemMoveIMutationResult!

Move items from an allocation or unallocated line item to another allocation, if possible.

inputAllocationLineItemMoveInput!
allocationFulfilmentAllowIMutationResult!

Allow fulfilment for the allocation.

inputAllocationFulfilmentAllowInput!
allocationFulfilmentHoldIMutationResult!

Hold fulfilment for the allocation.

inputAllocationFulfilmentHoldInput!
allocationMethodSetIMutationResult!

Change the fulfilment method of an allocation

inputAllocationMethodSetInput!
allocationSplitUnassignedIMutationResult!

Split out unassigned items from an allocation into a new allocation. This is useful to have the target allocation ready to be packed.

inputAllocationSplitUnassignedInput!
backorderCreateIMutationResult!

Create a backorder against an allocation line.

inputBackorderCreateInput!

Input for backorderCreate.

backorderAssociatePurchaseOrderLineItemIMutationResult!

Associate a purchase order line with a backorder.

inputBackorderAssociatePurchaseOrderLineItemInput!
backorderDissociatePurchaseOrderLineItemIMutationResult!

Dissociate a backorder from it's linked purchase order line item.

inputBackorderDissociatePurchaseOrderLineItemInput!
backorderCancelIMutationResult!

Cancel a backorder. Must not have any Purchase Order lines associated to it.

inputBackorderCancelInput!
backorderQuantityUpdateIMutationResult!

Update quantity for a backorder.

inputBackorderQuantityUpdateInput!
orderCreateIMutationResult!

Create a new Order.

⚠️: Calling orderCreate without any input will create an empty, Intent to sell Order in the system.

inputOrderCreateMutationInput!
orderUpdateIMutationResult!

Update an Order.

This allows updating an Order.

Note, not every field on an Order is updatable.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputOrderUpdateMutationInput!
orderConsumeWithAllocationsOrderConsumedResult!

Push an Order into Jungle with allocation groupings.

This allows you to specify how the order is split for fulfilment purposes.

If you're just sending all the items to one place, only send through one allocation with the all the line items.

inputOrderConsumeAllocatedInput!
orderLineItemAddIMutationResult!

Add a line item to an order. The added line item will be in a new allocation, with the most recently changed shipping address.

inputOrderLineItemAddInput!
orderSetFulfilmentAllowedIMutationResult!

Set an order's fulfilment allowed.

This will allow or disallow future fulfilment for the order.

inputOrderSetFulfilmentAllowedInput!
orderSetStatusOrderSetStatusResult!

Set an order's status

inputOrderSetStatusInput!
orderCancelOrderCancelResult!

Cancels an order.

You can cancel an order in the following situations:

  • There are no in progress fulfilments on the order.
  • A reason is provided.

The most common reasons for canceling an order include the following:

  • The payment was fraudulent.
  • The customer changed their mind.
  • The products order are not available.
  • Shipping or handling faults leading to a refund.

The cancellation will change the status of the order, record a note, and an event of who cancelled and why.

inputOrderCancelInput!
orderAllocationCreateIMutationResult!

Creates a new allocation against an Order

inputOrderAllocationCreateInput!
orderAllocationLineItemAssociate ⚠️IMutationResult!

Associate an order line item with an allocation.

⚠️ DEPRECATED

Use allocationLineItemAssociate instead.

inputOrderAllocationLineItemAssociateInput!
orderAllocationLineItemMove ⚠️IMutationResult!

Move items from an allocation to another allocation, if possible.

⚠️ DEPRECATED

Use allocationLineItemMove instead.

inputOrderAllocationLineItemMoveInput!
orderAllocationSetShippingAddressOrderAllocationSetShippingAddressResult!

Change the shipping address of an allocation

inputOrderAllocationSetShippingAddressInput!
orderAllocationSetLocationOrderAllocationSetLocationResult!

Set/override the location of an allocation. Be mindful, this can only be done if the allocation does not have fulfilments.

inputOrderAllocationSetLocationInput!
orderAllocationSetMethod ⚠️IMutationResult!

Change the fulfilment method of an allocation

⚠️ DEPRECATED

Use allocationMethodSet instead.

inputOrderAllocationSetMethodInput!
orderRouteIMutationResult!

Trigger routing logic for an order (if configured).

inputOrderRouteInput!
orderCustomerSetIMutationResult!

Set customer ID on an order.

inputOrderCustomerSetInput!
orderLineItemCancelIMutationResult!

Cancel a quantity of a line item on an order. If partial cancellation (only some of the line item qty), the line item will be split in two with the target line item having the remaining quantity, and a new line item being created with the cancelled quantity.

🤖: If you cannot cancel the line item, the mutation will fail. To know the reason, refer to the line item's .actions.

inputOrderLineItemCancelInput!
brandCreateIMutationResult!

Create a new brand.

inputBrandCreateInput!
brandSetName ⚠️IMutationResult!

Update brand name.

⚠️ DEPRECATED

Use brandUpdate instead.

inputBrandSetNameInput!
brandUpdateIMutationResult!

Update a brand.

inputBrandUpdateInput!
entityCreateIMutationResult!

Create a new Entity.

inputEntityCreateMutationInput!
entityUpdateIMutationResult!

Update an Entity.

This allows updating an Entity.

Note, not every field on an Entity is updatable.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputEntityUpdateMutationInput!
priceBookCreateIMutationResult!

Create a new price book.

inputPriceBookCreateMutationInput!
priceBookUpdateIMutationResult!

Update a price book.

Note, not every field on a price book is updatable.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputPriceBookUpdateMutationInput!
priceBookLineSetIMutationResult!

Set the price for a product in a price book.

Creates the line when the product is not yet priced in the book, updates it when it is. Setting unitPrice to NULL removes the product's line from the book.

inputPriceBookLineSetMutationInput!
priceBookLineBreaksSetIMutationResult!

Set the quantity price breaks for a product's line in a price book.

Atomically replaces the line's full break list; an empty list removes all breaks. Each break must have a unique quantityMinimum of at least 2, and exactly one of unitPrice (in the book's currency) or percentOff.

inputPriceBookLineBreaksSetMutationInput!
priceBookSupplierAssignmentCreateIMutationResult!

Assign a price book to a supplier, making the book's prices applicable to that supplier.

Only purchasing books can be assigned to suppliers. A supplier may have multiple applicable books; assigning the same book to the same supplier twice fails.

inputPriceBookSupplierAssignmentCreateMutationInput!
priceBookSupplierAssignmentUpdateIMutationResult!

Update a price book supplier assignment, reassigning the book to a different supplier or changing its priority.

🤖: Optional fields that are not defined in the input will not be changed.

inputPriceBookSupplierAssignmentUpdateMutationInput!
priceBookSupplierAssignmentDeleteIMutationResult!

Delete a price book supplier assignment, making the book no longer applicable to the supplier.

inputPriceBookSupplierAssignmentDeleteMutationInput!
inventorySetByProductIMutationResult!

Set the inventory of a product at a location.

This will assign the on hand quantity to the quantity provided.

inputInventorySetByProductInput!
inventorySetBySkuInventoryCreateResult!

Set the inventory of a SKU at a location.

This will assign the on hand quantity to the quantity provided.

inputInventorySetBySkuInput!
inventorySetAtLocationIMutationResult!

Set the inventory at a location.

inputInventorySetAtLocationInput!
inventoryAllocateInventoryAllocateResult!

Allocate inventory at a location.

This is useful for holding inventory from ATP, but hasn't yet left your business.

inputInventoryAllocateInput!
inventoryAllocationsClearInventoryAllocationsClearResult!

Clear SKU allocations at a location.

This will reset the quantityAllocated to 0, clearing known allocations. As this can have process consequences, a reason MUST be provided for doing this.

inputInventoryAllocationsClearInput!
inventoryAssignIMutationResult!

Assign list of inventory to a target If inventory to to take from is provided it will be reassigned from it's current target if exist, to the new target.

inputInventoryAssignInput!
inventoryMoveInventoryMoveResult!

Move inventory between locations.

This will decrement from the source (from), and increment at the destination (to).

inputInventoryMoveInput!
inventoryMovesIMutationResult!

Move multiple inventory between locations.

This will decrement from the source (from), and increment at the destination (to).

inputInventoryMovesInput!
inventoryUpdateBySkuIMutationResult!

Update the inventory of a SKU at a location.

This will increment/decrement the on hand quantity using the quantity provided.

inputInventoryUpdateBySkuInput!
inventoryMovementCreateIMutationResult!

Create an inventory movement request of a SKU

inputInventoryMovementCreateInput!
inventoryAssignmentAdjustIMutationResult!

Adjust assignment of a SKU at a location.

With the right quantity, it will potentially make the provided allocation eligible for automated allocation assignment again the next time it executes. As this can have process consequences, a reason MUST be provided for doing this.

inputInventoryAssignmentAdjustInput!
inventoryReservedSequenceAdjustIMutationResult!

Adjust the sequence number on SKU at a location level.

This will affect the order in which the inventory is listed for sequence-dependent operations (i.e: wave picking) whilst location sequencing is still in effect. Useful for overriding the default sequence of inventory, while respecting the location sequence (i.e: deferring an item to the end of a wave pick).

Only works when the inventory is reserved for an operation.

inputInventoryReservedSequenceAdjustInput!
inventoryPreferenceUpdateIMutationResult!

Update inventory preference.

inputInventoryPreferenceUpdateInput!
printRawPrintResult!

Send raw data to a printer.

Be careful.

inputPrintRawInput!
printerSetDefaultBoolean

Sets your default printer, null to remove.

inputPrinterSetDefaultInput!
fulfilmentShipmentAdd ⚠️IMutationResult!

Create fulfilment from shipment

Adds relation to the allocation and create fulfilment from confirmed shipment

⚠️ DEPRECATED

This is to be handled as part of "shipmentCreate" mutation.

inputFulfilmentShipmentAddInput!
deviceUpdateIMutationResult!

Update a device.

inputDeviceUpdateMutationInput!
deviceDefaultSetIMutationResult!

Sets your default device per capability.

inputDeviceDefaultSetInput!
deviceReportWeighIMutationResult!

Device report weigh. Used by scales & balances (weighing devices) to report recorded weights. Using this on a device marks that device as having the weigh capability.

inputDeviceReportWeighInput!
jobPickCreateJobPickCreateResult!

Create a picking job

inputJobPickCreateInput!
jobPackCreateJobPackCreateResult!

Create a packing job

inputJobPackCreateInput!
jobConfiguredCreateIMutationResult!

Create a configured job

inputJobConfiguredCreateInput!
jobConfiguredPickCreateIMutationResult!

Create a configured job for picking

inputJobConfiguredPickCreateInput!
jobPackSetAllocationShippingAddress ⚠️JobPackSetAllocationShippingAddressResult!

Change the shipping address on the packing job.

⚠️ DEPRECATED

Use orderAllocationSetShippingAddress instead.

inputJobPackSetAllocationShippingAddressInput!
jobPickLocationAssignJobPickLocationAssignResult!

Assign a pick location to a picking job (applicable to wave)

inputJobPickLocationAssignInput!
jobPickSkuJobPickSkuResult!

Add picked SKU to a pick job

inputJobPickSkuInput!
jobUnpickSkuJobPickSkuResult!

Unpick a SKU in a pick job

inputJobPickSkuInput!
jobPackSkuToPackageJobPackSkuResults!

Add items to a package in a pack job. Support multiple packages.

inputJobPackSkuToPackageInput!
jobPackAssignedAtLocationIMutationResult!

Pack assigned inventory at a location. Useful there are multiple items already collated into ready-to-pack containers.

inputJobPackAssignedAtLocationInput!
jobUnpackSkuFromPackageJobPackSkuResults!

Remove items from a package in a pack job. Support multiple packages.

inputJobPackSkuToPackageInput!
jobPackAllocationMarkFulfilledJobPackAllocationMarkFulfilledResult!

Mark an allocation in a pack job as fulfilled

inputJobPackAllocationMarkFulfilledInput!
jobChangeStatusJobChangeStatusResult
inputJobChangeStatusInput!
jobSetPackageInfoIMutationResult!
inputJobSetPackageInfoInput!
jobConfiguredCompleteIMutationResult!

Completes a configured job

inputJobConfiguredCompleteInput!
jobConfiguredAddProductIMutationResult!

Add product by sku to a configured job

inputJobConfiguredAddProductInput!
jobConfiguredRemoveProductItemIMutationResult!

Remove a product item by sku from a configured job

inputJobConfiguredRemoveProductItemInput!
jobConfiguredProductReceivedIMutationResult!

Received product to a configured job

inputJobConfiguredProductReceivedInput!
jobConfiguredProductIncrementInventoryIMutationResult

Increment inventory using available product

inputJobConfiguredProductIncrementInventoryInput!
jobConfiguredProductReasonCodeSetIMutationResult

Set a reason code for the item

inputJobConfiguredProductReasonCodeSetInput!
jobConfiguredProductAttachmentUploadTokenCreateJobConfiguredProductAttachmentUploadTokenCreateResult

Upload attachment for the item (ie: Supporting documents, photo evidence, etc).

inputJobConfiguredProductAttachmentUploadTokenCreateInput!
jobConfiguredProductUpdateQuantityIMutationResult

Update quantity to a job product

inputJobConfiguredProductUpdateQuantityInput!
jobConfiguredProductUpdateAllocationIMutationResult

Assign available product to an allocation

inputJobConfiguredProductUpdateAllocationInput!
jobConfiguredProductAllocationAssignIMutationResult

Retrieve an allocation to assign for a given item.

inputJobConfiguredProductAllocationAssignInput!
jobConfiguredProductPickIMutationResult

Pick an item

inputJobConfiguredProductPickInput!
jobConfiguredProductPutawayIMutationResult

Putaway an item

inputJobConfiguredProductPutawayInput!
jobConfiguredProductInventoryMoveIMutationResult

Move inventory between location

inputJobConfiguredProductInventoryMoveInput!
jobConfiguredUpdatePurchaseOrderIMutationResult!

Set a purchase order to be used for the entire job

inputJobConfiguredUpdatePurchaseOrderInput!
jobConfiguredProductUpdatePurchaseOrderIMutationResult!

Override a purchase order for a specific product in job

inputJobConfiguredProductUpdatePurchaseOrderInput!
jobConfiguredUpdateSupplierIMutationResult!

Set a supplier to be used for the entire job

inputJobConfiguredUpdateSupplierInput!
jobConfiguredProductUpdateSupplierIMutationResult!

Override a supplier for a specific product in job

inputJobConfiguredProductUpdateSupplierInput!
supplierCreateIMutationResult!

Create a new supplier.

inputSupplierCreateInput!
supplierSetName ⚠️IMutationResult!

Set name on a supplier

⚠️ DEPRECATED

Use supplierUpdate instead.

inputSupplierSetNameInput!
supplierSetTaxNumber ⚠️IMutationResult!

Set tax number on a supplier

⚠️ DEPRECATED

Use supplierUpdate instead.

inputSupplierSetTaxNumberInput!
supplierSetCurrency ⚠️IMutationResult!

Set currency on a supplier

⚠️ DEPRECATED

Use supplierUpdate instead.

inputSupplierSetCurrencyInput!
supplierSetBillingAddress ⚠️IMutationResult!

Set the billing address on a supplier

⚠️ DEPRECATED

Use supplierUpdate instead.

inputSupplierSetBillingAddressInput!
supplierSetRestrictionsIMutationResult!

Set restricted locations for this supplier to operate in

inputSupplierSetRestrictionsInput!
supplierRemoveRestrictionsIMutationResult!

Remove restricted locations for this supplier allowing it to be used anywhere

inputSupplierRemoveRestrictionsInput!
supplierUpdateIMutationResult!

Update a supplier.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputSupplierUpdateInput!
purchaseOrderCreateIMutationResult!

Create a new purchase order.

inputPurchaseOrderCreateInput!
purchaseOrderLineItemAddIMutationResult!

Add line item to purchase order.

inputPurchaseOrderLineItemAddInput!
purchaseOrderLineItemUpdateIMutationResult!

Update line item on existing purchase order.

inputPurchaseOrderLineItemUpdateInput!
purchaseOrderLineItemRemoveIMutationResult!

Remove line item from purchase order.

inputPurchaseOrderLineItemRemoveInput!
purchaseOrderReferenceUpdateIMutationResult!

Update existing purchase order reference.

inputPurchaseOrderReferenceUpdateInput!
purchaseOrderDatesUpdateIMutationResult!

Update existing purchase order dates.

inputPurchaseOrderDatesUpdateInput!
purchaseOrderDescriptionUpdateIMutationResult!

Update existing purchase order description.

inputPurchaseOrderDescriptionUpdateInput!
purchaseOrderSupplierUpdateIMutationResult!

Update existing purchase order supplier.

inputPurchaseOrderSupplierUpdateInput!
purchaseOrderSplitUnreceivedLineItemsIMutationResult!

Split the unreceived line items of a purchase order into a new purchase order.

The new purchase order inherits the source's description, supplier, locations, dates, tags, and currency details, with a reference derived from the source's reference. Prices and captured document totals (subtotalTaxExclusive, discountTotal, taxTotal, totalTaxInclusive) are not inherited and remain unset on the new purchase order, as the source's values describe the full original document rather than the split portion. The unreceived quantity is split off into newly created line items on the new purchase order that retain their tax code, discount, and price fields, while the source line items keep their remaining quantity.

A purchase order that has captured tax or totals — document-level totals, or per-line tax, discount, or total amounts — cannot be split until those captured values are cleared, because splitting would leave them describing the wrong quantities.

inputPurchaseOrderSplitUnreceivedLineItemsInput!
purchaseOrderPriceUpdateIMutationResult!

Update existing purchase order prices.

inputPurchaseOrderPriceUpdateInput!
purchaseOrderLocationUpdateIMutationResult!

Update existing purchase order locations.

inputPurchaseOrderLocationUpdateInput!
purchaseOrderSetStatusIMutationResult!

Update existing purchase order status.

inputPurchaseOrderSetStatusInput!
purchaseOrderSupplierInvoiceReferenceUpdateIMutationResult!

Update existing purchase order supplier invoice reference.

inputPurchaseOrderSupplierInvoiceReferenceUpdateInput!
purchaseOrderReceiveItemAdd ⚠️IMutationResult!

Add receive item to purchase order.

⚠️ DEPRECATED

Use receiveItemReconcile instead.

inputPurchaseOrderReceiveItemAddInput!
purchaseOrderReceiveItemUpdate ⚠️IMutationResult!

Update receive item on existing purchase order.

⚠️ DEPRECATED

Use receiveItemReconcile instead.

inputPurchaseOrderReceiveItemUpdateInput!
purchaseOrderReceiveItemRemove ⚠️IMutationResult!

Remove receive item from purchase order.

⚠️ DEPRECATED

Use receiveItemUnreconcile instead.

inputPurchaseOrderReceiveItemRemoveInput!
purchaseOrderImportCreateIMutationResult!

Import multiple purchase orders from CSV. Check on the progress of the import using the purchaseOrderImport query.

inputPurchaseOrderImportCreateInput!
purchaseReturnCreateIMutationResult!

Create a new purchase return.

inputPurchaseReturnCreateInput!
purchaseReturnLineItemReturningAddIMutationResult!

Add line item to purchase return.

inputPurchaseReturnLineItemReturningAddInput!
purchaseReturnApproveIMutationResult!

Approve a purchase return, this sets the fulfilment allowed for associated allocations to true.

inputPurchaseReturnApproveInput!
purchaseReturnCancelIMutationResult!

Cancel a purchase return.

Cancels all remaining line item quantities, releases allocated inventory and unassigns any assigned inventory back to its source locations, cancels open pack jobs once emptied, prevents further fulfilment and records the cancellation reason. The purchase return's status becomes cancelled and the return can no longer be approved, updated or fulfilled.

A purchase return cannot be cancelled when any quantity has been fulfilled, or while any quantity is packed in a pack job — cancel the pack job first. Cancelling an already-cancelled purchase return makes no further changes.

inputPurchaseReturnCancelInput!
purchaseReturnSetFulfilmentAllowedIMutationResult!

Set purchase return's fulfilment allowed.

This will allow or disallow future fulfilment for the purchase return.

inputPurchaseReturnSetFulfilmentAllowedInput!
purchaseReturnUpdateIMutationResult!

Update a purchase return.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputPurchaseReturnUpdateInput!
receiveItemCreateIMutationResult!

Receive items into inventory.

The locations must have the store capability enabled, and must be child locations. Note that if any of the items are reconcilable, and cannot be reconciled, the creation will be rejected.

inputReceiveItemCreateInput!
receiveItemReconcileIMutationResult!

Reconcile a received item for inventory purpose, this will also associate the receive item with the target.

inputReceiveItemReconcileInput!
receiveItemUnreconcileIMutationResult!

Un-reconcile a received item for inventory purpose, this will not remove the association between the receive item and the target.

inputReceiveItemUnreconcileInput!
transferCreateIMutationResult!

Transfer Create.

Transfer products between two locations, as a request, and to be managed like a sales order etc.

inputTransferCreateInput!
returnCreateIMutationResult!

Create a new return.

inputReturnCreateInput!
returnAcceptIMutationResult!

Mark a return as accepted.

inputReturnAcceptInput!
returnCancelIMutationResult!

Cancel a return.

inputReturnCancelInput!
returnTrackingUpdateIMutationResult!

Set tracking details for a return.

inputReturnTrackingUpdateInput!
customerCreateIMutationResult!

Create a new customer.

inputCustomerCreateInput!
customerUpdateIMutationResult!

Update a customer.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputCustomerUpdateInput!
companyCreateIMutationResult!

Create a new company.

inputCompanyCreateInput!
companyUpdateIMutationResult!

Update a company.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputCompanyUpdateInput!
companyCustomerAssociateIMutationResult!

Associate a customer with a company.

inputCompanyCustomerAssociateInput!
companyCustomerDisassociateIMutationResult!

Disassociate a customer from a company.

inputCompanyCustomerDisassociateInput!
channelProductCreateIMutationResult!

Create or update a channel product configuration.

If a configuration already exists for the product/channel/location combination, it will be updated. Otherwise, a new configuration is created.

inputChannelProductCreateInput!
channelProductDeleteIMutationResult!

Delete a channel product configuration.

After deletion, the product will use default availability rules (fully available with actual inventory).

inputChannelProductDeleteInput!
contactCreateIMutationResult
inputContactCreateInput!
contactUpdateIMutationResult

Update a contact.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputContactUpdateInput!
billCreateIMutationResult!

Create a new bill.

inputBillCreateInput!
billUpdateIMutationResult!

Update a bill.

🤖: Optional fields that are not defined in the input will not be changed. ⚠️: Setting an input field to NULL will remove the value where possible. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputBillUpdateInput!
orderAllocationSplitUnassigned ⚠️IMutationResult!

Split out unassigned items from an allocation into a new allocation.

This is useful to have the target allocation ready to be packed.

NOTE: Nothing will happen if all items are assigned.

⚠️ DEPRECATED

Use allocationSplitUnassigned instead.

inputOrderAllocationSplitUnassignedInput!
allocationSplitIMutationResult!

Split an allocation into two by breaking out quantities of its line items into a new allocation. Works for any allocation source (Order, Transfer, PurchaseReturn, etc.).

inputAllocationSplitInput!
orderAllocationSplit ⚠️IMutationResult!

Split an allocation into two by breaking out quantities of its line items into a new allocation

⚠️ DEPRECATED

Use allocationSplit instead.

inputOrderAllocationSplitInput!
fulfilmentCollectCreateFulfilmentCollectCreateResult

Creates a new fulfilment collection under an order

inputFulfilmentCollectCreateInput!
fulfilmentCollectChangeStateFulfilmentCollectChangeStateResult

Change the state of a collection

inputFulfilmentCollectChangeStateInput!
fulfilmentShipmentCreate ⚠️FulfilmentShipmentCreateResult!

Shipment creation, as part of fulfilling an order, and generally an allocation.

⚠️ DEPRECATED

Use the shipmentCreate() mutation instead.

inputFulfilmentShipmentCreateInput!
shipmentCreateIMutationResult!

Creates a Draft shipment.

While in Draft, the shipment can be built/updated out to be valid.

Normally a part of fulfilling an order, and generally an allocation.

Once the Shipment no longer has errors. Call the shipmentConfirm mutation.

inputShipmentCreateInput!
shipmentUpdateIMutationResult!

Updates a Draft shipment.

🤖: Use the shipmentPackageUpdate mutation to update shipment packages.

inputShipmentUpdateInput!
shipmentServiceUpdateIMutationResult!

Updates the service on a Draft shipment.

This will reject on shipments not in Draft.

inputShipmentServiceUpdateInput!
shipmentPackageAddIMutationResult!

Shipment package add.

Adds a package to Draft shipment.

inputShipmentPackageAddInput!
shipmentPackageRemoveIMutationResult!

Shipment package remove.

Removes a package from Draft shipment.

inputShipmentPackageRemoveInput!
shipmentPackageUpdateIMutationResult!

Shipment package update.

This updates the individual shipment package while shipment is Draft.

🤖: Use shipmentPackageAdd mutation to add new packages.

inputShipmentPackageUpdateInput!
shipmentConfirmIMutationResult!

Shipment confirmation.

Can only be successfully called if the shipment is Draft, and with out errors. This will lock in the shipment, and attempt to send it to 3rd party service provider. If it fails, the shipment will error (Draft), and be available for editing once again.

inputShipmentConfirmInput!
shipmentLabelIMutationResult!

Shipment label.

Generate shipment label for confirmed shipment

inputShipmentLabelInput!
shipmentTrackIMutationResult!

Shipment tracking.

Start tracking a confirmed and ready shipment. This must be called before shipment tracking details can be retrieved.

inputShipmentTrackInput!
orderStatusRefresh ⚠️IMutationResult!

Refresh status of a single order

⚠️ DEPRECATED

Order statuses are refreshed based on events in the Jungle platform

inputOrderStatusRefreshInput!
supplierProductUpdateIMutationResult!

Update a supplier product.

⚠️: Setting an input field to NULL will remove the value. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputSupplierProductUpdateInput!
webhookSubscribe ⚠️Boolean

Creates a webhook subscription to the given action. Whenever the even type happens, we'll call the URL. On failure retry in +1min, +10min, +1hr, +6hr, then once per day for 7 days

⚠️ DEPRECATED

Disabled. Contact us for alternatives.

inputWebhookSubscribeInput!
webhookUnsubscribe ⚠️Boolean

Removes any webhooks matching the given URL with in your account

⚠️ DEPRECATED

Disabled. Contact us for alternatives.

inputWebhookUnsubscribeInput!
australiaPostAccountAddIMutationResult!

Connect your Australia Post account

inputAustraliaPostCredentialsInput!
retailExpressConnectAccountIMutationResult!

Connects a RetailExpress account to your account

inputRetailExpressConnectAccountInput!
retailExpressSendOrderBoolean

Send an order to the connected Retail Express account

inputRetailExpressSendOrderInput!
amxAllocationConnectEngineIMutationResult!

Connects a AmxAllocation account to your account

inputAmxAllocationConnectEngineInput!
mcLeodConnectAccountIMutationResult!

Connects a McLeod account to your account

inputMcLeodConnectAccountInput!
mcLeodSendOrderBoolean

Sends an order to McLeod, through a nominated connection

inputMcLeodSendOrderInput!
sendleConnectIMutationResult!

Connect your Sendle account! This will fail if the credentials are invalid, or the sendle account is not set up.

inputSendleCredentialsInput!
shippitConnectIMutationResult!

Connect your Shippit account! Will reject if the credentials are invalid, or the account is not set up.

inputShippitConnectInput!
starshipitConnectIMutationResult!

Connect your Starshipit account! Will reject if the credentials are invalid, or the account is not set up.

inputStarshipitConnectInput!
sparesboxAllocationEngineVersionSetIMutationResult!

Set the version of the Sparesbox allocation engine to use

inputSparesboxAllocationEngineVersionSetInput!
supplierPurchasingDetailUpdateIMutationResult!

Update purchasing details configuration for a supplier. Creates the purchasing detail record if it doesn't exist.

⚠️: Setting an input field to NULL will remove the value. It is STRONGLY recommended you only explicitly set the fields you want to change.

inputSupplierPurchasingDetailUpdateInput!
supplierPurchaseOrderDistributionUpdateIMutationResult!

Update only the purchase order distribution settings for a supplier. Creates the purchasing detail record if it doesn't exist. Allows granular control over automated purchase order delivery configuration.

⚠️: Setting any input field to NULL will remove the value.

inputSupplierPurchaseOrderDistributionUpdateInput!
supplierOutstandingItemsDistributionUpdateIMutationResult!

Update only the outstanding items distribution settings for a supplier. Creates the purchasing detail record if it doesn't exist. Allows granular control over automated outstanding items reporting configuration.

⚠️: Setting any input field to NULL will remove the value.

inputSupplierOutstandingItemsDistributionUpdateInput!
supplierPurchaseReturnDistributionUpdateIMutationResult!

Update only the purchase returns distribution settings for a supplier. Creates the purchasing detail record if it doesn't exist. Allows granular control over purchase return policy and notification distribution.

⚠️: Setting any input field to NULL will remove the value.

inputSupplierPurchaseReturnDistributionUpdateInput!

Subscription

Subscriptions, real-time object changes, notifications and events. The API will send data to the client.

FieldArgumentTypeDescription
nowDateTime

Broadcasts the server time every ~sec.

Useful to test your connection.

objectIObject

Triggered when the matching object changes in some way. 🤖: This a useful way to keep state synchronized. ❗: You may be notified of changed state even when the changed data is not what you're requesting from the API.

inputObjectSubscriptionInput!
eventsIEvent

Stream events as they happen for a given object and event-type set.

inputEventsSubscriptionInput!

Objects

Account

An account, owns and holds authorized users, locations, orders, inventory etc

FieldArgumentTypeDescription
idID!

The accounts id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

slugString!

Used for URLs and other publicly shown unique identifiers of an account. The value is not guaranteed to stay the same over time.

nameString!

The name of the account.

imageImage

An image representing the account, usually a logo, if available.

createdAtDateTime!

When the account was created.

modifiedAtDateTime

When the account was last modified.

configurationConfiguration

Configuration for this account.

provisionedBoolean!

If the account has finished the onboarding/creation process.

billingStatusBillingStatus

Account billing status.

gs1PrefixString

GS1 Company Prefix If the company has a prefix, used for GLN, and other GS1 compatibilities. https://www.gs1.org/standards/id-keys/company-prefix

attributes[ICustomAttribute!]!

Custom attributes on the account. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the account's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: companyWebsite: attributeValue(input: { attributeId: "website" }).

inputObjectAttributeInput!

AccountListResult

Result for accountList() query.

FieldArgumentTypeDescription
results[AccountListResultEdge!]!

AccountListResultEdge

FieldArgumentTypeDescription
accountAccount!

AccountUser

When a user has access to an account they are given an account user record.

This is user relevant information in scope of the account.

A user will have one of these for each account they have access too.

FieldArgumentTypeDescription
authKeyAuthKey
idID!
aidID!
userUser
roles[String]
defaultsDefaults
createdAtDate!
createdByString!
entityAccessEntityAccess!

The entities this user may work in.

AccountUserCreateResult

FieldArgumentTypeDescription
accountUserAccountUser!

AccountUserListResult

FieldArgumentTypeDescription
results[AccountUserListResultEdge!]!
pageInfoPageInfo!

Information on user list results

AccountUserListResultEdge

FieldArgumentTypeDescription
accountUserAccountUser!

Action

A simple action that can be performed by a user/client.

FieldArgumentTypeDescription
nameString!

The action's human readable name/title.

codeID!

A unique code for the action. Used to identify the action in logic/software.

priorityInt!

The higher the priority, the more important the action is, so show it sooner.

enabledBoolean!

Whether the action is enabled or not. Disabled (false) actions should show as disabled in the UI.

reasonString

A reason why the action is disabled. Show to the user if they interact with the disabled action.

Actioned

Triggered when a user action is performed on an object (e.g. Cancel, Submit, Receive).

FieldArgumentTypeDescription
actionString!

The action verb (e.g. Cancel, Submit, Receive).

subjectID!

The id of the object the action was performed on.

subjectTypenameID!

The typename of the object the action was performed on.

createdAtDateTime!

When the event was created.

createdByString

The actor that performed the action.

aidID

The account the event belongs to.

DNTBoolean!

When true, downstream consumers should not retain a copy of the event.

attributes[ICustomAttribute!]

Custom attributes attached to the event. Optional.

AddressValidationResult

FieldArgumentTypeDescription
isValidBoolean

AftershipConnection

A connection between AfterShip and Jungle!

FieldArgumentTypeDescription
idID!

The connection Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The connection's name

integrationIntegration

Integration details, for branding naming etc

enabledBoolean!

If the connection is enabled.

connectedBoolean!

If it is actually connected.

createdAtDateTime!

When the connection was created.

createdByString!

Who connected the integration.

Allocation

Allocations assign subsets (or all) of an order's line items to a location to be fulfilled in a certain way.

This is how Orders can be split shipped, collected from multiple places, dropped shipped etc.

It can also be considered a fulfilment grouping.

FieldArgumentTypeDescription
idID!

An ID for this allocation

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString

The name of the allocation. e.g. #000001-A01

methodFulfilmentMethod!

The desired fulfilment method for this allocation

shippingAddressPostalAddress

The destination for these line items.

locationId ⚠️ID

⚠️ DEPRECATED

Use location instead.

locationLocation
locationForPickupLocation

The explicit pick up location

lineItems ⚠️[OrderLineItem!]!

⚠️ DEPRECATED

Use lineItemsConnection instead.

lineItemsConnectionAllocationLineItemResults
lineItemsCountInt!

The number of line items within the allocation.

lineItemsQuantityFloat!

The total number of products within the allocation.

inputAllocationLineItemQuantityInput
serviceCodeID

The service code to use to fulfil the allocation with.

serviceCodeRequestedID

The service code originally requested on the allocation.

fulfilmentAllowedBoolean!

If false, prevent allocation to be fulfilled.

fulfilledAtDateTime

If and when this allocation was fulfilled.

isFulfilledBoolean

Whether this allocation is fulfilled or not.

relationsRelationships

Relationships the allocation has.

fulfilments[IFulfilment!]
orderId ⚠️ID!

⚠️ DEPRECATED

DO NOT USE! This will return @deprecated in most cases.

sourceAllocationSource

Where this allocation came from. e.g. a sales order, or a supplier return etc. Use this to find the order the allocation belongs to.

actions[IAction]

Actions the current user can perform on this allocation.

inputActionInput
tags[Tag!]

Tags on the Allocation.

attributes[ICustomAttribute!]!

Custom attributes on the object.

inputObjectAttributesInput
attributeValueString

A single key from the allocation's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: accountingApproved: attributeValue(input: { attributeId: "approvedbyaccounting" }).

inputObjectAttributeInput!
createdAtDateTime!

When the allocation was created.

createdByIAuthor

The user or integration that created the allocation.

modifiedAtDateTime

When this allocation was modified.

activityLastAtDateTime

When the allocation last processed some action that either directly or indirectly relates to this allocation being acted upon towards completion.

canReallocate ⚠️Boolean

If the allocation can be moved/modified

⚠️ DEPRECATED

Use .actions to know what you can and can not do with this allocation.

AllocationAlreadyAssigned

FieldArgumentTypeDescription
messageString

AllocationAlreadyReleased

FieldArgumentTypeDescription
messageString

AllocationLineItem

An individual line item in an allocation. Links an order line item to an allocation.

FieldArgumentTypeDescription
inventoryIdentityScansInventoryIdentityScanResults

Serial number / identity scans associated with this line item.

idID!

The allocation line item ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

quantityFloat!

The quantity of the referenced line item belonging to this allocation.

quantityFulfilledFloat

The quantity of the referenced line item that has been fulfilled, if known.

quantityAllocatedFloat

The quantity of the referenced line item that is currently allocated, if known.

quantityAssignedFloat

The quantity of the referenced line item that is currently assigned, if known.

quantityPackedFloat

The quantity of the referenced line item that is currently packed, if known.

inventory[AllocationLineItemInventory!]!

The inventory held for this line item, by location: the locations holding assigned or allocated inventory and the quantities held at each.

When the same SKU is referenced by multiple line items of an allocation, the quantities at each location are apportioned across those line items, so that each line item's inventory sums to its own quantityAssigned and quantityAllocated.

lineItem ⚠️OrderLineItem

The line item this allocation line item references (uses for source data)

⚠️ DEPRECATED

Do not use. Use .lineItemV2 instead.

lineItemV2IAllocatableLineItem

The line item this allocation line item references (uses for source data)

allocationAllocation!

The allocation this allocation line item references (uses for source data)

actions[IAction!]

Actions that can be performed on this allocation line item by the current user.

inputActionInput
createdAtDateTime!

When this allocation line item was created.

modifiedAtDateTime

When this allocation line item was modified.

tags[Tag!]

Tags on the AllocationLineItem.

attributes[ICustomAttribute!]!

Additional custom attributes on the allocation line item. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the allocation line item's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: plasticColor: attributeValue(input: { attributeId: "pcolor" }).

inputObjectAttributeInput!
backordersBackorderResults

The backorders for this allocation

AllocationLineItemInventory

Inventory held for an allocation line item at a specific location.

FieldArgumentTypeDescription
locationLocation

The location holding the inventory.

quantityAssignedFloat!

The quantity assigned to the line item at this location.

quantityAllocatedFloat!

The quantity allocated to the line item at this location.

AllocationLineItemMoved

Triggered whenever an allocation line item finishes moving.

FieldArgumentTypeDescription
subjectID!

Allocation Line Item Id

allocationIdString!

Allocation Id

createdAtDateTime!

When the event was emitted.

aidID

The Id of the account the event occurred within.

keyString!

An idempotency key for this event. This will be unique for each attempt for a allocation line item move.

createdByString

The human, integration, device etc that created this event.

amountFloat!

The amount changed.

AllocationLineItemResult

FieldArgumentTypeDescription
nodeAllocationLineItem

AllocationLineItemResults

FieldArgumentTypeDescription
results[AllocationLineItemResult!]!
pageInfoPageInfo!

Info on the number of allocations that can be listed

AllocationLocationSet

Triggered when a allocation's assigned location is set.

FieldArgumentTypeDescription
subjectID!

The allocation Id.

createdAtDateTime!

When the allocation method was set.

aidID
createdByString
allocationId ⚠️ID!

⚠️ DEPRECATED

Use .subject instead.

orderId ⚠️ID!

⚠️ DEPRECATED

Use .subject instead.

locationIdID!
reasonString!
locationIdPriorID
locationReferenceString
serviceCodeRequestedID

AllocationMethodSet

Triggered when the allocation method has changed.

FieldArgumentTypeDescription
subjectID!

The allocation Id.

createdAtDateTime!

When the allocation method was set.

aidID
createdByString
orderIdID!
allocationId ⚠️ID!

⚠️ DEPRECATED

Use .subject instead.

methodFulfilmentMethod!

The method the allocation was changed too.

methodPriorFulfilmentMethod
serviceCodeString
serviceCodePriorString

If the allocation had a service code, what is was prior.

AllocationNotFound

The provided Allocation Id could not be found

FieldArgumentTypeDescription
messageString

Might explain why the allocation was not found

AllocationPicked

Emitted when all items of an allocation are picked.

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString

AllocationReadyToPack

Emitted when all items of an allocation are received/have assigned inventory. This often results in a Packing Job being created.

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString
locations[ID!]

Locations to which items required by this allocation assigned.

AllocationResult

Result for the Allocation query

FieldArgumentTypeDescription
orderOrder
allocationAllocation

AllocationResultNode

FieldArgumentTypeDescription
nodeAllocation

AllocationResults

FieldArgumentTypeDescription
results[AllocationResultNode!]!
pageInfoPageInfo!

AllocationSelectedToPick

Emitted when allocation is selected for picking.

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString

AmxAllocationConnection

A connection to the AMX Allocation Engine

FieldArgumentTypeDescription
idID!

The AMX Allocation connection's Id.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The AMX Allocation connection's name

retailExpressConnectionIdString

Connection ID for sending orders to Retail Express

mcLeodConnectionIdString

Connection ID for sending orders to McLeod

integrationIntegration

This will always be AmxAllocation for AMX Allocation connections!

enabledBoolean!

Toggle on if you want this connection to be enabled or not

connectedBoolean!

Is this connection working?

createdAtDateTime!

When we connected to the engine for the first time

createdByString!

Who connected to the engine

ApiConnection

A connection for simple integrations that only require connectivity to the Jungle API!

FieldArgumentTypeDescription
idID!

The connection's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The connection's name

integrationIntegration

Integration details, for branding naming etc

enabledBoolean!

If this connection is to be used or not. 🤖: Control with the toggle* mutations.

connectedBoolean!

Is the connection working, or not.

createdAtDateTime!
createdByString!

AssignedInventory

FieldArgumentTypeDescription
quantityAssignedInt!
allocationIdID

Attachment

Some data that is attached to an Object in Jungle.

FieldArgumentTypeDescription
idID!

Unique attachment Id.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

type ⚠️AttachmentType!

⚠️ DEPRECATED

Type will no longer be an enum, instead rely on the content type of the file.

data ⚠️String!

Base64-encoded version of the attachment.

⚠️ DEPRECATED

Obtaining attachment data via the API will no longer be possible. This will return "", and then later removed.

tags[Tag!]

A list of tags.

asset ⚠️ID!

The asset this attachment belongs to.

⚠️ DEPRECATED

Use relations.parent instead.

createdAtDateTime!

When the attachment was created (uploaded).

modifiedAtDateTime
nameString

The name.

fileFile

File details of the attachment. If the attachment is a file.

attributes[ICustomAttribute!]!

Custom attributes on the account. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the attachment's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: csvLines: attributeValue(input: { attributeId: "csvLines" }).

inputObjectAttributeInput!
imageImage

Image details. If the attachment can be considered an image, or can be rendered as one this will not be NULL.

AttachmentListResult

FieldArgumentTypeDescription
results[AttachmentListResultEdge!]!

Any attachments found

pageInfoPageInfo!

Information on the number of attachments to be listed

AttachmentListResultEdge

FieldArgumentTypeDescription
cursorID
attachmentAttachment!

AttachmentListV2Result

FieldArgumentTypeDescription
results[AttachmentListResultEdge!]!

Any attachments found

pageInfoPageInfo!

Information on the number of attachments to be listed

AustraliaPostAccountAddress

FieldArgumentTypeDescription
typeString!

The classification for the address

lines[String!]!

The address lines for the address

suburbString!

The suburb for the address

postcodeString!

The postcode for the address

stateString!

The state code for the address

countryString!

The country code for the address

AustraliaPostAccountDetail

FieldArgumentTypeDescription
keyString!
valueString!

AustraliaPostConnection

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The connection's name

accountNumberString!

Australia Post customer account number

integrationIntegration

Integration details, for branding naming etc

apiKeyString!
passwordString!
testBoolean!

If this is test connection or not!

enabledBoolean!

Toggle on if you want this connection to be enabled or not

connectedBoolean!

Is this connection working

createdAtDateTime!
createdByString!
validFromString

The beginning validity date when the charge account can be used

validToString

The ending validity date when the charge account can be used

addresses[AustraliaPostAccountAddress!]

One or more addresses associated with the account

details[AustraliaPostAccountDetail!]

Additional information associated with the account

postageProducts[AustraliaPostPostageProduct!]

The postage products and services that can be used with this account

expiredBoolean

Whether the charge account has an expired contract

merchantLocationIdString

The ID issued to a merchant as part of the setup process

creditBlockedBoolean

Whether the merchant's account is credit blocked. Any account with this status will be forbidden from creating shipments or orders

AustraliaPostPostageProduct

FieldArgumentTypeDescription
typeString!

The name for the postage product

groupString

The product group name. Used for generating labels for items that reference the postage product

productIdString!

The code that Australia Post uses to reference the postage product

optionsAustraliaPostPostageProductOption!

Options available for the postage product

contractAustraliaPostPostageProductContract!

Specific information related to the location’s contract for this product

authorityToLeaveThresholdFloat

The limit on transit cover amounts when authority to leave is selected

shipmentFeatures[AustraliaPostPostageProductShipmentFeature!]

Additional shipment features available for the product and its corresponding prices

features[AustraliaPostPostageProductFeature!]

Additional item features available for the product and its corresponding prices

AustraliaPostPostageProductContract

FieldArgumentTypeDescription
validFromString!

The beginning validity date for when this product can be used

validToString!

The ending validity date for when this product can be used

expiredBoolean!

Whether the product can or cannot be used for this location

volumetricPricingBoolean!

Whether volumetric pricing is applicable for this product

cubingFactorFloat

If volumetric pricing is applicable, the cubing factor to be applied in the calculation

maxItemCountInt

The maximum number of items that can receive the discount price for the product

AustraliaPostPostageProductFeature

FieldArgumentTypeDescription
typeString!

A unique string that identifies the type of feature

attributes[AustraliaPostPostageProductFeatureAttribute!]

Additional attributes relevant to the feature

bundledBoolean!

Indicates whether the feature is automatically included with the product

AustraliaPostPostageProductFeatureAttribute

FieldArgumentTypeDescription
keyString!
valueString!

AustraliaPostPostageProductOption

FieldArgumentTypeDescription
authorityToLeaveOptionBoolean

Whether the option for 'authority to leave' is available for the postage product

signatureOnDeliveryOptionBoolean

Whether the option for 'signature on delivery' is available for the postage product

dangerousGoodsAllowedBoolean

Whether Dangerous Goods can be sent with this postage product

AustraliaPostPostageProductShipmentFeature

FieldArgumentTypeDescription
typeString!

A unique string that identifies the type of feature

bundledBoolean!

Indicates whether the feature is automatically included with the product

AuthKey

Used for QR Code scan to login

FieldArgumentTypeDescription
idID!
barcodeString!

The raw barcode data

documentationDocumentationResult!

Documents for this authkey

inputDocumentationInput!
createdAtDateTime!

When the name tag was created.

AuthKeyAuthenticated

The authkey and pin are valid

FieldArgumentTypeDescription
tokenString!

A short-lived token used to complete sign-in on the client.

AuthKeyInvalidPinError

The authkey's pin does not match the provided pin.

FieldArgumentTypeDescription
attemptsRemainingInt!

AuthKeyListResult

FieldArgumentTypeDescription
results[AuthKeyListResultEdge!]!

AuthKeyListResultEdge

FieldArgumentTypeDescription
authKeyAuthKey!

AuthKeyNotFoundError

The authkey doe not exist

FieldArgumentTypeDescription
messageString!

AuthKeyPinReset

FieldArgumentTypeDescription
reasonString!

AuthSwitchAccountAuthenticated

FieldArgumentTypeDescription
tokenString!

A short-lived token used to complete sign-in on the client.

AuthSwitchAccountDenied

FieldArgumentTypeDescription
reasonString!

Backorder

A backorder against a order allocation line

FieldArgumentTypeDescription
idID!

The backorder's unique identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the backorder.

orderAllocationLine ⚠️AllocationLineItem

The order allocation line this backorder belongs to.

⚠️ DEPRECATED

Use .allocationLineItem instead.

allocationLineItemAllocationLineItem

The allocation line item this backorder belongs to.

purchaseOrderLinesPurchaseOrderLineItemResults!

The purchase order lines this backorder relates to.

quantityFloat!

The quantity specified to backorder.

quantityOrderedFloat!

The quantity ordered via purchase order lines.

purchasableBoolean!

Indicates if a backorder is a purchasing candidate or not. To list these:

search(
  input: {
    types: Backorder
    filter: [{ field: "purchasable", eq: { value: "true" } }]
  }
) ...
reasonString!

The reason specified for the backorder.

locationLocation

The location of the backorder.

xidsExternalIdResults!

The backorder's known external IDs.

inputExternalIdsInput
enabledBoolean!

If this backorder is active.

draftBoolean!

If this backorder is a draft.

deletedBoolean!

If this backorder is deleted.

cancelledBoolean!

If this backorder is cancelled.

attributes[ICustomAttribute!]!

Additional custom attributes on the backorder. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the backorder's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: customId: attributeValue(input: { attributeId: "custom_id" }).

inputObjectAttributeInput!
tags[Tag!]

Tags on the backorder.

createdByString!

The user who created the backorder.

modifiedAtDateTime

When the backorder was modified last, if at all.

createdAtDateTime!

When the backorder was created.

BackorderResults

A paginated list of backorders associated with the parent object.

FieldArgumentTypeDescription
nodes[Backorder!]!

A list of backorders. if any.

Barcode

FieldArgumentTypeDescription
dataString!

Raw data in the barcode

typeString

symbology

Bill

FieldArgumentTypeDescription
idID!

The bill's unique identifier.

path ⚠️ID!

The bill's unique identifier.

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the bill.

referenceString!

The supplier's reference for this bill.

descriptionString

A useful description of what the bill is for. e.g. Automatic replenishment of under minimum inventory.

supplierSupplier!

The supplier this bill is from.

entityEntity

The entity this bill belongs to.

Null only for bills created before entities were introduced.

lineItemsLineItemResults

The line items within the bill

lineItemsCountInt!

The number of line items in the bill.

lineItemsQuantityFloat!

The total quantity of items in the bill. Use for display purposes online.

orderedTo ⚠️Location

Location where the Bill is related to

⚠️ DEPRECATED

Use locationsBilledTo instead.

locationsBilledToLocationsBilledToResults

Locations this bill is billed to.

priceTotalMoneyV1!

Bill total price including adjustments

costs[BillCost!]

Additional named costs associated with the bill.

issuedAtDateTime

When the bill was issued.

dueAtDateTime

When payment on this bill is due.

estimatedAtDateTime

If known, when this Bill is estimated to be paid.

paidAtDateTime

When the Bill was paid.

closedAtDateTime

When the Bill was closed.

completedAtDateTime

When the Bill was completed

activityLastAtDateTime

When activity on the bill was last recorded.

attributes[ICustomAttribute!]!

Additional custom attributes on the bill. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the bill's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: erpEta: attributeValue(input: { attributeId: "myErpETA" }).

inputObjectAttributeInput!
tags[Tag!]

A list of tags(Tag). Use them for classification.

e.g. 🕔, ❗, urgent 🤖: Modify using the tag* mutations.

createdAtDateTime!

When the bill was created in Jungle.

modifiedAtDateTime!

When the Bill was last modified.

enabledBoolean!

If this bill is active, or not.

xidsExternalIdResults!

The bill's known external IDs.

inputExternalIdsInput
currencyTransactionString

ISO 4217 currency code that the line item prices, total price and named costs on this bill are expressed in. May differ from the account's base currency; in that case exchangeRate is applied to convert amounts to the base currency for inventory accounting at the time of receipt.

NULL on bills created against accounts that have not opted into inventory accounting (no base currency, cost layers, or preferred cost method configured). For those accounts the currency lives only on the individual money values.

exchangeRateDecimal

Exchange rate that converts amounts from currencyTransaction to the account's base currency. Always positive. Equal to 1 when the transaction currency matches the account's base currency.

Precision is limited to 8 fractional digits; any additional precision in the supplied value is discarded.

NULL on bills created against accounts that have not opted into inventory accounting. Always set together with currencyTransaction.

BillCost

Named cost associated with a bill.

FieldArgumentTypeDescription
nameString!

Name of the cost.

costMoneyV1!

The cost amount.

BillOfMaterials

BOM

FieldArgumentTypeDescription
idID!

The ID of the BOM.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

components[BillOfMaterialsComponent!]!

The components in the BOM.

createdAtDateTime!
modifiedAtDateTime!

BillOfMaterialsComponent

FieldArgumentTypeDescription
idID!
productProduct!

The product that is part of the BOM.

quantityDecimal!

The quantity of the product in the Bill of Materials.

Brand

Brand sources products for your business.

FieldArgumentTypeDescription
idID!

The brand's identifier.

path ⚠️ID!

Full path to the brand.

⚠️ DEPRECATED

Use .id instead.

nameString!

Brand's name.

shipmentSenderOverrideContactPerson

Brand sender information. Used to override the sender contact details on shipments for orders using a channel with this brand. Superseded by shipmentAddressOverride when that field is set.

shipmentAddressOverridePostalAddress

Full sender address override for shipments. When set, overrides the entire sender address — postal address and contact details — on shipments for orders using a channel with this brand. Takes precedence over shipmentSenderOverride.

createdAtDateTime!

When the brand was created in Jungle.

modifiedAtDateTime

When the brand was last modified.

xidsExternalIdResults!

The brand's known external IDs.

inputExternalIdsInput
tags[Tag!]
enabledBoolean!

If this brand is active, or not.

attributes[ICustomAttribute!]!

Custom attributes on the brand. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the brand's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: erpUrl: attributeValue(input: { attributeId: "ERP_URL" }).

inputObjectAttributeInput!

Capability

A capability represents the ability to do something in the real world.

These represent skills/processes that are provided at certain locations or by products, people etc.

i.e. Pick up a fulfilment at a location.

FieldArgumentTypeDescription
idID!
nameString!

The human friendly name of the capability.

nounString!

The object or real world thing this capability relates too. Helps with finding capabilities.

descriptionString!

A clear description of what this capability represents.

tags[String!]

Tags associated with this capability to help with searching and filtering.

constraintsCapabilityConstraints

Constraints applied to this capability.

typenamesHint[String!]

An optional hint of the typenames this capability is used on.

CapabilityConstraints

Represents constraints (limits/ranges) applied to a capability.

A capability can have constraints applied to it, which means that the capability can only be used in certain ways, or within limitations.

How the constraints are relevant and applied depends on the capability. Constraints not applicable to the capability are ignored, regardless of their value.

i.e. A capability to store items in a warehouse may have a constraint that the items must be at least 1m³ in volume. Meaning that the warehouse can only be used to store items that are at least 1m³ in volume. Items smaller than 1m³ cannot be stored in the warehouse. i.e. A capability to transport items may have a constraint that the items at most can be 1kg in weight. Meaning the transporter (a drone for example) can only be used to transport items that are at most 1kg in weight. Items heavier than 1kg cannot be transported.

FieldArgumentTypeDescription
enabledBoolean

If the capability can be toggled on/off, this can constrain its use to be enabled or disabled.

weightMinWeight

If the capability is physical in nature, this can constrain its use to a minimum weight. i.e. Need to put at least 10KG in to tank for transport.

weightMaxWeight

If the capability is physical in nature, this can constrain its use to a maximum weight. i.e. Can only put 4kg in this cardboard box.

qtyMinInt

If the capability subject is countable, this can constrain its minimum quantity. i.e. Need at least 3 labels.

qtyMaxInt

If the capability subject is countable, this can constrain its maximum quantity, instead of allowing Infinity. i.e. Can only store 20 items.

dimensionsInnerDimensions

If the capability is physical in nature, this can constrain its use to non-euclidean space (the outer volume). i.e. It cannot provide more then 1m³. Useful for packaging, storing items etc.

dimensionsOuterDimensions

If the capability is physical in nature, this can constrain its volume with in euclidean space (our universe). i.e. The outer dimensions of a shipping container.

dimensionsOuterMinDimensions

If the capability is physical in nature, this can constrain the minimum volume allowed with in euclidean space (our universe). i.e. Only provide storage for items larger than 20cm³.

priorityInt

If the capability subject can have ordering, this can constrain the priority of the capability. i.e. This is the last resort.

mandatoryBoolean

If the capability demands a action or behaviour that is not optional and must be completed. i.e. A serial must be recorded at pack.

CapabilityListResult

A list of matching capabilities.

FieldArgumentTypeDescription
results[CapabilityListResultEdge!]!

The capability edges that match the query.

CapabilityListResultEdge

An edge in a capability list of results.

FieldArgumentTypeDescription
capabilityICapability!

The capability node.

Channel

A sales and/or purchasing channel.

FieldArgumentTypeDescription
idID!

The channel's identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

Tags on the channel.

codeString!

A unique code for the channel.

nameString!

Name for the channel.

descriptionString

Description for the channel.

brandBrand

Brand for the channel.

enabledBoolean!

Is this channel active.

createdAtDateTime!

When the channel was created in Jungle.

modifiedAtDateTime

When the channel was last modified.

attributes[ICustomAttribute!]!

Custom attributes on the account. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the channel's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: headlessApiUrl: attributeValue(input: { attributeId: "headless-api-url" }).

inputObjectAttributeInput!
xidsExternalIdResults!

The channel's known external IDs.

inputExternalIdsInput

ChannelProduct

Channel Product configuration controls product availability per sales channel.

Allows merchants to:

  • Enable/disable products for specific channels
  • Set maximum available quantities per channel
  • Override channel settings at specific locations
FieldArgumentTypeDescription
idID!

Unique identifier

path ⚠️ID!

Globally unique identifier (deprecated, use id instead)

⚠️ DEPRECATED

Use .id instead.

productProduct

The product being configured

channelChannel

The sales channel this configuration applies to

locationLocation

Optional location for location-specific override (null = channel-level)

enabledBoolean!

Whether the product is available on this channel/location

quantityAvailableMaximumFloat

Maximum quantity available to promise for this channel/location. null = no limit (use actual inventory)

quantityAvailableAdjustmentFloat

Adjustment applied to the actual available inventory for this channel/location.

  • A positive value extends availability beyond actual inventory (pre-order / oversell).
  • A negative value holds inventory back from the channel (buffer stock).
  • null leaves availability unchanged.

When set together with quantityAvailableMaximum, the maximum is applied as a cap on top of the adjusted availability: min(actualAvailable + quantityAvailableAdjustment, quantityAvailableMaximum), floored at 0.

createdAtDateTime!

When the configuration was created

modifiedAtDateTime

When the configuration was last modified

createdByString!

Who created this configuration

tags[Tag!]

Tags for categorization

attributes[ICustomAttribute!]!

Custom attributes

inputObjectAttributesInput
attributeValueString

A value for a specific attribute from the custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. Usage: channelPreference: attributeValue(input: { attributeId: "preference" }).

inputObjectAttributeInput!

ClickAndCollectCreated

Triggered when a FulfilmentCollect is created.

FieldArgumentTypeDescription
subjectID!
createdAtDateTime!
aidID
createdByString
orderIdID!
fulfilmentCollectIdID!
allocationIdID!

ClickAndCollectReadyEvent

Triggered when a FulfilmentCollect's state becomes ReadyForPickup.

FieldArgumentTypeDescription
subjectID!
createdAtDateTime!
aidID
createdByString
orderIdID!
fulfilmentCollectIdID!
locationIdID!

ClickAndCollectStateChanged

Triggered when a FulfilmentCollect's state changes.

FieldArgumentTypeDescription
subjectID!
createdAtDateTime!
aidID
createdByString
orderIdID!
fulfilmentCollectIdID!
stateCollectionState!

Collection

A Collection of Products

FieldArgumentTypeDescription
idID!

The ID of the Collection.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead. This will return an empty string.

nameString!

The name of the Collection.

slugString!

Slug of the Collection.

descriptionString

Description of the Collection.

productCountInt!

Number of Products directly in this Collection.

parentCollection

The Collection this one sits directly under; null for a top-level Collection.

rootCollection!

The top-level Collection this one belongs to; the Collection itself when it is top-level.

ancestors[Collection!]!

Breadcrumb trail from the top-level Collection down to the direct parent, not including this Collection; empty for a top-level Collection. A Collection tree is at most 100 levels deep, so there are never more than 99 ancestors.

children[Collection!]!

Collections directly under this one (not their descendants), in name order; ties break by ID. For filtered or paginated listings, use the search query with types: [Collection].

tags[Tag!]

A list of tags(Tag) on the Collection. Use them for classification, marking etc.

enabledBoolean!

If this collection is active or not.

attributes[ICustomAttribute!]!

Additional custom attributes on the Product Collection. You may filter on the name.

inputObjectAttributesInput
attributeValueString

A single key from the Product Collection's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: fav: attributeValue(input: { attributeId: "favorite" }).

inputObjectAttributeInput!
createdAtDateTime!

When the Collection was first known to Jungle.

modifiedAtDateTime

When the Collection was last directly modified.

activityLastAtDateTime

When the Collection last processed some action that either directly or indirectly relates to it, such as a new product being added to it.

xidsExternalIdResults!

The collections's known external IDs.

inputExternalIdsInput

Company

A company is a business, organization, or legal entity that has relationships with customers.

Companies can have multiple customers, and customers can belong to multiple companies.

FieldArgumentTypeDescription
idID!

The company's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The company name.

customersCustomerResults

Customers associated with this company.

inputListInput
tags[Tag!]

A list of tags(Tag)

attributes[ICustomAttribute!]!

Additional custom attributes on the company.

inputObjectAttributesInput
attributeValueString

A single key from the company's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: taxNumber: attributeValue(input: { attributeId: "tax_num" }).

inputObjectAttributeInput!
xidsExternalIdResults!

The company's known external IDs.

inputExternalIdsInput
taxProfileTaxProfile

Reusable tax context for this company, including registrations and default tax codes when configured.

createdAtDateTime!

When the company was first known to Jungle.

modifiedAtDateTime

When the company was last modified.

activityLastAtDateTime

The last time some action happened that either directly or indirectly relates to this company.

CompanyResultEdge

Company result edge.

FieldArgumentTypeDescription
cursorID!
companyCompany!

CompanyResults

Results for companies listing.

FieldArgumentTypeDescription
pageInfoPageInfo!
results[CompanyResultEdge!]!

Configuration

FieldArgumentTypeDescription
handheldHandheldConfiguration

Configuration applied to handheld devices.

inventoryInventoryConfiguration

Inventory configuration applied to this account.

shipmentAutoAcceptancePriceThresholds[Money!]

If the shipment auto-acceptance price threshold of the matching currency is exceeded, the shipment price requires manual acceptance. Otherwise, all prices are auto accepted.

supplierPurchasingSupplierPurchasingConfiguration

Contact

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the contact.

postalAddressPostalAddress

The address of this contact.

enabledBoolean!

If this is enabled or not. Defaults to true.

pointGeoPoint

The geolocation of this contact.

pointAccuracyFloat

See IGeoLocatable.pointAccuracy for details.

tags[Tag!]

A list of tags(Tag)

attributes[ICustomAttribute!]!

Additional custom attributes on the contact.

inputObjectAttributesInput
attributeValueString

A single key from the contact's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: powerBuyer: attributeValue(input: { attributeId: "pow_buy" }).

inputObjectAttributeInput!
xidsExternalIdResults!

The contact's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the contact was first known to Jungle.

modifiedAtDateTime

When the contact was last modified.

ContactPerson

FieldArgumentTypeDescription
nameString
firstName ⚠️String

⚠️ DEPRECATED

Use name instead

lastName ⚠️String

⚠️ DEPRECATED

Use name instead

emailString
phoneString
companyNameString

ContactResultEdge

FieldArgumentTypeDescription
contactContact

ContactResults

FieldArgumentTypeDescription
pageInfoSearchPageInfo!
results[ContactResultEdge!]!

Country

A Country, and basic information on it.

FieldArgumentTypeDescription
codeCountryCode!

The ISO 3166-1 alpha-2 code for the country.

nameString!

The name of the country.

flagString!

Unicode flag. 🏳️. E.g. 🇦🇺, 🇺🇸, 🇻🇳.

alpha3String!

The ISO 3166-1 alpha-3 code for the country.

Created

Triggered when a new object is created in the Jungle.

FieldArgumentTypeDescription
subjectID!

The id of the object that was created.

subjectTypenameID!

The typename of the object that was created.

createdAtDateTime!

When the event was created.

createdByString

The actor that caused the event.

aidID

The account the event belongs to.

DNTBoolean!

When true, downstream consumers should not retain a copy of the event.

attributes[ICustomAttribute!]

Custom attributes attached to the event. Optional.

Currency

A known currency that Jungle can operate with.

FieldArgumentTypeDescription
codeCurrencyCode!

The ISO 4217 code

symbolString!

The currency's native symbol

nameString!

The currency's official name

decimalDigitsInt!

If the currency is a decimal currency, the number of significant digits/sub units

roundingInt!

If a rounding currency, this is the significant digits we round too.

CustomAttributeString

String valued attributes.

FieldArgumentTypeDescription
idString!
nameString
valueString

Customer

A customer is a person, business, or other legal entity that has a relationship with your business.

This relationship can include purchases, transfers, and other activities.

FieldArgumentTypeDescription
idID!

The customer's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the customer.

displayNameString!

Display name of the customer. This is a made of the customer's name and company etc.

nameString

Customer's name

phoneString

The customer's phone number.

emailString

The customer's email address.

contactsContactResults
pointGeoPoint

The geolocation of the customer.

pointAccuracyFloat

See IGeoLocatable.pointAccuracy for details.

imageImage

An image of the customer.

tags[Tag!]

A list of tags(Tag)

attributes[ICustomAttribute!]!

Additional custom attributes on the customer.

inputObjectAttributesInput
attributeValueString

A single key from the customer's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: powerBuyer: attributeValue(input: { attributeId: "pow_buy" }).

inputObjectAttributeInput!
xidsExternalIdResults!

The customer's known external IDs.

inputExternalIdsInput
taxProfileTaxProfile

Reusable tax context for this customer, including registrations and default tax codes when configured.

createdAtDateTime!

When the customer was first known to Jungle.

modifiedAtDateTime

When the customer was last modified.

activityLastAtDateTime

The last time some action happened that either directly or indirectly relates to this customer.

companiesCompanyResults

Companies this customer belongs to.

inputListInput

CustomerResultEdge

Customer result edge.

FieldArgumentTypeDescription
cursorID!
customerCustomer!

CustomerResults

Results for companies listing.

FieldArgumentTypeDescription
pageInfoPageInfo!
results[CustomerResultEdge!]!

Defaults

The current user's default values/configuration.

Is different for each account.

FieldArgumentTypeDescription
idID
locationId ⚠️ID

⚠️ DEPRECATED

secret squirrel

printerId ⚠️ID

⚠️ DEPRECATED

secret squirrel

locationDefaultLocation

Your default location for the current account, if one is set. This will never work with out account context.

printerDefaultJunglePrinter

Your default printer for the current user, if one is set. This will never work with out account context.

weighDeviceDefaultDevice

Your default scale for the current user, if one is set. This will never work with out account context.

deviceDefaultDevice

Your default device for the current user (for the given capability) if one is set. This will never work with out account context.

inputDeviceDefaultInput

Deleted

Triggered when an object is deleted in the Jungle.

FieldArgumentTypeDescription
subjectID!

The id of the object that was deleted.

subjectTypenameID!

The typename of the object that was deleted.

createdAtDateTime!

When the event was created.

createdByString

The actor that caused the event.

aidID

The account the event belongs to.

DNTBoolean!

When true, downstream consumers should not retain a copy of the event.

attributes[ICustomAttribute!]

Custom attributes attached to the event. Optional.

Device

A device known to Jungle.

FieldArgumentTypeDescription
idID!

The Device's ID.

path ⚠️ID!

The path(Id) of this device.

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

A list of tags(Tag). Use them for classification. You can tag devices with letters, and emojis! 🖨️, ⚖️, 📏, broken etc.

nameString

The name of the device.

manufacturerString

Who manufactured the device.

productString

The product name of the device.

serialString

The device serial number.

barcode ⚠️String

The barcode on the device.

⚠️ DEPRECATED

Use .idQR instead.

capabilities[ICapability!]

The capabilities of this device, managed mostly when the device reports back to Jungle.

pointGeoPoint

Where the device is on Earth.

pointAccuracyFloat

If known, how accurate the geo coordinates are. See IGeoLocatable.pointAccuracy for more details.

enabledBoolean!

If enabled or not.

reportedAtDateTime

The last time this device reported to Jungle.

createdAtDateTime!

The creation time of this device.

weighReportDeviceWeighReport

The last weigh report received for this device. Scale/balance weigh things and reports on its measurement. The weight on and stability of the balance/scale. If this is null, the device has not reported yet.

locationLocation

The location which the the device is assigned to.

barcodes[String]

Known barcode values, associated with the location.

DeviceWeighReport

A weigh report from a weighing device.

FieldArgumentTypeDescription
subjectID!
statusDeviceWeighStatus

The status of the weighing device / scales / balance.

gramsWeight

The amount of grams being reported.

createdAtDateTime!

When this report was created, roughly when the weight was measured.

aidID
createdByString
DNTBoolean!

Dimensions

The physical dimensions of something. E.g. Parcel, Product, Cat.

FieldArgumentTypeDescription
depthPositiveInt!

The distance (length) from the front to the back of the object.

widthPositiveInt!

The distance (length) from the left to the right of the object.

heightPositiveInt!

The distance (length) from the top to the bottom of the object.

unitUnitDistance!

The units the distance has been measured in.

Documentation

An actual documentation file.

FieldArgumentTypeDescription
idID!

The id of the documentation, generally a composite of the support doc and target object.

typeString!

The __typename of the parent object

typeId ⚠️ID!

The Id of the __typename this documentation belongs too

⚠️ DEPRECATED

Unused. Do not use.

sizeString!

The size of the documentation.

formatDocumentFormat!

The format of the documentation.

readyBoolean
createdAtDateTime!

When the documentation was created.

DocumentationNotAvailable

The requested documentation while supported, is not available.

FieldArgumentTypeDescription
messageString

DocumentationNotSupported

The requested documentation is not supported.

FieldArgumentTypeDescription
messageString

DocumentationSupported

Documentation supported, it is not actual documentation. It is used to describe what kinds of documentation is supported. Note that supported doesn't mean the documentation is available.

FieldArgumentTypeDescription
idID!

Id of the documentation type.

nameString!

Name of the supported documentation.

descriptionString!

A desc

formatDocumentFormat!

The format of the supported documentation.

sizeString!

The size of the supported documentation.

DocumentationSupportedResult

Result for the documentationSupported query.

FieldArgumentTypeDescription
typeIsKnownBoolean
supported[DocumentationSupported!]!

Entity

An entity scopes records within an account by base currency and (eventually) tax profile. Used to separate data by department, franchisee, or geography (for example, AUS Pty Ltd vs USA LLC).

FieldArgumentTypeDescription
idID!

The entity's identifier.

path ⚠️ID!

Full path to the entity.

⚠️ DEPRECATED

Use .id instead.

nameString!

Entity's display name.

legalNameString

Registered legal name. Distinct from name (display) — used on invoices, statements, and government-facing documents. If NULL, consumers should fall back to name.

descriptionString

Free-text description of the entity.

currencyBaseCurrencyCode!

Default currency used by transactions belonging to this entity. Set on creation and immutable thereafter — there is no update path for this field.

createdAtDateTime!

When the entity was created in Jungle.

modifiedAtDateTime

When the entity was last modified.

xidsExternalIdResults!

The entity's known external IDs.

inputExternalIdsInput
tags[Tag!]

Tags on the Entity

enabledBoolean!

If this entity is active, or not.

attributes[ICustomAttribute!]!

Custom attributes on the entity. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the entity's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases

inputObjectAttributeInput!

EntityAccess

The entities the authenticated user may reach in the selected account.

FieldArgumentTypeDescription
restrictedBoolean!

Whether the user has a specified entity set, or not.

When true, entities is the full set the user may reach — possibly empty, if access has been withdrawn.

entities[Entity!]!

The entities explicitly granted to the user. Empty when access is unrestricted, or when it has been withdrawn.

entityDefaultEntity

Entity suggested to this user when creating records.

🤖: A suggestion only — name the entity explicitly on each mutation. It is not applied for you.

EventEdge

An event matched by an events query.

FieldArgumentTypeDescription
nodeIEvent!

The matched event.

EventResult

A page of events.

FieldArgumentTypeDescription
results[EventEdge!]!

The events that matched.

pageInfoSearchPageInfo!

Paging information on the result set.

ExportCreated

FieldArgumentTypeDescription
downloadUrlURL!

URL to download the export.

ExportFailure

FieldArgumentTypeDescription
messageString!

May explain why it fails

ExportSubmitted

FieldArgumentTypeDescription
idID!

ID of the report. Use this to retrieve the full content once the export process is done.

ExternalId

External IDs are reference/aliases objects using a custom identifier that you provide.

XIDs allow you to store identifiers from your own or other systems against objects in Jungle. XIDs are made up of 3 parts: namespace, key, and value. XIDs fully formatted string can be used to directly reference objects in Jungle, and can be used in place of the Jungle ID!

🤖: It is important to note that an External ID must be unique.

FieldArgumentTypeDescription
idID!

The external ID's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

A list of tags.

targetIdString!

The target's ID the xid is aliasing.

targetTypenameString!

The target's typename the xid is aliasing.

namespaceString!

The first part of the xid.

keyString!

The second part of the xid.

valueString!

The third part of the xid.

xidString!

The formatted XID string. e.g: xid:jungle/Product:acme/crate/101, xid:jungle/Order:namespace/key/value 🤖: If you want a substring value in the xid, use .targetTypename, .namespace, .key, .value instead.

createdAtDateTime!

When the external ID was created in Jungle.

ExternalIdResults

A paginated list of external ids associated with the parent object.

FieldArgumentTypeDescription
nodes[ExternalId!]!

A list of External IDs. If any.

File

FieldArgumentTypeDescription
nameString

The filename.

contentTypeString

Content-Type of the file.

md5String

A base64 encoded md5 hash of the file contents.

crc32cString

A base64 encoded crc32c checksum of the file contents.

etagString

A base64 encoded etag of the file contents.

sizeInt

If known, the size in bytes of the file.

urlURL

An URL to get access to the attachment.

FulfillmentCreatedEvent

@DEPRECATED: Use Created instead!

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString
allocationIdString!
orderId ⚠️String!

⚠️ DEPRECATED

Not always available.

shipmentIdString!

FulfilmentCollect

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

stateCollectionState!

The current status of the pick up

referenceString

A merchant reference number

pickUpLocationLocation

The pick up location

orderOrder

The order this fulfilment is for.

allocationAllocation

The allocation this fulfilment relates to

lineItems ⚠️[OrderLineItem!]!

The line items to be picked up

⚠️ DEPRECATED

Use .lineItemConnection instead

lineItemsConnectionFulfilmentLineItemResults

The order line items to be picked up

serviceIService

The service being provided to pick up order items. This will be Click and Collect/PICKUP!

createdAtDateTime!

When the pick up was created

fulfilledAtDateTime!

When the fulfilment actually happened. Defaults to .createdAt.

readyAtDateTime

When the pick up was ready for collection

pickedUpAtDateTime

When the pick up was collected

cancelledAtDateTime

When the pick up was cancelled

collectByDateTime

When the pick up must be collected by

integrationReferenceString

Any kind of useful value to an integration creating/managing this fulfilment

documentationDocumentationResult!

Documents for this collection

inputDocumentationInput!
tags[Tag!]

A list of tags on the fulfilment.

attributes[ICustomAttribute!]!

Additional custom attributes on the customer.

inputObjectAttributesInput
attributeValueString

A single key from the fulfilment's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases

inputObjectAttributeInput!
xidsExternalIdResults!

The customer's known external IDs.

inputExternalIdsInput
notesNoteResults

The notes associated with the fulfilment.

FulfilmentCollectChangeStateResult

FieldArgumentTypeDescription
fulfilmentCollectFulfilmentCollect

FulfilmentCollectCreateResult

FieldArgumentTypeDescription
fulfilmentCollectFulfilmentCollect

FulfilmentLineItem

A line item in a fulfilment.

This describes what has been fulfilled, and how much of it.

FieldArgumentTypeDescription
idID!

The ID of the fulfilment line item.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

quantityFloat!
lineItemOrderLineItem
createdAtDateTime!
notesNoteResults

The notes associated with the fulfilment.

FulfilmentLineItemResult

FieldArgumentTypeDescription
nodeFulfilmentLineItem

FulfilmentLineItemResults

FieldArgumentTypeDescription
results[FulfilmentLineItemResult!]!
pageInfoPageInfo!

FulfilmentManual

Fulfilment that is not automatically created by Jungle, and is not a shipment, or collection.

When an order is fulfilled outside of shipment and collection fulfilment processes, this is the type to use.

FieldArgumentTypeDescription
idID!

The fulfilment's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString

A custom reference for the fulfilment

order ⚠️Order

The Order this fulfilment relates to.

⚠️ DEPRECATED

Use the .allocation.source instead. As it is not always related to an order.

allocationAllocation

The Allocation this fulfilment relates to. NOTE: This is not always available, and may be null even when the fulfilment relates to multiple allocations.

integrationReference ⚠️String

⚠️ DEPRECATED

Use xids instead.

lineItems ⚠️[OrderLineItem!]!

The line items in this fulfilment.

⚠️ DEPRECATED

Use .lineItemConnection instead

lineItemsConnectionFulfilmentLineItemResults
serviceCodeString

The service code providing this fulfilment.

serviceIService

The service providing this fulfilment. NOTE: The resolved service may not match the .serviceCode.

fulfilledAtDateTime!

When the fulfilment actually happened. Defaults to .createdAt.

tags[Tag!]

A list of tags on the fulfilment.

attributes[ICustomAttribute!]!

Additional custom attributes on the customer.

inputObjectAttributesInput
attributeValueString

A single key from the fulfilment's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases

inputObjectAttributeInput!
xidsExternalIdResults!

The customer's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the fulfilment was created.

modifiedAtDateTime

When the fulfilment was last modified.

notesNoteResults

The notes associated with the fulfilment.

FulfilmentShipment

A shipment that has fulfilled allocation line items.

It's important to be aware that a Shipment in Jungle is a standalone concept, and may not directly relate to an order or allocation etc. A FulfilmentShipment is a record of what line items were sent, and by which courier it was sent, and may link them to specific jungle shipments.

A FulfilmentShipment may not have .shipments, as it may just record a shipment made in the past, or in a separate system.

FieldArgumentTypeDescription
idID!

Id of the fulfilment

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString

A custom reference for the fulfilment.

order ⚠️Order

The order this fulfilment relates to.

⚠️ DEPRECATED

Use the .allocation.source instead

allocationAllocation

The allocation this fulfilment relates to

lineItems ⚠️[OrderLineItem!]!

The line items in this fulfilment

⚠️ DEPRECATED

Use .lineItemConnection instead

lineItemsConnectionFulfilmentLineItemResults

The order line items in this fulfilment.

serviceIService

The service providing this fulfilment, it will be the shipment service

fulfilledAtDateTime!

When the fulfilment actually happened. Defaults to .createdAt.

integrationReferenceString

Integration reference. This is useful when the fulfilment comes from a integration and that integration requires a reference when communicating with the third party which would be different from a customer visible reference

shipments ⚠️[Shipment!]!

⚠️ DEPRECATED

Use .shipmentConnection instead

shipmentsConnectionFulfilmentShipmentResults

The shipments in this fulfilment. Normally there is one shipment, but can be more, especially in situations where the carrier does not support multi package shipments.

documentation ⚠️DocumentationResult!

Documents for this fulfilment.

⚠️ DEPRECATED

Use documentation on a specific ShipmentV2 that utilizes the attachment system.

inputDocumentationInput!
tags[Tag!]

A list of tags on the fulfilment.

attributes[ICustomAttribute!]!

Additional custom attributes on the customer.

inputObjectAttributesInput
attributeValueString

A single key from the fulfilment's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases

inputObjectAttributeInput!
xidsExternalIdResults!

The customer's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the shipment fulfilment was created

modifiedAtDateTime!

When the shipment fulfilment was last modified

notesNoteResults

The notes associated with the fulfilment.

FulfilmentShipmentCreateResult

FieldArgumentTypeDescription
fulfilmentShipment ⚠️FulfilmentShipment

⚠️ DEPRECATED

Unused.

FulfilmentShipmentResult

FieldArgumentTypeDescription
nodeShipmentV2

A shipment.

FulfilmentShipmentResults

Results for shipments on a fulfilment

FieldArgumentTypeDescription
results[FulfilmentShipmentResult!]!

The shipment results

GeoCodePoint

Geo coordinates with an accuracy

FieldArgumentTypeDescription
pointGeoPoint!

lat/lng

pointAccuracyFloat!

See IGeoLocatable.pointAccuracy for details.

GeoCodeResult

FieldArgumentTypeDescription
foundGeoCodePoint

If found, a lat/lng for the given address.

GeometryFeature

A geometry paired with free-form properties (a GeoJSON Feature).

FieldArgumentTypeDescription
typeGeometryType!

Always Feature.

geometryIGeometry!

The geometry this feature describes.

propertiesJSONObject

Free-form properties associated with the geometry (e.g. a display colour).

GeometryPolygon

A shape traced by an ordered ring of positions.

FieldArgumentTypeDescription
typeGeometryType!

Always Polygon.

coordinates[Coordinate!]!

The ordered positions forming the shape.

HandheldConfiguration

FieldArgumentTypeDescription
forceAuthenticateAfterTimePositiveInt

The maximum idle period (in minute) after which users are required to authenticate again.

Identity

FieldArgumentTypeDescription
idID
emailString
password ⚠️String

⚠️ DEPRECATED

this should not be visible

displayNameString

Image

An image.

FieldArgumentTypeDescription
sourceURL

Original source URL for images uploaded from URLs, if known. Use .url() to get the actual image URL for display purposes.

urlURL!

The URL to the image.

If no input is provided, the original image URL is returned.

If you want a smaller image, like a thumbnail, you can provide options to transform the image. e.g.:

image {
  my_thumbnail_url: url(input: { transform: { width: 80, height: 80 } })
  previewUrl: url(input: { transform: { width: 200 } })
}

NOTE: The example is using GraphQL aliases to return multiple image sizes. NOTE: When an image is hosted externally, we may not be able to transform it, in which case the original image source URL is returned.

inputImageUrlInput
modifiedAtDateTime

When the image was last modified, if known.

InsightEmbeddableDetails

FieldArgumentTypeDescription
idID!
insightEmbedTypeInsightEmbedType!
nameString!
urlURL

InsightEmbeddableResult

FieldArgumentTypeDescription
nodeInsightEmbeddableDetails

InsightEmbeddableResults

FieldArgumentTypeDescription
results[InsightEmbeddableResult!]!
pageInfoPageInfo!

Integration

A 3rd party system or service provider known to Jungle

FieldArgumentTypeDescription
idID!

The integration's ID.

nameString!

The name of the integration

descriptionString!

A description of the integration

homeUrlURL

The homepage URL of the integration provider.

logoUrlURL

The URL to product/integration logo.

logoBgString

An optional color code for background of the logo.

setupDescriptionString

A description of the integrations setup

setupUrlURL

The URl that begins the connection process, an integration may not have one, if it is manual / different process

connectionLimitInt!

The number of connections that will be allowed to this integration, active or otherwise

awaitPngUrlURL

A PNG image to show when the integration is being connected to, or when a process is happening that is awaiting integrated system.

features[String!]

IntegrationConnectionListResult

FieldArgumentTypeDescription
results[IntegrationConnectionListResultEdge!]
pageInfoPageInfo!

IntegrationConnectionListResultEdge

FieldArgumentTypeDescription
connectionIIntegrationConnection!

IntegrationConnectionSource

When an object comes from a integration connection.

FieldArgumentTypeDescription
nameString

This integration connection's name.

connectionIIntegrationConnection

The connection the object came from.

IntegrationListResult

FieldArgumentTypeDescription
results[IntegrationListResultEdge!]!

IntegrationListResultEdge

FieldArgumentTypeDescription
integrationIntegration!

IntegrationPrivate

Private integration information.

This is for the integration and the account that manages it.

FieldArgumentTypeDescription
idID!

This is the integration unique id. This must be DNS friendly. It can not be changed.

secretString!

Keep this a secret. Use this verify data from the Jungle Platform.

apiKeyString!

Keep this a secret. Use this to communicate with the Jungle Platform as the integration.

audienceIntegrationAudience

The audience this integration is intended for.

createdAtDateTime!

Inventory

Inventory for a specific SKU at a location.

FieldArgumentTypeDescription
idID!

Inventory Id

skuString!

The stock keeping unit.

This can be any unique identifier within your business.

This is unique at each location where inventory is being tracked.

conditionString

Product condition, e.g. damaged, new, mislabeled

locationLocation

The location this inventory is at. i.e A store, shelf, van etc.

quantity ⚠️Int!

A copy of quantityOnHand.

⚠️ DEPRECATED

Use quantityOnHand, though this isn't going anywhere

quantityOnHandInt!

The quantity of this SKU currently on hand regardless of whether it is available for use.

This number includes all inventory, including allocated inventory. This number reduces when the SKU is consumed, i.e. Fulfilled against an order. This number can go negative, if there are stock level mismatches (having more on hand than actually counted) etc. It is most likely used as a reference in picking processes, and not displayed in your shop.

quantityAllocatedInt!

The current quantity of this SKU that has been promised/sold, but has not yet been fulfilled.

This number is updated when the SKU is allocated to a location (see inventoryAllocate). This number represents the perceived quantity of the SKU sold but not yet fulfilled. This number can not go negative, but can go higher than on hand.

quantityAssignedInt!

The current quantity of SKU in stock / on hand assigned for an allocation.

This number is updated when allocated SKU is assigned to inventory on hand. This number represents the perceived quantity of the SKU sold and assigned. This number can not go negative and cannot go higher than on hand.

quantityQuarantinedInt!

The quantity of this SKU on hand at locations with the Quarantine capability.

This stock remains included in on hand but is excluded from available. For a single location this is either 0 or equal to on hand; when children are included it is the sum across the location and its descendants. Since on hand can go negative (stock level mismatches), this number can too when the mismatch is at a quarantined location.

quantityAvailableFloat!

The quantity of this SKU currently available for use/sale.

This number is derived from inventory on hand, minus the inventory allocated and any quarantined inventory. In other words, it’s your current unassigned, sellable stock. This number can go negative, especially when over allocated. It is most likely the quantity to display in your sales processes.

quantityAvailableToPromiseFloat!

The quantity of this SKU currently available to promise publicly to any given consumer.

This number is derived from your available inventory. Plus any additional rules for limiting promised stock. This number can go negative, especially when you have over allocated. It is most likely the quantity to display in your shop.

quantityInboundFloat!

The current incoming quantity of this SKU. i.e. Ordered from a supplier, but has not yet been received.

This number is updated when inbound inventory movement is created. This number can not go negative. It is mostly likely the quantity used in your warehouse management processes.

quantityOrderedFloat!

The total quantity of SKU on purchase orders that have not yet been received or reconciled.

quantityBackorder ⚠️Float!

The total quantity of SKU required for open sales order that have not yet been ordered.

⚠️ DEPRECATED

Use "quantityBackordered" for a summary of backordering instead

quantityBackorderedFloat!

The total quantity of SKU required for open sales order that have not yet been ordered.

quantityReconciledFloat!

The total quantity of SKU on purchase orders that have been reconciled.

quantityUnreconciledFloat!

The total quantity of SKU on purchase orders that have not yet been reconciled.

createdAtDateTime!

When Jungle first started tracking this SKU at the location.

productProduct

The product (if there is one) associated with this inventory record

InventoryAllocated

Triggered when inventory was successfully allocated inr the inventoryAllocate mutation.

FieldArgumentTypeDescription
subjectID!

The inventory Id.

createdAtDateTime!
aidID
createdByString
skuString!
locationId ⚠️ID!

⚠️ DEPRECATED

Look at the event source?

allocationKeyID!

This value can be used later for easy removal of the allocation, and decrement of on hand stock. It helps identify specific allocations.

quantityAllocatedInt!

This number or items allocated, -2, or 3 etc.

InventoryAllocationsCleared

Result for the inventoryAllocationsClear mutation

FieldArgumentTypeDescription
clearedBoolean!

True if allocations were cleared, regardless of if there were any to clear

InventoryAlreadyAllocated

The inventory was allocated in previous inventoryAllocate mutation!

FieldArgumentTypeDescription
allocationKeyID!

The inventory has already been allocated using the provided key!

InventoryAlternative

An alternative location to pick the item from.

FieldArgumentTypeDescription
locationLocation

InventoryAlternativesResult

FieldArgumentTypeDescription
pageInfoSearchPageInfo!
results[InventoryAlternative]!

InventoryAssignableResult

Result for the inventoryAssignable query.

FieldArgumentTypeDescription
results[InventoryItemResultEdge!]!

The matched inventory items.

InventoryAssignment

Triggered when assigned inventory is modified in Jungle.

FieldArgumentTypeDescription
subjectID!

The Id of the what the inventory is assigned to, i.e, Allocation Id

subjectTypenameID!

The __typename of the object, e.g. Allocation

inventoryAssignmentSummary[InventoryAssignmentSummary!]!

A summary of the current inventory assigned to the subject

createdAtDateTime!

When the inventory assigned to the subject was modified.

createdByString

The human, integration, device etc that modified this object.

aidID

The account the object was modified in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

The event's custom attributes.

InventoryAssignmentSummary

FieldArgumentTypeDescription
skuString!

The stock keeping unit.

This can be any unique identifier within your business.

This is unique at each location where inventory is being tracked.

quantityAssignedFloat!

The current quantity of SKU in stock / on hand assigned.

quantityAllocatedFloat!

The number of the SKU allocated.

InventoryByAllocation

FieldArgumentTypeDescription
skuString!

The stock keeping unit.

This can be any unique identifier within your business.

This is unique at each location where inventory is being tracked.

locationLocation

The location this inventory is at. i.e A store, shelf, van etc.

quantityAssignedFloat!

The current quantity of SKU in stock / on hand assigned for this allocation.

quantityAllocatedFloat!

The number of the SKU allocated.

alternativesInventoryAlternativesResult

InventoryByPurchaseOrder

FieldArgumentTypeDescription
skuString!

The stock keeping unit.

This can be any unique identifier within your business.

This is unique at each location where inventory is being tracked.

conditionString

Product condition, e.g. damaged, new, mislabeled

locationLocation

The location this inventory is at. i.e A store, shelf, van etc.

quantityReceivedFloat!

The current received quantity of this SKU.

quantityInboundFloat!

The current incoming quantity of this SKU. i.e. Ordered from a supplier, but has not yet been received.

InventoryConfiguration

FieldArgumentTypeDescription
costMethodPreferredInventoryCostMethod

The preferred inventory costing methodology for this account, used to resolve InventoryMovement.unitCost and unitCost in inventory movement feeds. null when no preference has been explicitly configured.

InventoryCostLayer

A tranche of stock that entered the system at a known cost. Holds the per-receive cost provenance (when, how, at what cost, by whom) and the per-method depletion state used by FIFO/LIFO selection. Layers are append-mostly: identity is immutable, balance fields evolve as movements are inserted, rows are never deleted.

Each layer belongs to the entity of the location the stock entered at, and FIFO/LIFO selection never crosses entities - each entity's queue depletes independently.

Searchable - use the standard search(types: [InventoryCostLayer]) query with filters on entity.id, product.id, receivedAt, exhaustedAtFifo, etc. To find movements linked to a specific layer, search InventoryMovement with a costLayerIdFifo filter.

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

createdAtDateTime!
entityEntity!

The entity whose cost ledger this layer belongs to - the entity of the location the stock entered at. FIFO/LIFO selection only ever draws from layers of the same entity.

productProduct!

The product this layer belongs to.

sourceMovementInventoryMovement

The originating inventory movement (typically a RECEIVE). Backfilled immediately after the layer is created in the same transaction.

parentLayerInventoryCostLayer

For layers created by inter-facility transfers or location migrations, the source layer whose stock was handed off. NULL for layers created by a direct receive or positive adjustment.

unitCostMoneyV1!

Unit cost paid at the time of receive (or, after a supplier bill correction, the current best estimate of the cost). Same value on every layer regardless of costing method - the depletion state is per method, the cost is universal.

quantityReceivedFloat!

Original quantity at layer creation. Immutable.

quantityRemainingFifoFloat!

Units still on hand from this layer under FIFO depletion order. Reaches zero when the layer is fully consumed under FIFO; can return to non-zero if a reversal resurrects it.

quantityRemainingLifoFloat!

Units still on hand from this layer under LIFO depletion order (newest layer first). Reaches zero when the layer is fully consumed under LIFO; can return to non-zero if a reversal resurrects it. Diverges from quantityRemainingFifo whenever there are multiple live layers - same physical units, different cost-bucket attribution between the two methods.

receivedAtDateTime!

When the layer entered the system. Immutable. Used as both the FIFO ordering key (oldest-first) and the LIFO ordering key (newest-first). Composition reports also use this for receipt provenance.

exhaustedAtFifoDateTime

When the layer first reached quantityRemainingFifo = 0. NULL while the layer is still live. Cleared if a reversal resurrects the layer.

exhaustedAtLifoDateTime

When the layer first reached quantityRemainingLifo = 0. NULL while the layer is still live under LIFO. Cleared if a reversal resurrects the layer. May diverge from exhaustedAtFifo - a layer can be exhausted under one method while still live under the other.

tags[Tag!]

Tags on the layer. Empty by default - no operator-facing mutation is exposed yet.

attributes[ICustomAttribute!]!

Custom attributes on the layer. Empty by default - no operator-facing mutation is exposed yet.

inputObjectAttributesInput
attributeValueString

A value for a specific attribute from the custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: supplierBillId: attributeValue(input: { attributeId: "supplier-bill-id" }).

inputObjectAttributeInput!

InventoryCreateResult

Result for the inventoryCreate mutation

FieldArgumentTypeDescription
okBoolean!
inventory ⚠️Inventory

⚠️ DEPRECATED

This won't guarantee correctness and will be remove in future versions.

InventoryIdentityScan

A per-unit identity scan captured during a warehouse operation (e.g., packing). Records the serial number, optional photo, and GS1-aligned identifiers.

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

serialString

The serial number scanned or entered. GS1 AI (21). Null if this is a batch-only scan.

photoPathString

Path to the uploaded photo of the serial number label.

productProduct

The product this scan is for.

lineItemLineItem

The order line item this scan is associated with.

createdAtDateTime!

When the scan was created.

modifiedAtDateTime!

When the scan was last modified.

deletedAtDateTime

Soft delete timestamp. Set on unpack.

createdByString

Who performed the scan.

attributes[ICustomAttribute!]!

Additional custom attributes on the inventory identity scan. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the inventory identity scan's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: giftCardColour: attributeValue(input: { attributeId: "gccolour" }).

inputObjectAttributeInput!

InventoryIdentityScanResults

FieldArgumentTypeDescription
results[InventoryIdentityScan!]!

InventoryItem

FieldArgumentTypeDescription
productProduct

The product associated with this inventory item.

locationLocation!

The location this inventory is at. i.e A store, shelf, van etc.

quantityDecimal!

The quantity of this inventory item.

assignmentIInventoryAssignTarget

The current target the inventory is assigned to.

InventoryItemResultEdge

Edge for the InventoryAssignableResult result.

FieldArgumentTypeDescription
nodeInventoryItem!

Found inventory item.

InventoryListAssignedAtLocationResult

FieldArgumentTypeDescription
skuString!
assigned[AssignedInventory!]!

InventoryListResult

Result for the inventoryList* queries.

FieldArgumentTypeDescription
results[InventoryListResultEdge!]!

Any inventory found

pageInfoPageInfo!

Information on the number of inventories to be listed

InventoryListResultEdge

Edge for InventoryListResult.

FieldArgumentTypeDescription
cursorID

Cursor for the current inventory

inventoryInventory!

An inventory in the results

InventoryMoved

The inventory was moved from the location to the destination

FieldArgumentTypeDescription
fromInventory!
toInventory!

InventoryMovement

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

typeInventoryMovementType!
fromIInventoryMovementFrom

Source from which the Inventory comes, i.e. Allocation, Supplier, PurchaseOrder, Location. May not exist (i.e. Inbound movements, receiving from a truck)

toIInventoryMovementTo

Destination to where the Inventory transferred to, i.e. Location, Allocation. May not exist (i.e. Outbound movements)

descriptionString

A description of the inventory movement in details.

skuSKU!

Product SKU

conditionString

Product condition, e.g. damaged, new, mislabeled

qtyFloat!

Quantity of SKU moved

createdAtDateTime!
modifiedAtDateTime
createdByString!
locationLocation

Location where the inventory movement happens

jobIdString

Job id related to inventory movement

unitCostMoneyV1

The cost of the product (per unit) for this movement, resolved according to the account's preferred inventory cost methodology. The preferred methodology is set by an internal account-configuration flag (not yet exposed as a GraphQL mutation) and defaults to AVERAGE.

When the preferred method is FIFO, this returns unitCostFifo. When the preferred method is LIFO, this returns unitCostLifo. When the preferred method is AVERAGE, this returns unitCostAverage. Use the specific fields (unitCostAverage, unitCostFifo, unitCostLifo) when you need a particular methodology regardless of the account's preference.

unitCostAverageMoneyV1

The average cost of the product (per unit) at the time this movement occurred, derived from the product's rolling costAverage. NULL when the product has no average cost set, or for movement types that do not participate in cost tracking.

unitCostFifoMoneyV1

The FIFO unit cost at the time of this movement, computed by walking cost layers in oldest-first order. NULL when the account does not have inventory cost layers enabled, or for movement types that do not participate in cost tracking.

For RECEIVE this equals the receive price. For CONSUME and negative ADJUST it is the cost derived from the layers consumed by this movement.

unitCostLifoMoneyV1

The LIFO unit cost at the time of this movement, computed by walking cost layers in newest-first order. NULL when the account does not have inventory cost layers enabled, or for movement types that do not participate in cost tracking.

For RECEIVE this equals the receive price (the layer is freshly opened so all methods see the same cost). For CONSUME and negative ADJUST it is the cost derived from the layers consumed by this movement under LIFO ordering, which may differ from unitCostFifo when there are multiple live layers.

costLayerFifoInventoryCostLayer

The cost layer this movement created (for RECEIVE / positive ADJUST) or depleted (for CONSUME / negative ADJUST) under FIFO ordering. NULL when the account does not have inventory cost layers enabled, or for movement types that do not participate in cost tracking. Pairs with unitCostFifo.

costLayerLifoInventoryCostLayer

The cost layer this movement created or depleted under LIFO ordering. May point at a different layer than costLayerFifo for depleting movements (CONSUME / negative ADJUST / reversal ADJUST) where the FIFO and LIFO queues walk from opposite ends. Pairs with unitCostLifo.

unitCostTransactionMoneyV1

The original transaction-currency unit cost for receives against a source document (purchase order or bill) whose transaction currency differs from the account's base currency. NULL when no conversion occurred (i.e. the document was already in base currency, or this movement was not sourced from a foreign- currency document).

exchangeRateAppliedDecimal

The exchange rate snapshot that was applied to derive unitCost (in base currency) from unitCostTransaction. NULL when no conversion occurred.

InventoryMovementReceivedListResult

FieldArgumentTypeDescription
pageInfoSearchPageInfo!
results[InventoryMovement!]!

InventoryNotFound

Result when inventory is not found.

FieldArgumentTypeDescription
messageString

InventoryPreference

FieldArgumentTypeDescription
idID!
productProduct!
locationLocation!
capabilities[ICapability!]

Preferences on the capabilities of the inventory given a product and a location pair.

InventoryPutAwayItemsByLocationResult

Result for the inventoryPutAwayItemsByLocation query.

FieldArgumentTypeDescription
results[InventoryPutAwayItemsByLocationResultNode!]!

Items to put away, if empty there is no more items to put away

locationLocation

The location to put away from.

locationTransferableBoolean

If true, it means you may simply transfer it, as the location contains all the items to be put away to any location

InventoryPutAwayItemsByLocationResultNode

FieldArgumentTypeDescription
skuString!

Item's SKU

conditionString

Item's condition, e.g. damaged, new, mislabeled

quantityFloat!

Quantity of the item to put away

locationsTo[Location!]

Suggested locations to put away the items to. If empty or not given, put away the items to any location

allocationAllocation

Allocation the item is assigned to

allocationIsReadyToPackBoolean

If true, the current allocation has all the items in the current location and could be packed immediately (therefore skipping storing and picking later)

InventoryPutAwayItemsResult

Result for the inventoryPutAwayItems query.

FieldArgumentTypeDescription
results[InventoryPutAwayItemsResultNode!]!

Items to put away, if empty there is no more items to put away

locationTransferableLocation

If a location, it means you may simply transfer it, as the location contains all the items to be put away

locationNextLocation

Suggested location to put away the items to. If empty, put away the items to any location

allocationIsReadyToPackBoolean

If true, the current allocation has all the items in the current location and could be packed immediately (therefor skipping storing and picking later)

InventoryPutAwayItemsResultNode

FieldArgumentTypeDescription
allocationAllocation

Allocation the item is assigned to

locationLocation

Item's current location

skuString!

Item's SKU

conditionString

Item's condition, e.g. damaged, new, mislabeled

quantityFloat!

Quantity of the item to put away

InventoryReplenishSummary

FieldArgumentTypeDescription
skuToReplenishCountInt

Number of SKU that needs replenishment in total

totalQuantityToReplenishFloat

Quantity of SKU that needs replenishment in total

InventoryReplenishSummaryResult

FieldArgumentTypeDescription
summaryInventoryReplenishSummary

InventoryReplenishablePickItemsResult

Result for the inventoryReplenishablePickItems query.

FieldArgumentTypeDescription
results[InventoryReplenishablePickItemsResultNode!]!

The items that are replenishable

InventoryReplenishablePickItemsResultNode

FieldArgumentTypeDescription
locationLocation

Location to replenish from

alternativesInventoryAlternativesResult
skuString!

Item's SKU

quantity ⚠️Float!

Maximum quantity of the SKU that can be replenished

⚠️ DEPRECATED

Use quantityToReplenish and/or quantityInLocation

quantityInLocationFloat!

Quantity available of the SKU at the location

quantityToReplenishFloat!

Quantity of the SKU that needs to be replenished

InventoryReservedItemsListResult

Result for the inventoryReservedItemsList query.

FieldArgumentTypeDescription
results[InventoryReservedPickItemsResultNode!]!
pageInfoSearchPageInfo!

InventoryReservedPickItemsResult

Result for the inventoryReservedPickItems query.

FieldArgumentTypeDescription
results[InventoryReservedPickItemsResultNode!]!

The items that are ready to be picked, and moved to trolley, or packing area etc..

locationTransferableLocation

If a location, it means you may simply transfer it, as the location contains all the items to be put away

InventoryReservedPickItemsResultNode

FieldArgumentTypeDescription
allocationAllocation
locationLocation
skuString!
quantityFloat!
alternativesInventoryAlternativesResult
documentationDocumentationResult!

Documents for this item. e.g. Pick label.

inputDocumentationInput!

InventoryReservedPickResult

Result for the inventoryReservedPick query.

FieldArgumentTypeDescription
locationNextLocation

If the location is not null, it means the pick wave/reservation is still active, and the user should be directed to that location.

results[InventoryReservedPickItemsResultNode!]

The items that are ready to be picked, and moved to trolley, or packing area, etc in the next location.

InventorySetEvent

FieldArgumentTypeDescription
subjectID!

The allocation Id.

createdAtDateTime!
aidID
createdByString
locationIdID!
skuString!
quantityOnHandInt!
quantityAllocatedInt!
quantityAvailableToPromiseInt!
quantityAllocatedPriorInt
quantityOnHandPriorInt
attributes[ICustomAttribute!]

The event's custom attributes. These are optional, and are not always present.

InventorySummarizeResult

Result for the inventorySummarize query

FieldArgumentTypeDescription
locationIdsUsed[ID!]!

Any location Id's that where found to have inventory, and rolled up.

locationIdsNotUsed[ID!]!

Any location Id's the don't exist or don't hold the SKU. It is up to you to confirm if the summary result is valid or not for your use case.

summedQuantityOnHandInt!

The summed quantity of the SKU currently in stock / on hand. It is most likely used as a reference in product UIs or inventory management, and not displayed in your shop.

summedQuantityAllocatedInt!

The summed quantity of the SKU currently allocated. It is most likely used as a reference to understand how much inventory is currently awaiting fulfilment.

summedQuantityAvailableToPromiseInt!

The summed quantity of the SKU currently available to sell. It is most likely the quantity to display in your shop.

locationSummaries[InventorySummary!]!

Lists out the location specific quantities.

This may not contain all requested locations, and may contain a location twice.

InventorySummary

Summary for a location inventory used in the inventorySummarize/inventorySummarizeByProduct query

FieldArgumentTypeDescription
locationIdID!

The location Id

quantityOnHandInt!
quantityAllocatedInt!
quantityAvailableToPromiseInt!

InventoryUnassignedPickItemsResult

Result for the inventoryUnassignedPickItems query.

FieldArgumentTypeDescription
results[InventoryUnassignedPickItemsResultNode!]!

The items that are unassigned

locationTransferableLocation

If provided, it means you may simply transfer it, as the location contains all the items to be put away

InventoryUnassignedPickItemsResultNode

FieldArgumentTypeDescription
locationLocation
skuString!
quantityFloat!

InventoryUnassignedPickResult

Result for the inventoryUnassignedPick query.

FieldArgumentTypeDescription
locationNextLocation

If the location is not null, it means the wave is still active, and the user should be directed to that location.

JobAllocationLimit

FieldArgumentTypeDescription
limitInt!
messageString

JobAllocationNotFound

Result for when a given allocation Id does not map to any allocation in a Job

FieldArgumentTypeDescription
messageString

Might explain why the allocation was not found

JobAllocationToPack

A partial clone of order allocation, but records the packed state of the items to fulfill.

FieldArgumentTypeDescription
idID!

ID of the allocation to pack.

This matches the original order allocation Id.

orderId ⚠️ID!

ID of the order to pack

⚠️ DEPRECATED

Allocation will not always link to an order

referenceString

Reference of the Order to pack

method ⚠️FulfilmentMethod

⚠️ DEPRECATED

We are going to request this from the original allocation when creating the fulfilment

shippingAddress ⚠️PostalAddress

⚠️ DEPRECATED

We are going to request this from the original allocation when creating the fulfilment

serviceCode ⚠️ID

⚠️ DEPRECATED

We are going to request this from the original allocation when creating the fulfilment

itemsToPack[JobPackItem]

List of items to pack

itemsNotYetPacked[JobPackItem]

List of items not yet packed

itemsPacked[JobPackItem]

List of items already packed

itemsPackedPerPackage[JobPackPackageContent]

List of items already packed, group by package

JobChangeStatusResult

FieldArgumentTypeDescription
idID!
statusJobStatus!

JobConfiguration

Job configuration

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!
enabledBoolean!
descriptionString!
initialStatusJobStatus!

Job will be created with the initial status

operations[JobConfigurationOperation!]!

Configured operations for job

JobConfigurationList

FieldArgumentTypeDescription
results[JobConfigurationResultEdge!]

JobConfigurationOperation

FieldArgumentTypeDescription
contextJobOperationContext!
operationJobOperation!
mutations[String!]!

Mutations for the operation

queries[String!]

Queries for the operation

conditions[JobOperationCondition!]

Condition for the operation

nextContextJobOperationContext
argumentsJobOperationArgument

JobConfigurationResultEdge

FieldArgumentTypeDescription
cursorID!
jobConfigurationJobConfiguration!

JobConfigured

Configured Job

Job created from a job configuration

FieldArgumentTypeDescription
idID!

The Job's Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the job.

documentationDocumentationResult!

Documentation for this job.

inputDocumentationInput!
referenceString

The job reference number

statusJobStatus!

The status of this job

locationLocation

The location where the job is happening

createdAtDateTime!

When the job was created

modifiedAtDateTime

When the job was modified

isCancelable ⚠️Boolean

Whether the job can be cancelled

⚠️ DEPRECATED

Use actions instead.

actions[IAction]

Actions the current user can perform on this job.

inputActionInput
products[JobConfiguredProduct!]

Products added to the job

configurationJobConfiguration

Configuration for this job

completedAtDateTime

When the job was completed

purchaseOrderPurchaseOrder

The purchase order assigned to this job by default

supplierSupplier

The supplier assigned to this job by default

tags[Tag!]

A list of tags(Tag). 🤖: Modify using the tag* mutations.

xidsExternalIdResults!

The job's known external IDs.

inputExternalIdsInput
attributes[ICustomAttribute!]!

Additional custom attributes on the job. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the job's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: workflowId: attributeValue(input: { attributeId: "workflow_id" }).

inputObjectAttributeInput!

JobConfiguredLocationsPutAwayResult

FieldArgumentTypeDescription
locations[Location]

JobConfiguredPickPreview

FieldArgumentTypeDescription
itemsQuantityFloat!

The total quantity of items to be reserved for all allocations.

itemsCountInt!

The number of items to be reserved for all allocations.

locationsCountInt!

Number of unique locations to pick from

allocations[JobConfiguredPickPreviewAllocation!]

The Allocations which would be included in the job

JobConfiguredPickPreviewAllocation

FieldArgumentTypeDescription
allocationIdID!

The ID of the Allocation

itemsQuantityFloat!

The total quantity of items to be reserved for the allocation.

itemsCountInt!

The number of items to be reserved for the allocation.

JobConfiguredPickPreviewResult

FieldArgumentTypeDescription
logs[Log!]
previewJobConfiguredPickPreview

A preview of the Allocations and Products to be reserved

JobConfiguredProduct

FieldArgumentTypeDescription
idID!

The job product's Id

barcodeString!

The product's barcode

productProduct

Product

quantityAvailableInt!

The total quantity of product available

quantityAssignedInt!

The total quantity of product assigned

quantityTotalInt!

The total quantity of product for the job

items[IJobConfiguredProductItem!]!

The list of product's items for this job

JobConfiguredProductAssignedToAllocation

Product used to assign to an allocation

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

location ⚠️Location

The location where inventory is at.

⚠️ DEPRECATED

Use locationFrom or locationTo instead.

locationFromLocation

The source location the product was picked or moved from

locationToLocation

The destination location for the product

quantityInt!

Product quantity

allocationAllocation

The allocation which product is assigned to. User can unset allocation, so this may be empty.

isDamagedBoolean

Whether the product is damaged

lineItemLineItem

The line item that was received against

isOversizedBoolean

Whether the product is oversized

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobConfiguredProductAttachmentUploadTokenCreateResult

FieldArgumentTypeDescription
okBoolean!

True if the result is successful, false otherwise.

codeString

A machine code that can be used to identify the failure.

reasonString

A sentence on what went wrong.

logs[Log!]
uploadTokenUploadToken

JobConfiguredProductIncrementInventory

Product used to increment inventory

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

location ⚠️Location

The location where inventory is at.

⚠️ DEPRECATED

Use locationFrom or locationTo instead.

locationFromLocation

The source location the product was picked or moved from

locationToLocation

The destination location for the product

quantityInt!

Product quantity used to increment inventory

allocationAllocation

The allocation which product is assigned to

lineItemLineItem

The line item that was received against

isDamagedBoolean

Whether the product is damaged

isOversizedBoolean

Whether the product is oversized

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobConfiguredProductPicked

Picked product

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product quantity available

location ⚠️Location

The location where product is picked to.

⚠️ DEPRECATED

Use locationFrom or locationTo instead.

locationFromLocation

The source location the product was picked or moved from

locationToLocation

The destination location for the product

allocationAllocation

The allocation which product is assigned to

lineItemLineItem

The line item that was received against

isDamagedBoolean

Whether the product is damaged

isOversizedBoolean

Whether the product is oversized

documentationDocumentationResult!

Documents for this job configured product item

inputDocumentationInput!
purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobConfiguredProductPutaway

Product that was putaway

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product quantity available

location ⚠️Location

The location where product is putaway to.

⚠️ DEPRECATED

Use locationFrom or locationTo instead.

locationFromLocation

The source location the product was picked or moved from

locationToLocation

The destination location for the product

allocationAllocation

The allocation which product is assigned to

lineItemLineItem

The line item that was received against

isDamagedBoolean

Whether the product is damaged

isOversizedBoolean

Whether the product is oversized

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobConfiguredProductReceived

Quantity received

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product quantity available

location ⚠️Location

The location where product is received.

⚠️ DEPRECATED

Use locationFrom or locationTo instead.

locationFromLocation

The source location the product was picked or moved from

locationToLocation

The destination location for the product

allocationAllocation

The allocation which product is assigned to

lineItemLineItem

The line item that was received against

isDamagedBoolean

Whether the product is damaged

isOversizedBoolean

Whether the product is oversized

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobListResult

FieldArgumentTypeDescription
results[JobListResultEdge!]!
pageInfoPageInfo!

Info on the number of jobs that can be listed

JobListResultEdge

FieldArgumentTypeDescription
cursorID!
jobIJob!

JobNotFound

Result for when a given job Id does not map to a Job

FieldArgumentTypeDescription
messageString

Might explain why the job was not found

JobOperationArgument

FieldArgumentTypeDescription
qtyMaxInt

The maximum quantity allowed for an operation. This number is the hard-limit. Specific operation can have its own logic which enforces a much lower value.

limitPositiveInt

The limit allowed for an operation. If the operation has a limit, this will be used as the operation's input limit. This number is the hard-limit. Specific operation can have its own logic that uses this value.

inventoryActionInventoryMovementType

The inventory movement incurred for an operation. If set, after the operation completes, a movement of this type will be created. Specific details for this movement depends on the context surrounding the operation.

collateByInventoryPutAwayCollationMethod

The collation method for the operation. Specific operation can have its own logic that uses this value.

replenishByInventoryReplenishmentMethod

The replenishment method for the operation. Specific operation can have its own logic that uses this value.

multipleBoolean

When true, the prompt for this operation allows selecting multiple items.

jobConfiguredCreateInputJobOperationArgumentJobConfiguredCreate

Seed arguments forwarded to jobConfiguredCreate when the operation creates a new job (e.g. COMPLETE_TO_NEW_JOB). The creating client must still supply required fields (e.g. locationId) that are not pre-configured here.

JobOperationArgumentJobConfiguredCreate

Pre-configured seed arguments for a jobConfiguredCreate call triggered by an operation.

FieldArgumentTypeDescription
configurationIdID

The configuration ID of the job to create.

JobPack

Packing job.

The task to bundle 1 or more SKUs from an allocation into a fulfilment.

FieldArgumentTypeDescription
idID!

The pack job's Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the job.

documentationDocumentationResult!

Documentation for this job.

inputDocumentationInput!
referenceString

The job reference number

statusJobStatus!

The status of this job

locationLocation

The location where the job is happening

createdAtDateTime!

When the job was created

modifiedAtDateTime

When the job was modified

allocations[JobAllocationToPack]
allocationsUnfulfilled[ID!]!

List of allocations unfulfilled

allocationsFulfilled[ID!]!

List of allocations fulfilled

allocationIds[ID!]

List of allocations in this packing job

isCancelable ⚠️Boolean

Whether the job can be cancelled

⚠️ DEPRECATED

Use actions instead.

actions[IAction]

Actions the current user can perform on this job.

inputActionInput
completedAtDateTime

When the job was completed

tags[Tag!]

A list of tags(Tag). 🤖: Modify using the tag* mutations.

xidsExternalIdResults!

The job's known external IDs.

inputExternalIdsInput
attributes[ICustomAttribute!]!

Additional custom attributes on the job. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the job's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: workflowId: attributeValue(input: { attributeId: "workflow_id" }).

inputObjectAttributeInput!

JobPackAllocationMarkFulfilledResult

FieldArgumentTypeDescription
idID!
allocationsFulfilled[ID!]!
allocationsUnfulfilled[ID!]!

JobPackAllocationShippingAddressSet

FieldArgumentTypeDescription
messageString

JobPackCreateResult

FieldArgumentTypeDescription
jobJobPack!

JobPackItem

FieldArgumentTypeDescription
inventoryIdentityScansInventoryIdentityScanResults

Serial number / identity scans captured for this pack item.

idID

ID of the job pack item if applicable

skuString!
quantityNonNegativeInt!
productProduct

JobPackPackageContent

FieldArgumentTypeDescription
packageIdObjectID!
packageOfProductProduct

Indicate whether this package is actually a package of a multi-part product.

descriptionString

Describe the packaging.

dimensionsDimensions

Dimensions of the packaging.

items[JobPackItem!]!

JobPackSkuResult

FieldArgumentTypeDescription
idID!
itemsNotYetPacked[JobPackItem!]!

List of items not yet packed

itemsPacked[JobPackItem!]!

Summary of items already packed

itemsPackedPerPackage[JobPackPackageContent]!

List of items already packed, group by package

JobPick

Picking job.

The task is to collect 1 or more SKUs, from 1 or more locations, and collect the items together. The method may be different.

FieldArgumentTypeDescription
idID!

The pick job's Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the job.

documentationDocumentationResult!

Documentation for this job.

inputDocumentationInput!
referenceString

The job reference number

statusJobStatus!

The status of this pick job

methodPickMethod!

Method of this pick job

locationLocation

The location where the job is happening

pickLocationLocation

Location where items are picked to

createdAtDateTime!

When the job was created

modifiedAtDateTime

When the job was modified

assignedToString

Name of the person this job is assigned to

itemsToPick[JobPickItem]

List of items to pick

itemsNotYetPicked[JobPickItem]

List of items not yet picked

itemsPicked[JobPickItem]

List of items already picked

allocationIds[ID!]

The Order allocations known to be assigned to this picking job.

It may not have any (e.g, internal picking jobs to move stock), but generally will relate to an Order via 1 or more allocations.

Limited to 100 allocations per job.

isCancelable ⚠️Boolean

Whether the job can be cancelled

⚠️ DEPRECATED

Use actions instead.

actions[IAction]

Actions the current user can perform on this job.

inputActionInput
completedAtDateTime

When the job was completed

tags[Tag!]

A list of tags(Tag). 🤖: Modify using the tag* mutations.

xidsExternalIdResults!

The job's known external IDs.

inputExternalIdsInput
attributes[ICustomAttribute!]!

Additional custom attributes on the job. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the job's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: workflowId: attributeValue(input: { attributeId: "workflow_id" }).

inputObjectAttributeInput!

JobPickCreateResult

FieldArgumentTypeDescription
jobJobPick!

JobPickItem

FieldArgumentTypeDescription
skuString!
quantityNonNegativeInt!

JobPickLocationAssignResult

FieldArgumentTypeDescription
idID!

ID of the job

statusJobStatus!

JobPickedSku

FieldArgumentTypeDescription
itemsNotYetPicked[JobPickItem!]!

List of items not yet picked

itemsPicked[JobPickItem!]!

List of items already picked

JobSkuLimit

FieldArgumentTypeDescription
limitInt!
messageString

JobStatusChanged

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString
jobId ⚠️ID!

⚠️ DEPRECATED

Use subject.

orderRelatedIds[ID!]
statusJobStatus!

JunglePrinter

FieldArgumentTypeDescription
idID!
nameString!

The name of the printer

locationLocation

The location of this printer

createdAtDateTime
attributes[ICustomAttribute!]!

Additional custom attributes on the printer. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the printer's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: colour: attributeValue(input: { attributeId: "printerColour" }).

inputObjectAttributeInput!

JungleShippingCoConnection

A test shipping provider connection for Jungle Commerce. Use this for development and testing purposes only. It does not connect to any real courier or transportation service.

FieldArgumentTypeDescription
idID!

The connection's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The connection's name.

integrationIntegration

Integration details, for branding, naming, logos etc

enabledBoolean!

Toggle on if you want this connection to be enabled or not.

connectedBoolean!

Whether the connection is active and operational.

createdAtDateTime!

When the connection was created.

createdByString!

Who created the connection.

LineDiscountType

Structured discount details captured for a line item.

FieldArgumentTypeDescription
typeDiscountValueType!

Whether the discount is percentage-based or a flat amount.

percentDecimal

The discount percentage when type is Percent, between 0 and 100.

amountMoneyV1

The discount amount when type is Flat.

LineItem

A line item is a product or service that is part of an order, transfer, return, or other object.

FieldArgumentTypeDescription
idID!

The line item's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString

The title or name of the line item.

quantityFloat!

The amount of units. e.g. Count, Hrs, Kilograms.

quantityFulfilledFloat

The number of units fulfilled/sent to customer. If NULL, it is not relevant.

quantityAssignedFloat

The number of units currently assigned. If NULL, it is not relevant.

quantityToReceiveFloat

The number of units to receive. If NULL, it is not relevant.

quantityReceivedFloat

The number of units received. If NULL, it is not relevant.

quantityPackedFloat

The number of units packed. If NULL, it is not relevant.

skuSKU

The stock keeping unit.

This associates this line item with your inventory. The value will be used to look up available inventory, and allocate inventory.

productProduct

The product (if there is one) associated with this line item.

productName ⚠️String

⚠️ DEPRECATED

Use .name instead.

allocateBoolean!

If true, this means the line item can move into an allocation.

receiveBoolean!

Whether this line represents goods to be received.

False for virtual charge lines such as shipping, handling or fees, which carry a price but are excluded from receiving.

unitPriceMoney

The base price per unit of the line item. 🤖: We recommend recording taxation and other fees as adjustments.

discountPercentageDecimal

The discount percentage applied to the line item.

taxCodeTaxCode

The tax classification captured for this line, such as GST or GST_FREE. This is optional and does not replace legacy auTaxApplied until later migration work.

discountTypeLineDiscountType

Structured discount details captured for this line, when the source integration provides a percentage or flat discount.

unitPriceTaxExclusiveMoneyV1

The per-unit price before tax, when supplied or calculated by the source workflow.

unitPriceTaxInclusiveMoneyV1

The per-unit price including tax, when supplied or calculated by the source workflow.

unitDiscountAmountMoneyV1

The per-unit discount amount applied before calculating the line subtotal, when known.

lineSubtotalTaxExclusiveMoneyV1

The line subtotal before tax and after line-level discounts.

lineDiscountTotalMoneyV1

The total discount amount captured for this line.

lineTaxTotalMoneyV1

The total tax amount captured for this line.

lineTotalTaxInclusiveMoneyV1

The final line total including tax after discounts.

auTaxApplied ⚠️AuTaxApplied

The tax code has been applied to this line item.

⚠️ DEPRECATED

Do not use.

adjustments ⚠️[MoneyAdjustment!]

Adjustments applied to this line item's unitPrice. e.g. Tax, Handling, Fees.

⚠️ DEPRECATED

Do not use.

subtotalPriceMoney

Line item's unitPrice multiplied by the quantity, excludes adjustments if provided.

totalPriceMoney

Line item's unit price (or discount price if provided) multiplied by the quantity, including adjustments if provided.

estimatedAtDateTime

When the line item is predicted to be handled by.

targetedAtDateTime

When the line item is targeted to be handled by.

cancelledBoolean

Whether the line item was cancelled.

cancelledAtDateTime

If cancelled, when the line item was cancelled.

cancelledReasonString

If cancelled, why the line item was cancelled.

order ⚠️IOrder

⚠️ DEPRECATED

This is no longer used. Use .source instead!

actions[IAction!]

Actions the current user can perform on this line item.

inputActionInput
sourceLineItemSource

The source object of the line item. E.g. Order, Transfer, Return.

reasonString

The reason why this line was added, if one.

logs[Log!]

Logs for this line item.

attributes[ICustomAttribute!]!

Additional custom attributes on the line item. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the line item's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: giftCardColour: attributeValue(input: { attributeId: "gccolour" }).

inputObjectAttributeInput!
tags[Tag!]

A list of tags(Tag). Use them for classification, marking etc. You can tag line items with letters, and emojis! e.g. 🇦🇺, 🚀, express etc. 🤖: Modify using the tag* mutations.

createdAtDateTime!

When the line item was created.

modifiedAtDateTime!

When the transfer was last modified.

notesNoteResults

The notes associated with the line item.

inventoryIdentityScansInventoryIdentityScanResults

Serial number / identity scans associated with this line item.

backordersBackorderResults

The backorders for this line item

receiveItemsReceiveItemResults

List of items received against this line item. If any.

reconciliationSummary[ReconciliationSummary!]!

Quantity breakdown by reconciliation purpose, showing total, reconciled, and remaining amounts.

inputReconciliationSummaryInput
reconciliationLines[ReconciliationLine!]!

Individual reconciliation lines where this line item is the source.

inputReconciliationLinesInput
reconciliationTargets[ReconciliationTarget!]!

Aggregated reconciliation totals grouped by target and purpose.

inputReconciliationTargetInput
returningILineItem

The line item being returned

LineItemGroup

Line item group for line items that are part of a bundle or composite product. Allows grouping of line items that were sold together.

FieldArgumentTypeDescription
referenceString

Group identifier for multiple instances of the same bundle/composite. Auto-generated if not provided in input.

nameString

Name of the bundle/composite product at the time of purchase.

LineItemResultNode

FieldArgumentTypeDescription
nodeLineItem

LineItemResults

FieldArgumentTypeDescription
results[LineItemResultNode!]!
pageInfoPageInfo!

Location

An important place that matters to your business.

FieldArgumentTypeDescription
xidsExternalIdResults!

The locations's known external IDs.

inputExternalIdsInput
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the location.

nameString!

Identifying name for the location.

tags[Tag!]

A list of tags.

referenceString

Allows the location to be given a reference (branch/store) code. E.g. 14, SYD-0.1.

sequenceInt

An optional number, describing the location's position in a sequence, useful to order locations for pick paths etc.

capabilities[ICapability!]

The capabilities this location has!

isEnabled ⚠️Boolean

⚠️ DEPRECATED

Use .enabled instead.

enabledBoolean!

Enabled or not. Disabled will prevent it from being used in activities

addressPostalAddress

The postal address of this location.

isAddressVerifiedBoolean

Whether or not the address has been verified.

rootLocation!

The location's root location e.g. warehouse

parentLocation

The location's parent, if nested.

entityEntity!

The entity this location belongs to.

lineageString

Ancestry of the location, in the form greatGrandParentId:grandParentId:parentId:.

createdAtDateTime!

When the location was created.

modifiedAtDateTime!

When the location was modified.

pointGeoPoint

The location's coordinates (on Earth).

pointAccuracyFloat

The accuracy of location's coordinates, .point. See IGeoLocatable.pointAccuracy for more details.

taxProfileTaxProfile

Reusable tax context for this location, including registrations and default tax codes when configured.

relationsRelationships

Relationships the location has.

attributes[ICustomAttribute!]!

Custom attributes on the account. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the location's custom attributes.

Tip: Use GraphQL aliases to fetch attributes as your own properties. See https://graphql.org/learn/queries/#aliases Usage: TEST: attributeValue(input: { attributeId: "isTestLocation" }).

inputObjectAttributeInput!
documentationDocumentationResult!

Documentation for this location.

inputDocumentationInput!
dimensionsDimensions

The physical dimensions of this location.

volumeCubicMetres

The volume of this location, in cubic metres.

floorBoolean

Whether this location represents a floor.

floorLocationLocation

The floor this location sits on, if any.

geometryParentGeometryFeature

This location's outline within its parent's coordinate frame.

geometryFloorGeometryFeature

This location's outline within its floor's coordinate frame.

cycleCountedAtDateTime

When each location was last counted.

cycleCountedByString

The last person or connection counted the location.

printers ⚠️[JunglePrinter!]

The printers this location has!

⚠️ DEPRECATED

Find devices (printers) via search() instead.

barcode ⚠️String

⚠️ DEPRECATED

Use .idQR instead.

barcodes[String]

Known barcode values, associated with the location.

collections[FulfilmentCollect]

The pick up/click and collection fulfilments at this location. A location will need the Collect capability for collections to be assigned to it

stateCollectionState

LocationCreateResult

Result for the locationCreate mutation.

FieldArgumentTypeDescription
okBoolean!

True if the location was created.

codeString