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

backorderBackorder

Get a specific Backorder using it's Id.

backorderIdID!

The Backorder'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

customerCustomer

Get a specific Customer using it's Id.

customerIdID!

The Customer'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

productProduct

Get a specific Product using it's Id.

productIdID!

The Product'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

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

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!
attachment ⚠️Attachment

Retrieve an attachment.

⚠️ DEPRECATED

Use the object query instead.

attachmentIdID!
attachmentList ⚠️AttachmentListResult

Retrieve attachments of a specific type for an object.

⚠️ DEPRECATED

Use the search query with a parent filter instead.

inputAttachmentListInput!
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.

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

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!
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!
collection ⚠️FulfilmentCollect

⚠️ DEPRECATED

Use the object() query with the collection .path instead.

inputCollectionGetInput!
collectionList ⚠️CollectionListResult!

⚠️ DEPRECATED

Use the search() query instead.

inputListInput
collectionListAtLocationCollectionListResult!
inputCollectionListAtLocationInput!
shipmentServices ⚠️ShipmentServicesResult!

⚠️ DEPRECATED

Likely shouldn't use this long term?

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!
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!
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!
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!
productCreateIMutationResult!

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

inputProductCreateInput!
productSetNameIMutationResult!

Update a products name and description.

inputProductSetNameInput!
productSetSkuIMutationResult!

Update a products SKU. Set sku NULL to remove.

inputProductSetSkuInput!
productSetDimensionsIMutationResult!

Update a product's dimensions.

inputProductSetDimensionsInput!
productSetWeightIMutationResult!

Update a product's weight.

inputProductSetWeightInput!
productSetDangerousGoodsIMutationResult!

Update a product's dangerous goods details.

inputProductSetDangerousGoodsInput!
productSetHsCodeIMutationResult!

Set the Harmonised System Code of a product

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!
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!
locationSetDefaultBoolean

Set your (the current user's) default location

inputLocationSetDefaultInput!
locationSequenceIMutationResult!

Modify the sequence of a location.

inputLocationSequenceInput!
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!
allocationCreateIMutationResult!

Use this to create an allocation, which can be independent from any sales order or purchase order.

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!
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.

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!
brandSetNameIMutationResult!

Update brand name.

inputBrandSetNameInput!
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!
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!
jobPackSetAllocationShippingAddressJobPackSetAllocationShippingAddressResult!

Change the shipping address on the packing job.

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!
supplierCreateIMutationResult!

Create a new supplier.

inputSupplierCreateInput!
supplierSetNameIMutationResult!

Set name on a supplier

inputSupplierSetNameInput!
supplierSetTaxNumberIMutationResult!

Set tax number on a supplier

inputSupplierSetTaxNumberInput!
supplierSetCurrencyIMutationResult!

Set currency on a supplier

inputSupplierSetCurrencyInput!
supplierSetBillingAddressIMutationResult!

Set the billing address on a supplier

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!
jobConfiguredUpdateSupplierIMutationResult!

Set a supplier to be used for the entire job

inputJobConfiguredUpdateSupplierInput!
jobConfiguredProductUpdateSupplierIMutationResult!

Override a supplier for a specific product in job

inputJobConfiguredProductUpdateSupplierInput!
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!

Update existing purchase order supplier.

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!
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!
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.

inputPurchaseReturnApproveInput!
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.

inputReceiveItemReconcileInput!
receiveItemUnreconcileIMutationResult!

Un-reconcile a received item.

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!
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!
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!
orderAllocationSplitIMutationResult!

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

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 shipment. This mutation 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!
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!
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!

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

Triggered when the matching event occurs.

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.

createdAtDateTime!

When the account was created.

configurationConfiguration

Configuration for this account.

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!

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

FieldArgumentTypeDescription
actionString!
subjectID!

The object Id that was deleted.

subjectTypenameID!

The .__typename of the object the was deleted.

createdAtDateTime!

When the object (subject) was deleted.

createdByString

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

aidID

The account the object was deleted in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

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

AddressValidationResult

FieldArgumentTypeDescription
isValidBoolean

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
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 (if enabled for account).

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.

modifiedAtDateTime

When this allocation was modified.

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
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.

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

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

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

AuthSwitchAccountDenied

FieldArgumentTypeDescription
reasonString!

Backorder

A backorder against a order allocation line

FieldArgumentTypeDescription
idID!

The backorder's unique identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

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.

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

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 shipment sender information on orders with a channel using this brand.

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.

constraintsCapabilityConstraints

Constraints applied to this capability.

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.

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

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!

CollectionListResult

FieldArgumentTypeDescription
pageInfoPageInfo!

Info on the number of collections that can be listed

results[CollectionListResultEdge!]!

CollectionListResultEdge

FieldArgumentTypeDescription
collectionFulfilmentCollect!

Configuration

FieldArgumentTypeDescription
handheldHandheldConfiguration

Configuration applied to handheld devices.

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.

ContactPerson

FieldArgumentTypeDescription
nameString
firstName ⚠️String

⚠️ DEPRECATED

Use name instead

lastName ⚠️String

⚠️ DEPRECATED

Use name instead

emailString
phoneString
companyNameString

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 Jungle.

FieldArgumentTypeDescription
subjectID!

The object Id that was created.

subjectTypenameID!

The .__typename of the object the was created.

createdAtDateTime!

When the object (subject) was created.

createdByString

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

aidID

The account the object was created in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

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

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.

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.

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
createdAtDateTime!

When the customer was first known to Jungle.

modifiedAtDateTime

When the customer was last modified.

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.

Deleted

Triggered when an object is deleted in Jungle.

FieldArgumentTypeDescription
subjectID!

The object Id that was deleted.

subjectTypenameID!

The .__typename of the object the was deleted.

createdAtDateTime!

When the object (subject) was deleted.

createdByString

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

aidID

The account the object was deleted in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

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

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.

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!]!

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

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!

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

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.

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
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.

inputImageUrlInput

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.

quantityAvailableFloat!

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

This number is derived from inventory on hand, minus the inventory allocated. In other words, it’s your current unassigned 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.

InventoryCreateResult

Result for the inventoryCreate mutation

FieldArgumentTypeDescription
okBoolean!
inventory ⚠️Inventory

⚠️ DEPRECATED

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

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) associated with this movement at the time this movement 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

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.

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

isCancelableBoolean

Whether the job can be cancelled

products[JobConfiguredProduct!]

Products added to the job

configurationJobConfiguration

Configuration for this job

completedAtDateTime

When the job was completed

supplierSupplier

The supplier assigned to this job by default

purchaseOrderPurchaseOrder

The purchase order assigned to this job by default

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

locationLocation

The location where inventory is at.

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

supplierSupplier

The supplier which product is assigned to

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

JobConfiguredProductAttachmentUploadTokenCreateResult

FieldArgumentTypeDescription
okBoolean!

True if the result is successful, false otherwise.

codeString

A machine code that can used to identity 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

locationLocation

The location where inventory is at.

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

supplierSupplier

The supplier which product is assigned to

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

JobConfiguredProductPicked

Picked product

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product quantity available

locationLocation

The location where product is picked to.

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

supplierSupplier
purchaseOrderPurchaseOrder
documentationDocumentationResult!

Documents for this job configured product item

inputDocumentationInput!

JobConfiguredProductPutaway

Product that was putaway

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product quantity available

locationLocation

The location where product is putaway to.

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

supplierSupplier
purchaseOrderPurchaseOrder

JobConfiguredProductReceived

Quantity received

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product quantity available

locationLocation

The location where product is received.

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

supplierSupplier

The supplier which product is assigned to

purchaseOrderPurchaseOrder

The purchase order 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.

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

allocations[JobAllocationToPack]
allocationsUnfulfilled[ID!]!

List of allocations unfulfilled

allocationsFulfilled[ID!]!

List of allocations fulfilled

allocationIds[ID!]

List of allocations in this packing job

isCancelableBoolean

If true, the job may be cancelled

completedAtDateTime

When the job was completed

JobPackAllocationMarkFulfilledResult

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

JobPackAllocationShippingAddressSet

FieldArgumentTypeDescription
messageString

JobPackCreateResult

FieldArgumentTypeDescription
jobJobPack!

JobPackItem

FieldArgumentTypeDescription
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

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.

isCancelableBoolean

If true, the job may be cancelled

completedAtDateTime

When the job was completed

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!

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.

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.

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.

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.

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.

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.

backordersBackorderResults

The backorders for this line item

receiveItemsReceiveItemResults

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

returningILineItem

The line item being returned

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.

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.

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!
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
locationLocation

The location that was created.

LocationListResult

FieldArgumentTypeDescription
results[LocationListResultEdge!]!

Any locations found

pageInfoPageInfo!

Information on the number of locations to be listed

LocationListResultEdge

FieldArgumentTypeDescription
cursorID
locationLocation!

LocationNotFound

Result for when a given location Id does not map to a Location

FieldArgumentTypeDescription
messageString

Might explain why the location was not found

LocationSetParent

FieldArgumentTypeDescription
setBoolean!

If true, the location had its parent set.

Log

A message, or log of something that happened.

FieldArgumentTypeDescription
severityLogSeverity!

The severity of the log.

codeString!
messageString!
paths[String!]
atDateTime!

When the log happened.

McLeodConnection

A connection to the McLeod Accessories system

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The McLeod connection's name

locationIds[String]!

For which locations should we send orders to McLeod?

urlString!

URL of the McLeod server (to which we send orders)

usernameString!

Username for sending orders to McLeod

passwordString!

Password for sending orders to McLeod

integrationIntegration

This will always be McLeod for McLeod 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 system for the first time

createdByString!

Who connected to the system

Modified

Triggered when an object is modified in Jungle.

FieldArgumentTypeDescription
subjectID!

The object Id that was modified.

subjectTypenameID!

The .__typename of the object that was modified.

createdAtDateTime!

When the object was modified.

createdByString

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

aidID

The account Id the object was modified in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

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

Money

Amount of a specific currency. Used in payments, value, costs etc.

FieldArgumentTypeDescription
currencyCurrency!

The currency of the money

codeCurrencyCode!

The code of the currency

amountInt!

The amount, whole number shifted by decimal places, if a decimal currency

amountAsFloat ⚠️Float!

Amount as float value, avoid using where possible

⚠️ DEPRECATED

Using floats for money is no longer supported.

formatted ⚠️String!

The money as a formatted string.

⚠️ DEPRECATED

Use client side locale and format accordingly.

MoneyAdjustment

Adjustment applied to Money

FieldArgumentTypeDescription
codeString!

Code for categorizing the adjustment. e.g. tax, discount, shipping.

nameString

Name of the adjustment. e.g. GST, VAT, Arizona state sales tax, 2021 member promotion, express courier.

descriptionString

Details on the adjustment. i.e. Why a certain carrier was picked, reason for taxation etc.

valueMoney!

The adjustment cost/value/price.

MoneyV1

Amount of a specific currency. Used in payments, value, costs etc.

FieldArgumentTypeDescription
codeCurrencyCode!

The code of the currency.

amountDecimal!

The amount of the currency.

MutationFailure

Result when the mutation/command failed.

FieldArgumentTypeDescription
okBoolean!

Will always be false.

codeString

A machine code that can used to identity the failure.

reasonString

A sentence on what went wrong.

logs[Log!]

MutationSuccess

Result when the mutation/command was successfully accepted.

FieldArgumentTypeDescription
okBoolean!

Will always be true.

objects[ObjectCreated!]

Created objects

logs[Log!]

Note

A note (comment) on an object in Jungle by a Jungle actor, user or integration.

FieldArgumentTypeDescription
idID!

The note's unique identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

Tags on the note.

enabledBoolean!

If visible/usable or not.

topicString

A short summary/title/theme of the note. Optional.

contentTypeString

The content type of the note. Usually text/plain.

contentString

The contents of the note. Do not trust this data

authorIAuthor
objectIObject

The object the note was created against, if resolvable for the current user.

xidsExternalIdResults!

The note's known external IDs.

inputExternalIdsInput
modifiedAtDateTime

When the note was modified last, if at all.

createdAtDateTime!

When the note was created.

NoteResultNode

FieldArgumentTypeDescription
nodeNote

NoteResults

FieldArgumentTypeDescription
results[NoteResultNode!]!
pageInfoSearchPageInfo!

ObjectCreated

Describes a created object. Use the .id, and the .typename to fetch the object.

FieldArgumentTypeDescription
idID!

The .id of Jungle object.

typenameString!

The .__typename of the Jungle object.

Order

A sales order... A request for items to be fulfilled to a customer.

FieldArgumentTypeDescription
channelChannel

The channel the sales order came from, if known.

idID!

The Order's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

A merchant or customer visible reference number.

sourceIOrderSource

Where this sales order came from, if known

statusString

The order's current status.

The status should be considered indicative, and not absolute.

statusInfoOrderStatusInfo

The order's status info.

Help with pretty labeling, custom naming for the order.

tags[String!]

A list of tags(Tag). Use them for classification, marking etc. You can tag sales orders with letters, and emojis! 🇦🇺, 🚀, express etc

billingAddressPostalAddress

The billing address/contact information for the order

shippingAddresses[PostalAddress!]

The shipping addresses and contact information for the order

customerCustomer

The customer who placed the order, if known.

lineItems[OrderLineItem!]!

The items with in the order

inputOrderLineItemsInput
lineItemsQuantityFloat!

The total number of products with in the order

orderedAtDateTime!

When the order was created/confirmed.

receivedAtDateTime!

When Jungle received the order.

closedAtDateTime

When the order was closed, if the order still has fulfilments, and outstanding items it will not be closed

integrationReference ⚠️String

Integration reference. This is useful when the order 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

⚠️ DEPRECATED

Use external IDs instead.

isTestBoolean

If the order is a test or not

noteFromCustomer ⚠️String

If a note/comment from the customer about the order was collected, store it here. Do not use this for internal notes.

⚠️ DEPRECATED

Use notes instead.

priceTotalMoney

If supplied, the orders total price

allocations[Allocation!]

Any allocations the order currently has. These will eventually turn into fulfilments.

inputAllocationsConnectionInput
completedAtDateTime

If known, when the order was completed.

cancelledAtDateTime

The date and time when the order was cancelled.

cancelledReasonString

The reason the order was cancelled.

fulfilmentAllowedBoolean!

If false, prevent order to be fulfilled (if enabled for account).

attributes[ICustomAttribute!]!

Additional custom attributes on the order. You may filter on the name. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the order's custom attributes.

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

inputObjectAttributeInput!
pointGeoPoint

If possible to know, this is coordinates of the order.

pointAccuracyFloat

The accuracy of the coordinates. See IGeoLocatable.pointAccuracy for more details.

createdAtDateTime!

When the order was created in Jungle.

modifiedAtDateTime

When the order was last modified in Jungle.

fulfilments[IFulfilment!]!

Fulfilments (deliveries, collections, drop shippers, downloads etc) against this order.

Orders can have many fulfilments, from a variety of services.

NOTE: Only a maximum of 50 will return. An order may but generally wont have that many fulfilments.

lineItemsFulfilled[OrderLineItem!]!

Line items in the Order that are fulfilled in someway.

lineItemsUnfulfilled[OrderLineItem!]!

Line items in the Order that are not yet fulfilled.

returnQuantityInt

Total number of returns against the order.

returnStatusStatusInfo

Aggregated status of the order's returns. NULL if there is no returns, otherwise it will be the least complete status.

returnsReturnResults

Returns against the order.

OrderAllocatedEvent

Triggered when an Order is allocated to one or more locations.

FieldArgumentTypeDescription
subjectID!

The Order.

createdAtDateTime!

When the order was allocated.

aidID
createdByString
orderId ⚠️ID

The Order's Id.

⚠️ DEPRECATED

Use .subject instead!

OrderAllocationChangeForbidden

The allocation can not be modified.

FieldArgumentTypeDescription
reasonString!

Why the allocation cannot be changed.

OrderAllocationMoved

The allocation was moved/assigned a location.

FieldArgumentTypeDescription
hadLocationBoolean

True, if the allocation was assigned to a location previously.

OrderAllocationSetShippingAddress

FieldArgumentTypeDescription
messageString

OrderCancellationForbidden

Outcome for the orderCancel mutation.

The order can not be cancelled.

FieldArgumentTypeDescription
reasonString!

Why the Order cannot be cancelled

OrderCancelled

Triggered when an Order is cancelled.

FieldArgumentTypeDescription
subjectID!

The Order.

createdAtDateTime!

When the order cancel mutation was called.

aidID
createdByString
cancelledAtDateTime!

When the order was cancelled. This may be before Jungle was aware.

cancelledReasonString!

The reason for cancellation.

orderId ⚠️ID

The Order's Id.

⚠️ DEPRECATED

Use .subject instead!

alreadyCancelledBoolean

True, if the order was already cancelled

OrderConsumed

Triggered when Jungle is sent and consumes an Order from an external source.

FieldArgumentTypeDescription
subjectID!

The Order

createdAtDateTime!

When the order was consumed.

aidID
createdByString

The human, integration, device etc that sent the order.

orderId ⚠️ID

The Order's Id.

⚠️ DEPRECATED

Use .subject instead!

OrderConsumedResult

Result for orderConsumeWithAllocations mutation.

FieldArgumentTypeDescription
orderIdID

The jungle order id.

OrderLineItem

An order item is a line item of an order

FieldArgumentTypeDescription
idID!

The order line item identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

Tags on the line item.

productProduct

The product associated with the line item.

productNameString

The item/product name

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.

quantityFloat!

The amount of the product ordered

quantityFulfilledFloat

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

weightWeight

The line item weight, if known.

priceMoney

The price of the individual line item.

unitPriceMoney

The price of an individual line item.

addedReasonString

The reason why this line was added, if one.

integrationReference ⚠️String

Integration reference. This is useful when the order 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

⚠️ DEPRECATED

Use external IDs instead.

actions[IAction!]

Actions that may or may not be possible on a line item.

inputActionInput
attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
createdAtDateTime!

When the order line item was created in Jungle.

modifiedAtDateTime

When the order line item was last modified in Jungle.

cancelledAtDateTime

If cancelled, when the line item was cancelled.

cancelledReasonString

If cancelled, why the line item was cancelled.

OrderLineItemCancelled

FieldArgumentTypeDescription
subjectID!

The line item id

createdAtDateTime!

When the order was cancelled.

aid ⚠️ID

⚠️ DEPRECATED

Use subject instead.

createdByString

The human, integration, device etc that sent the order.

OrderListFromJobResult

FieldArgumentTypeDescription
results[OrderListResultEdge!]!
pageInfoPageInfo!

Info on the number of orders that can be listed

OrderListResult

FieldArgumentTypeDescription
results[OrderListResultEdge!]!
pageInfoPageInfo!

Info on the number of orders that can be listed

OrderListResultEdge

FieldArgumentTypeDescription
cursorID!
orderOrder!

OrderNotFound

FieldArgumentTypeDescription
messageString

OrderSetStatusResult

FieldArgumentTypeDescription
orderIdID!
statusString!

OrderSourceName

A simple way to describe the source of the order

FieldArgumentTypeDescription
nameString

Shopify, ERP, POS etc

referenceString

A potentially meaningful reference for the source, such as an ID

OrderStatusInfo

Order Status Info

This provides optional information on a status.

FieldArgumentTypeDescription
idID!

Status ID, matches the value seen in Order.status

nameString

Formatted name for the status

displayOrder ⚠️Int

The display order of the status.

Lower numbers show first.

⚠️ DEPRECATED

Use .priority instead!

priorityInt

The display priority of the status. Higher numbers show first.

colorHexColorCode

An optional color for the status

OrderStatusInfoResult

Result for the orderStatusInfo query

FieldArgumentTypeDescription
statuses[OrderStatusInfo!]

Information on known account statuses.

Package

FieldArgumentTypeDescription
idID!
referenceString
weightGrossWeight
articleIdString
consignmentIdString
barcodeId ⚠️String

⚠️ DEPRECATED

Unused

authorityToLeaveBoolean
safeDropEnabledBoolean
allowPartialDelivery ⚠️Boolean

⚠️ DEPRECATED

Unused

PageInfo

Explains paging information on the relating result set

FieldArgumentTypeDescription
hasMoreBoolean!

If true, there are additional results available

limitInt!

The current limit of results returned (replays the value you set, or it defaulted to)

nextCursorID

The next cursor to send to, send to next request

PartNumber

FieldArgumentTypeDescription
supplierSupplier
valueString

PartNumberResultNode

FieldArgumentTypeDescription
nodePartNumber

PartNumberResults

FieldArgumentTypeDescription
pageInfoSearchPageInfo
results[PartNumberResultNode]

PostalAddress

An address for retail shipments.

FieldArgumentTypeDescription
countryCodeCountryCode!

The country code, provided as the two-letter ISO 3166-1 alpha-2 country code. E.g AU, US, CN.

postalCodeString!

The post or zip code. E.g. 90210, 3000, SW1W 0NY.

suburbString!

Locality in which the address is in. E.g. Melbourne.

regionString

Administrative division of the address. States, provinces etc. E.g. NSW, Nagano, California

lines[String!]!

The street number, name & other important specific addressing.

contactPersonContactPerson

The contact information of the person, organization, firm, company, or institution at the address.

countryCountry

Country data, useful for showing country name, flag, other information.

pointGeoPoint

The geo point of the address, on earth

isVerified ⚠️Boolean

⚠️ DEPRECATED

Not used.

PostalAddressChanged

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString
addressPostalAddress!
addressPriorPostalAddress

PrintSubmitted

The print has been submitted

FieldArgumentTypeDescription
submittedBoolean

PrinterListResult

FieldArgumentTypeDescription
results[PrinterListResultEdge!]!

PrinterListResultEdge

FieldArgumentTypeDescription
printerJunglePrinter!

PrinterNotFoundError

The printer does not exist

FieldArgumentTypeDescription
messageString!

Product

A thing that is in your business. Sold or used.

FieldArgumentTypeDescription
idID!

Product's ID.

path ⚠️ID!

Full path to the product.

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the product.

nameString

The product title/name.

gtin[String!]

Global Trade Item Numbers. Should be UPC, EAN, JAN, GS1 or ISBN. See https://www.gs1.org/standards/id-keys/gtin

skuString

SKU for the product.

Relates the product to inventory. This value will be used to look up and track available inventory.

tags[String!]

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

capabilities[ICapability!]

The capabilities this product has! Things like the product can be used for packaging, or some other consumable.

brandString

The product's brand.

descriptionString

A generic description on the product.

dimensionsDimensions

The product's physical dimensions.

weightWeight

The product's weight (in grams).

hsCodeHsCode

Harmonized System (HS) code for the product (if applicable).

dangerousGoodsProductDangerousGoods

Dangerous goods details.

leadTimeDuration

General lead time.

Used to generally indicate how long it takes to get the product from suppliers, manufacturers etc.

e.g. P1D, P2W, P3M.

etaDateTime

Estimated availability or arrival.

Used to generally indicate a date when the product is expected to be available for use, or sales, etc. Useful when allowing preorders or a leadTime isn't specific enough.

e.g. 2199-10-28.

preorderBoolean!

Toggle if a product can be sold or promised before it is available. i.e. Allow selling when there is no stock currently available.

e.g. true, false.

gstBoolean

If the product is subject to GST.

costMoneyV1

General cost of the product. Not applicable to any particular supplier, and is mostly informational.

costAverageMoneyV1

The average cost of the product, based on purchasing history with in the last year. If NULL, not yet calculated, can't be calculated (not been purchased), or the feature is not enabled.

costLandedAverageMoneyV1

The average cost of the product, including shipping, taxes, and other costs to get it to your locations. If NULL, not yet calculated, can't be calculated or the feature is not enabled.

attributes[ICustomAttribute!]!

Additional custom attributes on the product. You can filter on the name.

inputObjectAttributesInput
attributeValueString

A single key from the product's custom attributes.

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

inputObjectAttributeInput!
createdAtDateTime!

When the product was first known to Jungle.

modifiedAtDateTime

When the product was last modified.

documentationDocumentationResult!

Documentation for this product.

inputDocumentationInput!
xidsExternalIdResults!

The products's known external IDs.

inputExternalIdsInput
unitEachAliasString

If set, the provided value will be used to describe the base unit of measure (instead of the word each)

partNumberString

The unique identifier, assigned by the given supplier, to identify this product within their internal systems.

inputPartNumberInput
partNumbersPartNumberResults

A list of unique identifier, assigned by a supplier, to identify this product within their internal systems.

shipsAsPackages[ProductShipsAsPackage!]

The packages this product is shipped in. E.g. A large product with a single SKU which is shipped in multiple separate packages.

inventoryInventoryListResult
inputProductInventoryInput
barcode ⚠️String

⚠️ DEPRECATED

Use barcodes instead.

barcodes[String]

Known barcode values, associated with the product.

ProductAttribute

Custom attributes on the product

FieldArgumentTypeDescription
idString!
nameString!
valueString!

ProductDangerousGoods

Product's dangerous goods details.

FieldArgumentTypeDescription
UNNumberString!

UN number, a four-digit number that identifies hazardous materials, and articles in the framework of international transport.

ProductShipsAsPackage

FieldArgumentTypeDescription
descriptionString

The package's description. E.g. My Product - Box 1 of 3.

dimensionsOuterDimensions

The package's dimensions.

weightWeight

The package's weight (in grams).

valueMoneyV1

The package's value.

barcodes[String]

Known barcode values, associated with the product package. All of these should also exist on the Product itself.

PurchaseOrder

FieldArgumentTypeDescription
supplierSupplier

The selected supplier for the purchase. Will need to be set to place/send the PO.

idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

A merchant or customer visible reference number

numberString

The order number.

descriptionString

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

statusPurchaseOrderStatus!

Purchase order status The status should be considered indicative, and not absolute.

lineItemsCountInt!

The number of line items in the purchase order.

lineItemsQuantityFloat!

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

lineItems[LineItem!]!

The line items within the purchase order

receiveItems[PurchaseOrderReceiveItem!]!

The receive items within the purchase order

priceMoney

Purchase order price excluding adjustments

adjustments[MoneyAdjustment!]

The adjustments applied to price

totalPriceMoney

Purchase order total price including adjustments

orderedAtDateTime

When the PO was sent to the supplier.

estimatedAtDateTime

If known, when this PO is estimated to be fulfilled.

closedAtDateTime

When the PO was closed.

completedAtDateTime

When the PO was completed

orderedFromLocation

Location where the PO was ordered from

orderedToLocation

Location where the PO ordered to

splitFromPurchaseOrder

The purchase order that this purchase order was split from.

splitFromRootPurchaseOrder

The root purchase order that this purchase order was split from.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the purchase order'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 purchase order was created in Jungle.

modifiedAtDateTime

When the PO was last modified.

enabledBoolean!

If this purchase order is active, or not.

xidsExternalIdResults!

The purchase order's known external IDs.

inputExternalIdsInput
supplierInvoiceReferenceString

Reference to the supplier invoice corresponding to this purchase order

PurchaseOrderImport

FieldArgumentTypeDescription
idID!

The ID of the purchase order import.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

statusString

The status of the purchase order import.

completedAtDateTime

When the purchase order import was completed.

statePurchaseOrderImportState

The state of the purchase order import.

attributes[ICustomAttribute!]!

Additional custom attributes on the purchase order import. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
attributeValueString

A single key from the purchase order import's custom attributes.

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

inputObjectAttributeInput!
tags[Tag!]

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

createdAtDateTime!

When the purchase order import was created in Jungle.

modifiedAtDateTime!

When the purchase order import was last modified in Jungle.

PurchaseOrderImportResult

FieldArgumentTypeDescription
csvOriginalString

The original CSV uploaded.

csvSuccessString

The original CSV with just the successful lines, with additional columns: purchaseOrderCreatedId, purchaseOrderCreatedReference and error

csvFailedString

The original CSV with just the failed lines, with additional columns: error

PurchaseOrderImportState

FieldArgumentTypeDescription
resultPurchaseOrderImportResult

The result of the purchase order import.

summaryPurchaseOrderImportSummary

The summary of the purchase order import.

PurchaseOrderImportSummary

FieldArgumentTypeDescription
quantityTotalLinesInt!

The total number of lines in the CSV.

quantityPurchaseOrdersCreatedInt!

The number of successfully created purchase orders.

quantitySuccessInt!

The number of lines successfully processed.

quantityPendingInt!

The number of lines pending to be processed.

quantityFailedInt!

The number of lines failed to process.

PurchaseOrderInboundItem

FieldArgumentTypeDescription
orderPurchaseOrder

Source of which the inbound sku ordered from

quantityOrderedFloat!

The quantity ordered

quantityReceivedFloat!

The current received quantity

quantityInboundFloat!

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

PurchaseOrderInboundItemBySkuResult

Result for the purchaseOrderInboundItemBySku query

FieldArgumentTypeDescription
results[PurchaseOrderInboundItem!]!

The list of objects that matched the search

pageInfoSearchPageInfo!

Paging information on the number of results found

PurchaseOrderLineItemResults

A paginated list of purchase order line items associated with the parent object.

FieldArgumentTypeDescription
nodes[LineItem!]!

A list of line items. if any.

PurchaseOrderReceiveItem

FieldArgumentTypeDescription
idID!

ID of the receive item

path ⚠️ID!

Path of the receive item

⚠️ DEPRECATED

Use .id instead.

skuSKU!

Product SKU

conditionString

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

qtyFloat!

Quantity received

toLocation

Receive location

descriptionString

Description of the receive item

createdAtDateTime!

When the item was created in Jungle.

modifiedAtDateTime

When the item was last modified.

inventoryMovementInventoryMovement

Inventory movement for the receive item

PurchaseReturn

A request to return items from a supplier.

FieldArgumentTypeDescription
supplierSupplier

The selected supplier for the purchase. Will need to be set to place/send the PO.

idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

A merchant visible reference

integrationReferenceString

This is useful when the return comes from a integration and that integration requires a reference when communicating with the 3rd party which would be different from a customer visible reference.

approvedBoolean
approvedAtDateTime

When the return was approved in Jungle.

lineItemsCountInt!

The number of line items in the return.

lineItemsQuantityFloat!

The total quantity of items in the return. 🤖: Use for display purposes online.

lineItemsReturningReturnLineItemResults

The line items to be returned.

allocationsAllocationResults

The allocations on the return.

locationFromLocation

The location to return stock from, when the purchase return was first created. The actual "from" location is subject to changes at any time, by changing the corresponding allocation's location.

estimatedAtDateTime

If known, when this return is estimated to be completed/sent.

completedAtDateTime

When the return was sent

actions[IAction!]

Actions the current user can perform on this purchase return.

inputActionInput
attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the supplier return's custom attributes.

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

inputObjectAttributeInput!
tags[Tag!]

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

createdAtDateTime!

When the return was created in Jungle.

modifiedAtDateTime

When the return was last modified in Jungle.

ReasonCode

Reason codes are prerecorded reasons for why something is being done.

FieldArgumentTypeDescription
idID!

The reason code ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

A list of tags.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the reason code's custom attributes.

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

inputObjectAttributeInput!
enabledBoolean!

If the reason code can be used, or not.

codeString!

The internal code, used for reporting purposes.

scopeString!

The action that the reason code can be used for.

descriptionString

Description of the reason, when it's used etc.

reasonInputString

A formatted version of the reason code to put in to reason input.

createdAtDateTime!

When the reason code was created.

modifiedAtDateTime

When the reason code was last modified.

ReceiveItem

A receive item is a product that has been received into Jungle. The receive item records what was received, by who, when, where and what it was reconciled against.

FieldArgumentTypeDescription
idID!

The receive item's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

productProduct

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

sku ⚠️SKU!

The stock keeping unit.

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

⚠️ DEPRECATED

Use .product instead.

nameString

The title or name of the receive item.

conditionString

The condition of the receive item.

descriptionString

The description of the receive item.

locationLocation

The location the item received at. i.e A store, shelf, van etc.

quantityFloat!

The amount of units, must be greater than 0. e.g. 2 Each, 24 Hrs, 2.3 Kilograms.

quantityToReconcileFloat

The amount of unit remaining to reconcile.

toReceiveItemReceiveTarget

Optional initial target for receive. e.g. Supplier, PurchaseOrder, LineItem. Note that a receive item can be reconciled to different target then what it was received against.

reconciledBoolean!

If the receive item has been reconciled.

reconciledAtDateTime

When the receive item reconciled.

reconciledToReceiveItemReconcileTarget

Optional target for reconciliation. e.g. PurchaseOrderLineItem, LineItem.

receivedAtDateTime

When the receive item received.

targets[ReceiveItemTarget!]!

Objects this receive item is associated with.

reasonCodeReasonCode

Reason why this item was received.

reasonString

The reason why this line was received, if known.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
tags[Tag!]

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

createdAtDateTime!

When the receive item was created.

modifiedAtDateTime!

When the receive item was last modified.

createdByString!

Who created the receive item.

ReceiveItemResult

Result for receive item results.

FieldArgumentTypeDescription
nodeReceiveItem

ReceiveItemResults

Results for received items.

FieldArgumentTypeDescription
results[ReceiveItemResult!]!
pageInfoPageInfo!

Paging information on the received item results.

RelationshipGroupToMany

A relationship that can have more than one member.

FieldArgumentTypeDescription
nameString!

The name of the relationship.

createdAtDateTime

If known, when the relationship was created.

edges[RelationshipMemberEdge!]!

Members of the relationship.

RelationshipGroupsConnection

FieldArgumentTypeDescription
edges[RelationshipEdge!]

RelationshipMemberEdge

A member of a relationship.

FieldArgumentTypeDescription
pathID

The .path to the object that is a member of the relationship.

nodeObjectCreated
createdAtDateTime

If known, when the relation was created.

Relationships

FieldArgumentTypeDescription
groupsRelationshipGroupsConnection

A list of relationships this object has. i.e. Fulfilments related to an Order.

You should consider the parent to be the source node in edge resolution.

Be aware that relationships do not arbitrarily restrict member types. You can and will find unexpected object types in a relationship, and the client is expected to handle it. Though this can be as simple as ignore types not related to your workflow. i.e. Under fulfilments there could be a Note type instead of an expected Fulfilment type.

inputRelationshipGroupsInput

RetailExpressConnection

A connection to a Retail Express account

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The Retail Express connection's name

integrationIntegration

This will always be RetailExpress for Retail Express 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 account for the first time

createdByString!

Who connected to the account

clientIdString!

Retail Express Client ID

clientUrlURL!

The Retail Express Client URL - used as a fallback when a more specific URL is not provided

orderUrlURL!

The Retail Express URL to which we send orders - overrides the clientUrl

usernameString!

Retail Express Username

passwordString!

Retail Express Password

salesChannelIdString!

Retail Express Sales Channel ID

customerIdOverridePositiveInt

Retail Express Customer ID Override. If set, this ID is sent with every order

RetailExpressCustomer

FieldArgumentTypeDescription
retailExpressCustomerIdPositiveInt!

ID of the customer, as stored in Retail Express

firstNameString

Customer's first name

lastNameString

Customer's last name

emailString

Customer's email address

phoneString

Customer's phone number

companyNameString

Customer's company name

RetailExpressCustomerListResult

FieldArgumentTypeDescription
results[RetailExpressCustomer!]!

Return

A request to return items from a customer.

FieldArgumentTypeDescription
receiveItemsReceiveItemResults

List of items received against this return. If any.

idID!

The return's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

Human-readable reference for the return.

sourceReturnSource

Source of the return.

locationToLocation

Location where the items are being returned to.

fromAddressPostalAddress!

The postal address where order is returned from.

acceptedBoolean

Whether the customer return is accepted.

acceptedAtDateTime

When the customer return was accepted.

statusStatusInfo

Derived status from the customer return state.

receivedBoolean

Whether the line items for the return fully received.

receivedAtDateTime

When the customer return was fully received.

cancelledAtDateTime

When the customer return was cancelled.

cancelledReasonString

The reason why the return was cancelled.

lineItemsLineItemResults!

The line items being/to be returned.

estimatedAtDateTime

If known, when this return is estimated to be completed/sent.

completedAtDateTime

When the return was completed, had all items received and all items sent.

serviceProviderNameString

The name of the company, or person providing the shipment/delivery service.

trackingNumberString

The tracking code / id / number assigned to this shipment by the carrier.

trackingUrlURL

A URL to see tracking events on the shipment.

actions[IAction!]

Actions the current user can perform on this purchase return.

inputActionInput
attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the return's custom attributes.

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

inputObjectAttributeInput!
tags[Tag!]

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

xidsExternalIdResults!

The returns's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the return was created in Jungle.

modifiedAtDateTime

When the return was last modified in Jungle.

ReturnLineItem

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

quantityFloat!

The quantity of the referenced line item to be returned.

skuSKU
productName ⚠️String

⚠️ DEPRECATED

Use .product instead.

lineItemILineItem

The line item from the sale or purchase this return is for.

createdAtDateTime!

When this return line item was created.

modifiedAtDateTime

When this return line item was modified.

tags[Tag!]

Tags on the ReturnLineItem.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
actions[IAction!]

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

inputActionInput
productProduct

The product associated with this return line item.

ReturnLineItemResult

FieldArgumentTypeDescription
nodeReturnLineItem

ReturnLineItemResults

Results for line items to be returned.

FieldArgumentTypeDescription
results[ReturnLineItemResult!]!
pageInfoPageInfo!

ReturnReceived

Triggered whenever a Return is marked as received.

FieldArgumentTypeDescription
subjectID!

Return ID

createdAtDateTime!

When the event was emitted.

aidID

The Id of the account the event occurred within.

createdByString

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

ReturnResult

FieldArgumentTypeDescription
nodeReturn

ReturnResults

FieldArgumentTypeDescription
pageInfoPageInfo!
results[ReturnResult!]!

Role

FieldArgumentTypeDescription
nameString

SearchEdge

A connection edge in which each node is a Searchable object.

FieldArgumentTypeDescription
nodeSearchable!

The object found.

Tip: Use https://graphql.org/learn/queries/#inline-fragments

SearchError

FieldArgumentTypeDescription
messageString

SearchFieldSummaries

Result for SearchResult.summaries.

FieldArgumentTypeDescription
fieldString!

The field name the summarized values are for.

summary[SearchFieldSummary]

The summarized values, limited to the top 100 values.

SearchFieldSummary

Result for SearchResult.summary.

FieldArgumentTypeDescription
valueString!

A value of in the summarized field.

totalInt!

Total of number of results having the field's value.

SearchPageInfo

Page information on the relating search result set.

FieldArgumentTypeDescription
hasMoreBoolean!

If true, there are additional results available.

limitInt!

The current limit of results returned (replays the value you set, or it defaulted to).

nextAfterPositiveInt

The next after to send to, send for next page.

totalInt!

The total results found. At very large numbers this will not be accurate.

SearchResult

Result for the search query.

FieldArgumentTypeDescription
results[SearchEdge!]!

The list of objects that matched the search

pageInfoSearchPageInfo!

Paging information on the number of results found

errors[SearchError!]

If there isn't any results, check the search errors for information

summary ⚠️[SearchFieldSummary]

If requested, field value summary. This is limited to 100 values.

⚠️ DEPRECATED

Use .summaries instead!

summaries[SearchFieldSummaries]

If requested in summarizeFields search input, the field value summaries.

SendleConnection

A connection between Sendle and Jungle!

FieldArgumentTypeDescription
idID!

The connection's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The sendle connection's name. This is auto-generated when created.

integrationIntegration

Integration details, for branding, naming, logos etc

enabledBoolean!

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

connectedBoolean!
createdAtDateTime!
createdByString!
sendleIdString!

The Sendle ID (which is the sendle account id) for this connection.

sendleSandboxBoolean!

If this is from the Sendle sandbox server, or not. See: https://developers.sendle.com/reference/sendles-sandbox-server for details!

Service

A service provided by an organisation.

Such as delivery, sales, inventory and pack services.

The service's provider could be you (where ever it is not specified/null), us (Jungle Commerce), or a 3rd party (Courier, 3PL, etc).

FieldArgumentTypeDescription
idID!

Service Id

nameString!

The name of the service.

descriptionString!

A description of the service.

codeID

The providers own service code/identifier for this service

providerServiceProvider

When a service does not nominate a provider, your organisation is required to provide the service

category ⚠️ServiceCategory

The category of the service

⚠️ DEPRECATED

It is more appropriate to support multiple. See .categories.

categories[ServiceCategory!]

The service categories, if it's a Shipment, Test service, etc.

connectionIdID

The connection Id this service came from. NOTE: This only happens when there isn't additional selection logic to use the service, or the service comes from an integration. This matters when the service provider operates on account per location, or person principles.

integrationIdID

The integration ID of the provider

ServiceListResult

FieldArgumentTypeDescription
results[ServiceListResultEdge!]!

ServiceListResultEdge

FieldArgumentTypeDescription
serviceIService!

ServiceProvider

A business that provides services.

FieldArgumentTypeDescription
nameString!

The name of the service provider

descriptionString

A description of the service provider

brandDisclaimerString

If the provider has any brand disclaimers, it will be here. Should be shown near the branding, if provided

urlString

URL of the service provider's website

contacts[IContact!]

Support/inquiry contacts for the service's provide

Shipment

deprecated, use ShipmentV2 instead.

FieldArgumentTypeDescription
idID!

Id of the shipment.

referenceString

A client reference.

serviceCodeString
originPostalAddress!
destinationPostalAddress!

The delivery address for the shipment.

packages[Package!]

The packages containing the line items.

createdAtDateTime!

When the shipment was created.

shippedAt ⚠️DateTime

⚠️ DEPRECATED

Does not provide any value, as this object has no tracking knowledge. Move to ShipmentV2.

priceMoney
documentationSupported[ID!]

Supported documentation Ids on this shipment.

integrationReferenceString

Useful when an integration requires a reference when communicating with the third party which would be different from a customer visible reference.

documentationDocumentationResult!

Documents for this shipment.

inputDocumentationInput!
serviceBrokerNameString
serviceProviderNameString
serviceNameString
trackingNumberString
trackingUrlURL
weightGrossWeight

ShipmentAcceptance

Sometimes a shipment needs an additional human acceptance before we continue on.

FieldArgumentTypeDescription
logs[Log!]

If the shipment needs manual acceptance, this will contain logs of the reasons why.

createdAtDateTime!

When the acceptance was created/evaluated.

ShipmentAddress

Shipment origin and destination address.

FieldArgumentTypeDescription
countryCountryCode!

The country code. e.g. AU, US, VN.

regionString

Generally a first-level administrative division, like a state. e.g. NSW, California, Ho Chi Minh City.

lines[String!]!

Address lines, up to 3.

localityString!

A suburb, or prefecture. e.g. Sydney, Mountain View, District 11.

postalCodeString!

A postal code. e.g 4001, 94043, SW1Y 4HT.

ShipmentPackage

A shipment parcel, box, container etc.

FieldArgumentTypeDescription
idID!
path ⚠️ID!

Path of the shipment package.

⚠️ DEPRECATED

Use .id instead.

createdAtDateTime!

When the shipment package was created (or requested).

modifiedAtDateTime

When the shipment package was modified

referenceString

An optional reference for the package.

dimensionsDimensions

The size of the package.

weightGrossWeight!

The gross (total) weight of the package.

shippingCodeString

The package's logic unit, SSCC, or article identifier.

trackingNumberString

The unique number or code assigned to this package by the service provide for the purposes of tracking.

contents[ShipmentPackageContent!]

The contents of the package

trackingShipmentTracking

Tracking data for the package

ShipmentPackageConfirmed

FieldArgumentTypeDescription
idID!
weightGrossWeight

The gross (total) weight of the package.

trackingNumberString

The unique number or code assigned to this package by the service provide for the purposes of tracking.

ShipmentPackageContent

Contents of a shipment package.

Mostly concerned with value, customs and dangerous goods classification info.

FieldArgumentTypeDescription
quantityPositiveInt!

How many of the product there is.

skuString

SKU for the product

descriptionString

A generic description on the product.

dangerousGoodsProductDangerousGoods

Product's dangerous goods details.

hsCodeHsCode

Product's HS code details.

priceMoney

The price of the individual product

ShipmentReady

Triggered when a shipment is ready

FieldArgumentTypeDescription
subjectID!

Shipment id

To retrieve the subject use the object() query.

createdAtDateTime!

When the shipment was set to ready.

aidID

The Id of the account the event occurred within.

createdByString

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

statusShipmentStatus!

The current status of the shipment.

packages[ShipmentPackageConfirmed!]!

The packages in the shipment.

priceGrossMoney

Total cost of the shipment, inc taxes, etc.

integrationReferenceString

Useful when an integration requires a reference when communicating with the third party which would be different from a customer visible reference.

serviceBrokerNameString

The broker used to book the shipment/delivery.

serviceProviderNameString

The name of the company, or person providing the shipment/delivery service.

serviceNameString

The name of the service used.

serviceIdString

The service id selected for the shipment

trackingNumberString

The tracking code / id / number assigned to this shipment by the carrier.

trackingUrlURL

A URL to see tracking events on the shipment.

attributes[ICustomAttribute!]

The event's custom attributes.

ShipmentServicesResult

FieldArgumentTypeDescription
services[IService]

ShipmentTracking

FieldArgumentTypeDescription
checkpoints[ShipmentTrackingCheckpoint!]!

ShipmentTrackingCheckpoint

FieldArgumentTypeDescription
timestampDateTime
locationStringString
messageString
statusShipmentTrackingCheckpointStatus

ShipmentTrackingUpdated

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString
trackingNumberString
trackingShipmentTracking

ShipmentV2

A Shipment.

A record of a delivery service request to move one more packages (containers) between two places.

NOTE: This replaces the Shipment type.

HINT: To begin the process of shipping some packages call the shipmentCreate mutation.

FieldArgumentTypeDescription
idID!

Id of the shipment.

path ⚠️ID!

Path of the shipment.

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the shipment.

statusShipmentStatus!

The current status of the shipment.

statusActivityString

A sentence on the current activity being done on the shipment. For walking ape or other human readable places.

cancellableBoolean

If true the shipment can be cancelled.

connectionIIntegrationConnection

The connection used to fulfill this shipment if available

referenceString

A client reference.

originShipmentAddress!

Where the shipment is being picked up from.

destinationShipmentAddress!

The delivery address of the shipment.

senderInstructionsString
recipientInstructionsString
packages[ShipmentPackage!]!

The packages in the shipment.

createdAtDateTime!

When the shipment was created (or requested).

modifiedAtDateTime

When the shipment was modified

shippedAtDateTime

When the shipment left the origin

pickUpOnDate
pickedUpAtDateTime
deliveredAtDateTime
priceGrossMoney

Total cost of the shipment, inc taxes, etc.

integrationReferenceString

Useful when an integration requires a reference when communicating with the third party which would be different from a customer visible reference.

serviceBrokerNameString

The broker used to book the shipment/delivery.

serviceProviderNameString

The name of the company, or person providing the shipment/delivery service.

serviceNameString

The name of the service used.

serviceIService

The service selected for the shipment

trackingNumberString

The tracking code / id / number assigned to this shipment by the carrier.

trackingUrlURL

A URL to see tracking events on the shipment.

trackingShipmentTracking

Tracking data for the shipment, if available.

weightGrossWeight

The gross weight of the shipment.

acceptanceShipmentAcceptance

Any pending acceptances on the shipment, that must be accepted before the shipment can be completed. If null, it was automatically accepted.

acceptedAtDateTime

When the shipment was accepted.

errors[Log!]

Errors on this shipment. Confirming is not possible until the errors are fixed.

logs[Log!]

Logs for this shipment.

relationsRelationships

Relationships the shipment has.

ShippitConnection

A connection between Shippit 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 to Shippit was created.

createdByString!

Who connect to Shippit.

shippitStagingBoolean!

If the connection is to Shippit staging or not.

relationsRelationships

relationships this connection has

SparesboxAllocationConnection

A connection to the Sparesbox Allocation Engine

FieldArgumentTypeDescription
idID!
path ⚠️ID!

Identity of the connection.

⚠️ DEPRECATED

Use .id instead.

nameString!
integrationIntegration
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

engineVersionString

version of the engine to use defaults to 1.0

StarshipitConnection

A connection between Starshipit 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.

relationsRelationships

relationships this connection has

StatusInfo

Provides information on an object status.

FieldArgumentTypeDescription
idID!
nameString!

Human-readable name of the status

colorString

The color for the status

iconString

An icon for the status

Supplier

Supplier sources products for your business.

FieldArgumentTypeDescription
idID!

Supplier's ID.

path ⚠️ID!

Full path to the supplier.

⚠️ DEPRECATED

Use .id instead.

createdAtDateTime!

When the supplier was created in Jungle.

modifiedAtDateTime

When the supplier was last modified.

nameString!

Supplier's name.

enabledBoolean!

If this supplier is active, or not.

restrictedSupplyBoolean

Toggle geo-restrictions for this supplier allowing it to only be used for purchase orders in the locations specified

allowedLocations[Location]!

list of locations that this supplier can be used to order inventory for through purchase ordering, ignored if restrictedSupply is toggled false

taxNumberString

Used to store a business number or identifier with the relevant national taxation office ie: such as an ABN

currencyCurrencyCode

The currency to operate in with this supplier for purchase ordering

billingAddressLines ⚠️[String!]

Address lines where supplier is located

⚠️ DEPRECATED

Use .billingAddress instead.

billingAddressPostalCode ⚠️String

Postal code of supplier's location

⚠️ DEPRECATED

Use .billingAddress instead.

billingAddressRegion ⚠️String

Region of the supplier's location e.g. QLD

⚠️ DEPRECATED

Use .billingAddress instead.

billingAddressSuburb ⚠️String

Suburb of the supplier's locations e.g. Fortitude Valley

⚠️ DEPRECATED

Use .billingAddress instead.

billingAddressCountryCode ⚠️String

Postals code of the supplier's location e.g. 4006

⚠️ DEPRECATED

Use .billingAddress instead.

billingAddressPostalAddress

The billing address of the supplier

relationsRelationships

Relationships the supplier has.

tags[Tag!]

A list of tags.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the supplier's custom attributes.

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

inputObjectAttributeInput!

TagListResult

Result for the tagList query.

FieldArgumentTypeDescription
tags[Tag!]!

Transfer

A transfer of products between two locations.

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

A merchant visible reference

idQRID

Contents for a Jungle QR code that identifies the transfer.

approvedBoolean!

If the transfer is approved. 🤖: Use for display purposes only.

approvedAtDateTime

When the transfer was approved.

lineItemsLineItemResults

Line items on the transfer. These are the items to be transferred.

lineItemsCountInt!

The number of line items in the transfer. 🤖: Use for display purposes only.

lineItemsQuantityFloat!

The total quantity of items in the transfer. 🤖: Use for display purposes only.

allocationsAllocationResults

The allocations against the transfer.

locationFromLocation!

The location to transfer stock from, when the transfer was first created. The actual "from" location is subject to changes at any time, by changing the corresponding allocation's location.

locationToLocation!

The location to transfer stock to.

orderedAtDateTime!

When the transfer was requested.

estimatedAtDateTime

If known, when this transfer is estimated to be completed/sent.

fulfilledAtDateTime

When the transfer was fulfilled.

completedAtDateTime

When the transfer was received in and processed by the destination location.

actions[IAction!]

Actions the current user can perform on this transfer.

inputActionInput
attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the transfer's custom attributes.

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

inputObjectAttributeInput!
tags[Tag!]

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

createdAtDateTime!

When the transfer was created in Jungle.

modifiedAtDateTime!

When the transfer was last modified in Jungle.

UploadToken

A one time upload token.

Provides a URL to perform a file upload too. For each file / blob to be uploaded, request a unique token.

FieldArgumentTypeDescription
urlURL!

The URL to upload the file too.

expiresAtDateTime!

Date and time the token is valid until.

bytesMaxInt!

The max byte size that will be accepted. This can be increased in higher paid plans etc.

User

FieldArgumentTypeDescription
idID!
emailString
emailVerifiedBoolean
phoneNumberString
displayNameString
fullNameString
photoUrlURL

Webhook

Webhooks configured to submit events to for your account.

FieldArgumentTypeDescription
idID!

The webhook's identifier.

path ⚠️ID!

Full path to the webhook.

⚠️ DEPRECATED

Use .id instead.

urlURL!

The URL to call when a matching action happens.

eventWebhookEvent!

The event this webhook will called. InventorySet as an example.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the webhook's custom attributes.

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

inputObjectAttributeInput!
createdAtDateTime!

When the webhook was created in Jungle.

modifiedAtDateTime

When the webhook was last modified.

tags[Tag!]

Tags on the webhook.

enabledBoolean!

If this webhook is active, or not.

WhoAmIResult

Result for the whoami() query

FieldArgumentTypeDescription
userUser

If you are authenticated, this will be populated

accountAccount

If you are authenticated, and have selected an account, this will be populated

accountUserAccountUser

If you are authenticated, and have selected an account, this will be populated

Inputs

AccountUserCreateInput

FieldTypeDescription
idID
displayNameString
photoUrlURL
phoneNumberString
pinString!
roles[String!]!
fullNameString!
locationIdID
printerIdID
weighDeviceIdID

AccountUserDeleteInput

FieldTypeDescription
idID!

AccountUserInviteInput

FieldTypeDescription
emailString!
roles[String!]!
displayNameString
fullNameString!
pinString!

AccountUserUpdateInput

FieldTypeDescription
idID!
displayNameString
photoUrlURL
phoneNumberString
pinString
roles[String!]
fullNameString
locationIdID
printerIdID
weighDeviceIdID

AccountUserUpgradeInput

FieldTypeDescription
idID!
emailString!
passwordString!

ActionInput

Input for .actions queries.

FieldTypeDescription
enabledBoolean

Filter for only enabled or disabled actions.

AddressValidationInput

FieldTypeDescription
streetString

AllocationCreateInput

Input for an Allocation.

FieldTypeDescription
nameString

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

methodFulfilmentMethod

The fulfilment method that should be used on this allocation (grouping of line items)

HINT: If the line items are already fulfilled, use MANUAL, and populate .fulfilment.

shippingAddressPostalAddressInput

The address to which this allocation group should be shipped to.

This is not needed if the line items are not being shipped.

locationIdID

A Jungle location ID where this is has been allocated to.

This tells Jungle where to ship from or pick up from. It is possible for Jungle to set this during automatic fulfilment, or during allocation.

It should be set when the fulfilment method is pick up.

locationForPickupIdID

The location to pick this allocation up from. Only set this if if the allocation explicitly needs to be picked up from a location.

serviceCodeID

A service code to fulfil the line items with.

Service codes that do not offer fulfilment will be ignored.

See Query serviceList.

fulfilmentAllowedBoolean

If false, prevent allocation to be fulfilled (if enabled for account).

attributes[CustomAttributeInput!]

Allocation's custom attributes.

tags[Tag!]

Tags to add to the allocation.

xids[XIDInput!]

An additional identity for this allocation from an external system. An external ID can associate with at most 1 allocation.

AllocationFulfilmentAllowInput

FieldTypeDescription
allocationIdID!

ID of the allocation

AllocationFulfilmentHoldInput

FieldTypeDescription
allocationIdID!

ID of the allocation

AllocationInput

FieldTypeDescription
nameString

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

methodFulfilmentMethod

The fulfilment method that should be used on this allocation (grouping of line items)

HINT: If the line items are already fulfilled, use MANUAL, and populate .fulfilment.

shippingAddressPostalAddressInput

The address to which this allocation group should be shipped to.

This is not needed if the line items are not being shipped.

locationIdID

A Jungle location ID where this is has been allocated to.

This tells Jungle where to ship from or pick up from. It is possible for Jungle to set this during automatic fulfilment, or during allocation.

It should be set when the fulfilment method is pick up.

locationForPickupIdID

The location to pick this allocation up from. Only set this if if the allocation explicitly needs to be picked up from a location.

serviceCodeID

A service code to fulfil the line items with.

Service codes that do not offer fulfilment will be ignored.

See Query serviceList.

fulfilmentAllowedBoolean

If false, prevent allocation to be fulfilled (if enabled for account).

attributes[CustomAttributeInput!]

Allocation's custom attributes.

tags[Tag!]

Tags to add to the allocation.

xids[XIDInput!]

An additional identity for this allocation from an external system. An external ID can associate with at most 1 allocation.

AllocationLineItemAssociateInput

Input for the allocationLineItemAssociate mutation.

FieldTypeDescription
allocationIdID!

ID of the allocation

lineItemIdID!

ID of the allocatable line item (IAllocatableLineItem). By default. an amount of 0 items will be allocated.

AllocationLineItemInput

FieldTypeDescription
lineItemIdID!

ID of the allocatable line item (IAllocatableLineItem), if allocating something unallocated.

quantityFloat

The quantity of the referenced line item belonging to this allocation, if not provided default to lineItem's quantity

AllocationLineItemMoveInput

Input for the allocationLineItemMove mutation.

FieldTypeDescription
fromAllocationLineItemIdID

ID of the source allocation line item, if moving between allocations.

toAllocationLineItemIdID

ID of the target allocation line item. If omitted, its quantity will be removed by the given amount.

quantityFloat

Quantity to assign/move/remove. If omitted the maximum, that can be moved, will be moved.

reasonString!

Why is the allocation line item being moved. Be specific, as this will show in the event history.

keyString

An optional unique identifier for the allocation line item move for the source/target allocation line item.

If provided, will only execute allocation line item move for the source/target allocation line item once per unique identifier.

AllocationLineItemQuantityInput

FieldTypeDescription
skuSKU

If set, only return the total number of products having this SKU

AllocationMethodSetInput

FieldTypeDescription
allocationIdID!

ID of the allocation

methodFulfilmentMethod!

Fulfilment method you want to change to.

serviceCodeID

Shipping service code. Required for most shipping services. Optional for Click & Collect orders.

AllocationSplitUnassignedInput

FieldTypeDescription
allocationIdID!
reasonString!

AllocationsConnectionInput

FieldTypeDescription
fulfilledBoolean

Filter allocations based on whether they are allocated or not.

AmxAllocationConnectEngineInput

FieldTypeDescription
nameString!

The AMX Allocation engine connection name

retailExpressConnectionIdString

Connection ID for sending orders to Retail Express

mcLeodConnectionIdString

Connection ID for sending orders to McLeod

ApiKeyCreateInput

FieldTypeDescription
connectionIdID

AttachmentListInput

FieldTypeDescription
assetID!

ID of the asset this attachment belongs to.

typeAttachmentType!

Type of the attachment.

AttachmentListV2Input

FieldTypeDescription
objectObjectInputV2!

Path of the object to list attachments for.

AttachmentPrintInput

Input for the attachmentPrint mutation.

FieldTypeDescription
printerID!

The printer to print too.

attachmentIdID!

The attachment to print.

AttachmentUploadFromBase64Input

Input for the attachmentUploadFromBase64 mutation.

FieldTypeDescription
contentString!

The base64string you wish to decode and upload

contentTypeString

Content type of the base64 content you are uploading. Defaults to application/pdf

filenameString!

The file name of the attachment

AttachmentUploadFromUrlInput

Input for the attachmentUploadFromUrl mutation.

FieldTypeDescription
objectObjectInputV2!

The object the URL download is being attached too.

urlURL!

The URL to download the attachment from.

headers[KeyValueInput!]

Headers to pass through into the HTTP request.

filenameString

Optionally, the file name of the attachment. If not provided, one is used from the url, or made up.

AttachmentUploadTokenInput

Input for the attachmentUploadToken query.

FieldTypeDescription
objectObjectInputV2!

The object the upload is being attached too.

filenameString

Optionally, the file name of the attachment. If not provided, one is made.

AttributesSetInput

Input for the attributesSet mutation.

FieldTypeDescription
objectObjectInput!
attributes[CustomAttributeInput!]!

The object's custom attributes.

AustraliaPostCredentialsInput

FieldTypeDescription
accountNumberString!
apiKeyString!
passwordString!
testBoolean!

AuthKeyLoginInput

FieldTypeDescription
keyString!
pinString!

AuthListKeysInput

FieldTypeDescription
userIdID!

AuthSwitchAccountInput

FieldTypeDescription
aidString!

The account to switch too

BackorderAssociatePurchaseOrderLineItemInput

Input for the backorderAssociatePurchaseOrderLineItem mutation.

FieldTypeDescription
backorderIdID!

The id of the backorder to associate the PO line item.

lineItemIdID!

The PO line item id to associate to the backorder.

BackorderCancelInput

Input for the backorderCancel mutation.

FieldTypeDescription
backorderIdID!

The id of the backorder to cancel.

BackorderCreateAllocationLineItemInput

Input for the purchaseOrderLineItemAssociateToBackorder

FieldTypeDescription
lineItemIdID!

The allocation line item to associate too.

quantityFloat!

The quantity on backorder

BackorderCreateInput

Input for the backorderCreate mutation.

FieldTypeDescription
orderAllocationLineBackorderCreateAllocationLineItemInput!

The order allocation line that backorder relates to.

reasonString!

The reason for the backorder.

BackorderDissociatePurchaseOrderLineItemInput

Input for the backorderDissociatePurchaseOrderLineItem mutation.

FieldTypeDescription
backorderIdID!

The id of the backorder to dissociate the PO line item.

lineItemIdID!

The PO line item id to dissociate from the backorder.

BackorderQuantityUpdateInput

Input for the backorderQuantityUpdate mutation.

FieldTypeDescription
backorderIdID!

The id of the backorder to update quantity for.

quantityFloat!

The new quantity on backorder

BarcodeAddInput

Input for the barcodeAdd mutation.

FieldTypeDescription
objectObjectInput!

The Jungle object to add known barcodes to.

barcodes[BarcodeInput!]!

The barcodes to add.

BarcodePrintInput

Input for the barcodePrint mutation.

FieldTypeDescription
valueString!

Value of the barcode

symbologyBarcodeSymbology

Symbology. Defaults to Code128

printToID!

ID of the printer

BarcodeRemoveInput

Input for the barcodeRemove mutation.

FieldTypeDescription
objectObjectInput!

The Jungle object to remove barcodes from.

barcodes[BarcodeInput!]!

The barcodes to remove. 🤖: If the value of .barcode is in the array, it will also be removed.

BrandCreateInput

Input for the brandCreate mutation.

FieldTypeDescription
nameString!

Unique name for the brand.

BrandSetNameInput

Input for the brandSetName mutation.

FieldTypeDescription
idID!

The brand identifier.

nameString!

Name for the brand.

CapabilitiesSetInput

Input for the capabilitiesSet mutation.

FieldTypeDescription
objectObjectInput!

The Jungle object to set capabilities on.

capabilityIds[ID!]!

The capability ID's of the object's capabilities

CapabilityConstraintsInput

Input for CapabilityConstraintsSetInput.constraints.

FieldTypeDescription
enabledBoolean

Constrain the capability to be enabled or disabled. This is useful for toggling capabilities on/off.

weightMinWeight

Constrain the minimum weight of something. This is useful for packaging, transport that have minimum weight requirement etc.

weightMaxWeight

Constrain the maximum weight of something. This is useful for packaging, transport that have a maximum weight they can hold etc.

qtyMinInt

Constrain the minimum quantity.

qtyMaxInt

Constrain the maximum quantity.

dimensionsInnerDimensionsInput

Constrain the inner dimensions of something. This is useful for knowing the available space in storage volumes etc.

dimensionsOuterDimensionsInput

Constrain the outmost dimensions of something. This is useful to know if it can fit in certain volumes.

dimensionsOuterMinDimensionsInput

Constrain the minimum outmost dimensions of something. This is useful to know if it is suitable to store something.

priorityInt

Constrain the priority of the capability. This is useful for ordering, or if a selection between objects with capabilities is needed.