GraphQL Reference

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

Load a specific object using it's type (__typename) and id. 🤖: If you need to keep the object's state up to date, see Subscription.object.

inputObjectInput!
tagListTagListResult!
geoCodeGeoCodeResult

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

inputGeoCodeInput!
currencyCurrency!

Get currency information.

codeCurrencyCode!
moneyDebugMoney

Debug & understand money behavior using this.

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

location ⚠️Location

Retrieve a location.

⚠️ DEPRECATED

Use the object() query instead.

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

capabilityListCapabilityListResult!

Explore the known capabilities.

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
order ⚠️Order

Retrieve a specific order

⚠️ DEPRECATED

Use the object() query instead.

orderIdID!
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!
orderListUnassignedAtLocationOrderListResult!

List your account's' orders at a location that are unassigned to any job

inputOrderListUnassignedAtLocationInput!
allocation ⚠️AllocationResult!

Retrieve a specific allocation

⚠️ DEPRECATED

Use the object() query instead.

allocationIdID!
orderStatusInfoOrderStatusInfoResult

Order status information.

Provides information on known Order statuses.

productBySkuProduct

Retrieve a product by SKU.

skuString!
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
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!
inputInventoryListAssignedAtLocationInput!
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, sorted by:

  • Items assigned to allocations which are ready to pack from the selected location
  • Items assigned to allocations partly put away sorted by the latest inventory movement
  • Unassigned items
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 recommended location to put away for a given item.

inputJobConfiguredLocationPutAwayInput!
jobConfiguredPickLocationNextInventoryReservedPickResult!

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

inputJobConfiguredPickLocationNextInput!
scanScannable

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

barcodeString!
searchSearchResult!

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

inputSearchInput!
purchaseOrderInboundItemBySkuPurchaseOrderInboundItemBySkuResult!

List of purchase orders with incoming quantity for an SKU

inputPurchaseOrderInboundItemBySkuInput!
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?

australiaPostLabelCreate ⚠️AustraliaPostLabelResult!

⚠️ DEPRECATED

Use the shipment* mutations instead.

inputAustraliaPostLabelCreateInput!
australiaPostOrderCreate ⚠️AustraliaPostOrderResult!

⚠️ DEPRECATED

Use the shipment* mutations instead.

inputAustraliaPostOrderCreateInput!
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!
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!
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!
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!
locationCreateLocationCreateResult

Creates 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!
capabilitiesSetIMutationResult!

Set capabilities on an object.

inputCapabilitiesSetInput!
capabilityConstraintsSetIMutationResult!

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

inputCapabilityConstraintsSetInput!
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!
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!
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!
lineItemQuantityIncrementIMutationResult!

Only Order Line Item is supported at the moment.

inputLineItemQuantityIncrementInput!
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!
orderAllocationSetMethodIMutationResult!

Change the fulfilment method of an allocation

inputOrderAllocationSetMethodInput!
orderRouteIMutationResult!

Trigger routing logic for an order (if configured).

inputOrderRouteInput!
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!
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!
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!
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!
inventoryAdjustIfAssignableIMutationResult!

Increment the inventory of a SKU at a location, if it can be assigned to allocations(s).

This will increment the on hand quantity using the quantity provided and assign the quantity to allocations(s). If the QTY (in full) cannot be ASSIGNed to any allocation(s). It will reject.

inputInventoryAdjustIfAssignableInput!
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!
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!
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!
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!
orderAllocationSplitUnassignedIMutationResult!

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.

inputOrderAllocationSplitUnassignedInput!
orderAllocationSplitIMutationResult!

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

inputOrderAllocationSplitInput!
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!
purchaseOrderPriceUpdateIMutationResult!

Update existing purchase order prices.

inputPurchaseOrderPriceUpdateInput!
purchaseOrderLocationUpdateIMutationResult!

Update existing purchase order locations.

inputPurchaseOrderLocationUpdateInput!
purchaseOrderSetStatusIMutationResult!

Update existing purchase order status.

inputPurchaseOrderSetStatusInput!
purchaseOrderReceiveItemAddIMutationResult!

Add receive item to purchase order.

inputPurchaseOrderReceiveItemAddInput!
purchaseOrderReceiveItemUpdateIMutationResult!

Update receive item on existing purchase order.

inputPurchaseOrderReceiveItemUpdateInput!
purchaseOrderReceiveItemRemoveIMutationResult!

Remove receive item from purchase order.

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

Create a new purchase return.

inputPurchaseReturnCreateInput!
purchaseReturnLineItemReturningAddIMutationResult!

Add line item to purchase return.

inputPurchaseReturnLineItemReturningAddInput!
purchaseReturnApproveIMutationResult!

Approve a purchase return.

inputPurchaseReturnApproveInput!
webhookSubscribeBoolean

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

inputWebhookSubscribeInput!
webhookUnsubscribeBoolean

Removes any webhooks matching the given URL with in your account

inputWebhookUnsubscribeInput!
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!
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!
sparesboxAllocationEngineVersionSetIMutationResult!

Set the version of the Sparesbox allocation engine to use

inputSparesboxAllocationEngineVersionSetInput!

Objects

Account

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

FieldArgumentTypeDescription
idID!

The accounts id

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

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.

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
lineItems ⚠️[OrderLineItem!]!

⚠️ DEPRECATED

Use lineItemsConnection instead.

lineItemsConnectionAllocationLineItemResults
lineItemsQuantityFloat!

The total number of products within the allocation.

inputAllocationLineItemQuantityInput
serviceCodeID
serviceCodeRequestedID

The service code originally requested on the allocation.

isFulfilledBoolean

Whether this allocation is fulfilled or not.

relationsRelationships

Relationships the allocation has.

fulfilments[IFulfilment!]
orderId ⚠️ID!

ID of the order this allocation belongs to.

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

createdAtDateTime!

When the allocation was created.

modifiedAtDateTime

When this allocation was modified.

attributes[ICustomAttribute!]!

Custom attributes on the object.

inputObjectAttributesInput
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
backordersBackorderResults

The backorders for this allocation

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)

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
actions[IAction!]

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

inputActionInput

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

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

AustraliaPostError

FieldArgumentTypeDescription
codeString
nameString
messageString

AustraliaPostLabel

FieldArgumentTypeDescription
requestIdString
urlString
statusString
requestDateDateTime
urlCreationDateDateTime
shipmentsReference[AustraliaPostShipmentReference]
shipmentIds[String]
labelPropertiesAustraliaPostLabelProperties

AustraliaPostLabelProperties

FieldArgumentTypeDescription
formatString
pageSizeString

AustraliaPostLabelResult

FieldArgumentTypeDescription
labels[AustraliaPostLabel!]

AustraliaPostOrderResult

FieldArgumentTypeDescription
idString!

AustraliaPostPackageReference

FieldArgumentTypeDescription
packageIdID!

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

AustraliaPostShipmentReference

FieldArgumentTypeDescription
shipmentIdID!
packagesReference[AustraliaPostPackageReference!]

AuthKey

Used for QR Code scan to login

FieldArgumentTypeDescription
idID!
barcodeString!

The raw barcode data

documentationDocumentationResult!

Documents for this authkey

inputDocumentationInput!
createdAtDateTime!

When the name tag was created.

AuthKeyAuthenticated

The authkey and pin are valid

FieldArgumentTypeDescription
tokenString!

See https://firebase.google.com/docs/auth/admin/create-custom-tokens#sign_in_using_custom_tokens_on_clients

AuthKeyInvalidPinError

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

FieldArgumentTypeDescription
attemptsRemainingInt!

AuthKeyListResult

FieldArgumentTypeDescription
results[AuthKeyListResultEdge!]!

AuthKeyListResultEdge

FieldArgumentTypeDescription
authKeyAuthKey!

AuthKeyNotFoundError

The authkey doe not exist

FieldArgumentTypeDescription
messageString!

AuthKeyPinReset

FieldArgumentTypeDescription
reasonString!

AuthSwitchAccountAuthenticated

FieldArgumentTypeDescription
tokenString!

See https://firebase.google.com/docs/auth/admin/create-custom-tokens#sign_in_using_custom_tokens_on_clients

AuthSwitchAccountDenied

FieldArgumentTypeDescription
reasonString!

Backorder

A backorder against a order allocation line

FieldArgumentTypeDescription
idID!

The backorder's unique identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

orderAllocationLineAllocationLineItem

The order allocation line 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.

attributes[ICustomAttribute!]!

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

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

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 can only be used to transport items that are at most 1kg in weight. Items heavier than 1kg cannot be transported.

FieldArgumentTypeDescription
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 1m³.

CapabilityListResult

FieldArgumentTypeDescription
results[CapabilityListResultEdge!]!

CapabilityListResultEdge

FieldArgumentTypeDescription
capabilityICapability!

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

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.

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.

External IDs allow you to reference Jungle objects with identifiers from your own or other systems.

It is important to note that an external ID must be unique.

FieldArgumentTypeDescription
idID!

The external IDs, 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

serviceService!

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!

FulfilmentCollectChangeStateResult

FieldArgumentTypeDescription
fulfilmentCollectFulfilmentCollect

FulfilmentCollectCreateResult

FieldArgumentTypeDescription
fulfilmentCollectFulfilmentCollect

FulfilmentLineItem

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

quantityFloat!
lineItemOrderLineItem
createdAtDateTime!

FulfilmentLineItemResult

FieldArgumentTypeDescription
nodeFulfilmentLineItem

FulfilmentLineItemResults

FieldArgumentTypeDescription
results[FulfilmentLineItemResult!]!
pageInfoPageInfo!

FulfilmentShipment

A shipment, that has fulfilled allocation (sale order) line items.

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

createdAtDateTime!

When the shipment fulfilment was created

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!

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

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

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

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.

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.

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

InventoryMovementReceivedListResult

FieldArgumentTypeDescription
pageInfoSearchPageInfo!
results[InventoryMovement!]!

InventoryNotFound

Result when inventory is not found.

FieldArgumentTypeDescription
messageString

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

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

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

quantityFloat!

InventoryReplenishablePickItemsResult

Result for the inventoryReplenishablePickItems query.

FieldArgumentTypeDescription
results[InventoryReplenishablePickItemsResultNode!]!

The items that are replenishable

InventoryReplenishablePickItemsResultNode

FieldArgumentTypeDescription
locationLocation
skuString!
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!
documentationDocumentationResult!

Documents for this item

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

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.

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

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

isOversizedBoolean

Whether the product is oversized

supplierSupplier

The supplier which product is assigned to

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

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

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

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

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

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.

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.

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

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

LineItem

FieldArgumentTypeDescription
backordersBackorderResults

The backorders for this line item

idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]
nameString
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
quantityFloat!

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

unitPriceMoney

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

adjustments[MoneyAdjustment!]

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

subtotalPriceMoney

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

totalPriceMoney

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

estimatedAtDateTime

Date and time that the line item is predicted to arrive

integrationReferenceString

Integration reference

createdAtDateTime!

When the line item was created in order

modifiedAtDateTime

When the line item was last modified

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
orderIOrder

Line item's order

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.

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

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!

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

Sums of a specific currency. Used it payments, value 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

amountAsFloatFloat!

Amount as float value, avoid using where possible

formattedString!

The money as a formatted string.

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.

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.

ObjectCreated

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

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

integrationReferenceString

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

isTestBoolean

If the order is a test or not

noteFromCustomerString

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

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.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
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

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

lineItemsUnfulfilled[OrderLineItem!]!

Line items in the Order that are not yet fulfilled

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.

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

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. 🤖: Modify with attribute* mutations.

inputObjectAttributesInput
createdAtDateTime!

When the order line item was created in Jungle.

modifiedAtDateTime

When the order line item was last modified in Jungle.

productProduct

The product associated with the line item.

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

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.

countryCountry

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

suburbString!

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

postalCodeString!

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

regionString

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

lines[String!]!

The street number, name & other important specific addressing.

pointGeoPoint

The geo point of the address, on earth

contactPersonContactPerson
isVerifiedBoolean

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
weightWeight

The product's weight (in grams)

dangerousGoodsProductDangerousGoods

Dangerous goods details.

attributes[ICustomAttribute!]!

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

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

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

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
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

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.

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 order. 🤖: Modify with attribute* mutations.

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

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. E.g. 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!]!

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
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 being/to be returned.

FieldArgumentTypeDescription
results[ReturnLineItemResult!]!
pageInfoPageInfo!

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

A service can only have one category. It will be more appropriate to support multiple

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

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

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

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!
fulfilmentCreated ⚠️IFulfilment

⚠️ DEPRECATED

Use the events() subscription instead.

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

billingAddressPostalCodeString

Postal code of supplier's location

billingAddressRegionString

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

billingAddressSuburbString

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

billingAddressCountryCodeString

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

relationsRelationships

Relationships the supplier has.

tags[Tag!]

A list of tags.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput

TagListResult

Result for the tagList query.

FieldArgumentTypeDescription
tags[Tag!]!

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

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)

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.

serviceCodeID

A service code to fulfil the line items with.

Service codes that do not offer fulfilment will be ignored.

See Query serviceList.

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

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.

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.

AustraliaPostAddressInput

FieldTypeDescription
nameString!
business_nameString
lines[String!]!
suburbString!
stateString!
postcodeString!
phoneString
emailString

AustraliaPostCredentialsInput

FieldTypeDescription
accountNumberString!
apiKeyString!
passwordString!
testBoolean!

AustraliaPostItemContentsInput

FieldTypeDescription
descriptionString
quantityInt
weightFloat
valueFloat
tariffCodeString

AustraliaPostLabelCreateInput

FieldTypeDescription
waitForLabelUrlBoolean

If set true, a label url will be provided within the response

preferences[AustraliaPostLabelPreferenceInput!]!

Preferences will be applied to all the items in the shipments

shipmentIdID!

Shipment for which you want labels generated

packageIds[ID!]

The list of items for which you want to generate labels. If you don't provide this list, then labels will be generated for all items in the shipment

connectionIdID!

Australia Post connection ID

AustraliaPostLabelPageFormatGroupInput

FieldTypeDescription
groupAustraliaPostLabelGroupType!
layoutAustraliaPostLabelGroupLayout!
brandedBoolean!

Whether the Australia Post branding should be included on the labels.

leftOffsetInt!

Use this field to adjust the left margin of the page

topOffsetInt!

Use this field to adjust the top margin of the page

AustraliaPostLabelPreferenceInput

FieldTypeDescription
typeAustraliaPostLabelPrintingPreference

For printing preferences the type is PRINT

formatAustraliaPostLabelPrintFormat!

Specifies print format

groups[AustraliaPostLabelPageFormatGroupInput!]!

The required page format for the labels

AustraliaPostOrderCreateInput

FieldTypeDescription
shipmentIds[ID!]

Shipments to be included in the order

connectionIdID!

Australia Post connection ID

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

CapabilityConstraintsSetInput

Input for capabilityConstraintsSet mutation.

FieldTypeDescription
objectObjectInput!

The Jungle object to set constraint on.

capabilityIdID!

The capability to assign constraints too.

constraintsCapabilityConstraintsInput!

Constraints upon the capability, meaning there are conditions to the capability.

ChannelCreateInput

Input for the channelCreate mutation.

FieldTypeDescription
codeString!

A unique code for the channel.

nameString!

A name for the channel.

descriptionString

A description of the channel.

brandIdID

The brand the channel is under.

ChannelSetCodeInput

Input for the channelSetCode mutation.

FieldTypeDescription
idID!

The channel id.

codeString!

A unique code for the channel.

ChannelSetDescriptionInput

Input for the channelSetDescription mutation.

FieldTypeDescription
idID!

The channel id.

descriptionString!

A description of the channel.

ChannelSetNameInput

Input for the channelSetName mutation.

FieldTypeDescription
idID!

The channel id.

nameString!

The name of the channel.

CollectionGetInput

FieldTypeDescription
orderIdID!
collectionIdID!

CollectionListAtLocationInput

FieldTypeDescription
locationIdID!
paginationListInput

ContactPersonInput

FieldTypeDescription
nameString!
emailString
phoneString
companyNameString

CustomAttributeInput

Input for a custom attribute.

FieldTypeDescription
idCustomAttributeInputId!

The attribute's ID.

nameString

Human-friendly description of ID. If omitted, it will have the same value as ID.

valueString!

The attribute value. e.g. gold, A description, 0001023

CustomerInput

The order might not have a customer and apps should not depend on the existence of a customer object

FieldTypeDescription
idID
emailString
acceptsMarketingBoolean
createdAtDateTime
modifiedAtDateTime
nameString
ordersCountFloat
stateString
totalSpentFloat
lastOrderIdID
noteString
phoneString
lastOrderNameString
currencyString

DateRangeFilterInput

FieldTypeDescription
fromDateTime
toDateTime

DeviceReportWeighInput

Input for the deviceReportWeigh() mutation.

FieldTypeDescription
deviceIdID

The device is reporting for, if this is not provided, we'll try to guess it.

gramsWeight!

The weight (in grams) being reported.

statusDeviceWeighStatus

The status of the weighing device / scales / balance.

atDateTime

When weight was measured. Optional, as Jungle will assume received time.

DimensionsInput

Input for the physical dimensions of something. e.g. Parcel, Product, Cat.

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

DocumentationInput

Input for IDocumentationSubject.documentation field.

FieldTypeDescription
sizeString
formatDocumentFormat

DocumentationPrintInput

Input for the documentationPrint mutation.

FieldTypeDescription
printerIdID!

The Id of the printer to print to.

documentationIdID!

The documentation to print. Obtained using the .documentation() on types implementing IDocumentationSubject.

DocumentationSupportedInput

Input for the documentationSupported query.

FieldTypeDescription
typenameString

Generally shows what documentation is available for a known type. Note that certain object types may not have generally available documentation, but could have documentation for a specific object. In workflows it is better to provide the specific object.

objectObjectInput

Show supported documentation for a specific object.

EventsSubscriptionInput

Input for the events subscription.

FieldTypeDescription
sourceObjectInputV2!

The source object of the events. Very useful if you are looking for events from a specific object. 🤖: This is the event subject.

types[EventSubscribable!]!

The event type to subscribe to.

ExportColumn

FieldTypeDescription
fieldString!

Path of the field you want to include in the export. Supports dot notation.

headerString

Human-readable header for the given field. It uses [field] as header by default.

ExportInput

Input for the export query.

You must define the typename to export data for.

FieldTypeDescription
filterSearchInput!

Search filter you want to apply.

formatExportFormat!

Specify the format of the export.

ExternalIdAssignInput

Input for the xidAssign mutation.

FieldTypeDescription
objectObjectInputV3!

The Jungle object to associate the external ID with.

partsXIDPartsInput!

The external ID, in it's 3 parts to associate with the object.

ExternalIdInput

You must provide one of .xid, or .parts

FieldTypeDescription
xidXIDInput

String input, must be be expected string format exactly.

partsXIDPartsInput

Structured input, Jungle will simply construct it into the expected xid string.

ExternalIdUnassignInput

Input for the xidUnassign mutation.

FieldTypeDescription
objectObjectInputV3!

The Jungle object to unassign the external ID with.

partsXIDPartsInput!

The external ID, in it's 3 parts to unassign with the object.

ExternalIdsInput

FieldTypeDescription
filter[SearchFilterInput!]

How to filter the xid. Use them to eliminate results that do match the filters. 🤖: While this uses a search filter, certain filter types are not supported.

FilterInput

Filters for ListInput. You may use one at a time.

FieldTypeDescription
modifiedAfterDateTime

Find objects with a modifiedAt time at or after the given DateTime.

statusString

Find objects with a status matching the provided value.

FulfilmentCollectChangeStateInput

Input for the fulfilmentCollectChangeState mutation.

FieldTypeDescription
orderIdID!
fulfilmentIdID!

The fulfilment ID to change the status of.

stateCollectionState!

The state to transition the fulfilment to

FulfilmentCollectCreateInput

FieldTypeDescription
orderIdID!
allocationIdID
locationIdID!

This location must have the "collect" capability.

referenceString!
lineItems[OrderLineItemInput!]!
collectByDateTime

FulfilmentShipmentAddInput

FieldTypeDescription
shipmentIdID!
allocationIdID!

FulfilmentShipmentCreateInput

FieldTypeDescription
orderIdID!

The order this shipment relates too.

allocationIdID
serviceIdID
connectionIdID!

Where a connection is providing the ability to create the shipment, it's Id must be provided.

lineItems[OrderLineItemInput!]!
referenceString
originLocationIdID!

An existing location ID

destinationPostalAddressInput!
packages[PackageInput!]!

GeoAddressInput

FieldTypeDescription
countryCountryCode!
localityString
postalCodeString

GeoCodeInput

Input for the geoCode query.

FieldTypeDescription
addressGeoAddressInput

GeoPointSetInput

Input for the geoPointSet mutation.

FieldTypeDescription
objectObjectInput!

The Jungle object to set a geo point (coordinates) on.

pointGeoPoint!

The latitude, longitude pair to set.

pointAccuracyFloat

Used to describe the accuracy of the point. See IGeoLocatable.pointAccuracy for details.

IdentityCreateInput

FieldTypeDescription
emailString!
passwordString!
displayNameString

IdentityUpdateInput

FieldTypeDescription
idID!
emailString!
displayNameString!
passwordString

InsightEmbeddableInput

FieldTypeDescription
insightEmbedTypeInsightEmbedType!
idID!

InsightEmbeddableListInput

FieldTypeDescription
insightEmbedTypeInsightEmbedType!
limitPositiveInt

Number to limit the results. Maximum 50.

cursorID

The cursor for the next set of results.

IntegrationConnectInput

Input for the integrationConnect mutation.

FieldTypeDescription
integrationID!

IntegrationCreateInput

Input for the integrationCreate mutation.

FieldTypeDescription
idIntegrationCreateInputId!

A unique identifier for the integration. e.g: AcmeCorp, A234-Asd

nameString

The name of the integration.

InventoryAdjustIfAssignableInput

Input for the inventoryAdjustIfAssignable mutation

FieldTypeDescription
locationIdID!

The location at which to increment the SKUs quantity

skuString!

The SKU being being incremented

conditionString

Product condition, e.g. damaged, new, mislabeled (Only applicable if account is enabled for inventory condition)

quantityInt!

The amount the SKU. Only supports quantity 1 at the moment

InventoryAllocateInput

Input for the inventoryAllocate mutation

FieldTypeDescription
skuString!

The SKU being allocated (reserved) at the location.

locationIdID!

The location at which to allocate the SKUs

quantityPositiveInt!

The quantity of SKUs being allocated (reserved)

It is not possible to allocate less than 1 of SKU. e.g., -1, 0 etc are not possible.

allocationKeyID

An optional string identifying the allocation of inventory, if not provided, one will be generated! You can use something like an allocation/fulfilment Id, so then later you can easily release the allocation. If you provide a key that is already used, the allocation will be rejected.

InventoryAllocationsClearInput

Input for the inventoryAllocationsClear mutation

FieldTypeDescription
skuString!

The SKU being cleared of allocations at the location.

locationIdID!

The location at which to clear SKU allocations

reasonString!

Why was this SKU cleared of allocations.

Be specific, this will show in the event history.

InventoryAssignmentAdjustInput

FieldTypeDescription
skuString!

The SKU being assigned

locationIdID!

The location at which to assign the SKU

allocationIdID!

ID of the allocation to assign the SKU to

quantityFloat!

Adjustment amount. Positive means increment. Negative means decrement.

reasonString!

Reason for clearing the assignment

InventoryByProductInput

FieldTypeDescription
idID!

Id of the product to retrieve inventory for

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

InventoryByPurchaseOrderInput

Input for inventoryByPurchaseOrder query.

FieldTypeDescription
idID!

Purchase order id

InventoryFilterInput

Filters for the field.

FieldTypeDescription
hasString

If the Inventory has the field, i.e. condition

notInventoryFilterInput

Not Filter

skuSKU

Only find inventory of the given SKU

quantityOnHandMinimumFloat

Find inventory with the minimum quantityOnHand. Only affects accounts configured with this functionality.

parentLocationIdID

Only find inventory with the specified parent location. Set to null to get inventory for a root location.

InventoryListAssignedAtLocationInput

FieldTypeDescription
locationIdID!
skuString!

InventoryListAtLocationInput

Input for the inventoryListAtLocation query

FieldTypeDescription
locationIdString!

The location to list inventory information at.

childrenBoolean

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

paginationListInput

Pagination config

filterInventoryFilterInput

Filter, by default only inventory with no condition will be included

InventoryMoveInput

Input for the inventoryMove mutation

FieldTypeDescription
skuString!

The stock keeping unit to move

conditionString

Product condition, e.g. damaged, new, mislabeled (Only applicable if account is enabled for inventory condition)

fromLocationIdID!

From where the SKU has moved (source)

toLocationIdID!

To where the SKU has moved (destination)

quantityPositiveInt!

The number of the SKU to move. Must be more then 0, otherwise what is the point?

allocationIdID

Allocation to move (Optional) if provided, allocation assignment will be moved (Only applicable if account is enabled for inventory assignment)

InventoryMovementCreateInput

FieldTypeDescription
typeInventoryMovementType!

Movement type

toInventoryMovementToSubjectInput

Destination to where the Inventory transferred to, i.e. Location, Allocation One of the from and to have to be a Location in Jungle

fromInventoryMovementFromSubjectInput

Source from which the Inventory comes, i.e. Location, Supplier, PurchaseOrder One of the from and to have to be a Location in Jungle

receiveFromInventoryMovementFromSubjectInput

Applies for ALLOCATE/RELEASE/ASSIGN/UNASSIGN only Additional information from which the stock received from, i.e, Supplier, PurchaseOrder

skuString!

The SKU being moved

conditionString

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

qtyFloat!

The quantity of SKU

descriptionString

Describe the inventory movement in details.

locationIdString

Location where the inventory movement happens

keyString

An unique identifier for the inventory movement. If not provided, one will be generated.

InventoryMovementFromSubjectInput

FieldTypeDescription
idID!

The .id of Jungle object.

typenameString!

The .__typename of the Jungle object.

InventoryMovementReceivedListFilterInput

FieldTypeDescription
locationIdID

Filter movements happening in this location only.

jobIdID

Filter movements created as part of a job

createdByID

Filter movements created by

skuString

Filter movements by sku

createdAtDateRangeFilterInput

Filter movements based on createdAt.

purchaseOrderIdID

Filter movements by purchase order ID. If null, it will filter for movements that are not attributed to any purchase order. Either use this or supplierId. Setting this value will discard supplierId.

supplierIdID

Filter movements by supplier ID. Either use this or purchaseOrderId.

reconciledBoolean

Filter movements by reconciled

  • true: include movement if all the of movement qty have been reconciled
  • false: include movement if not all of movement qty have been reconciled

InventoryMovementReceivedListInput

FieldTypeDescription
limitInt
afterInt
filterInventoryMovementReceivedListFilterInput
sort[InventoryMovementReceivedSortInput!]

How to sort the results. Sorted by oldest first (createdAt, asc) by default

InventoryMovementReceivedSortInput

Input for InventoryMovementReceivedListInput.sort.

FieldTypeDescription
fieldInventoryMovementReceivedSortField!

Field to sort by. Not all fields allow sorting.

directionOrderingDirection!

Control the sort ordering direction

InventoryMovementToSubjectInput

FieldTypeDescription
idID!

The .id of Jungle object.

typenameString!

The .__typename of the Jungle object.

InventoryMovesInput

FieldTypeDescription
items[InventoryMovesItemInput!]!

InventoryMovesItemInput

FieldTypeDescription
fromLocationIdID!

From where the SKU has moved (source)

toLocationIdID!

To where the SKU has moved (destination)

skuString!

The stock keeping unit to move

conditionString

Product condition, e.g. damaged, new, mislabeled (Only applicable if account is enabled for inventory condition)

quantityPositiveInt!

The number of the SKU to move. Must be more then 0, otherwise what is the point?

InventoryPutAwayItemsInput

Input for the inventoryPutAwayItems query.

FieldTypeDescription
toParentLocationIdID!

Id of the parent location to put away the items to

fromLocationIdID!

Id of the location with items to put away

InventoryReplenishablePickItemsInput

Input for the inventoryReplenishablePickItems query.

FieldTypeDescription
locationIdID!

Id of the root location to start the replenishment.

limitPositiveInt

The maximum number of allocations to replenish at a time.

InventoryReservedItemsListFilterInput

FieldTypeDescription
reservationKeyID!

The unique identifier for the pick wave/reservation.

InventoryReservedItemsListInput

Input for the inventoryReservedItemsList query.

FieldTypeDescription
filterInventoryReservedItemsListFilterInput!
afterNonNegativeInt

The cursor for the next set of results

limitPositiveInt

Number to limit the results, maximum 100

InventoryReservedPickInput

Input for the inventoryReservedPick query.

FieldTypeDescription
reservationKeyID!

A unique identifier for the pick wave/reservation.

locationIdID!

Id of a location area to start wave/reserved picking.

locationPickedIds[ID!]

Ids of locations contains items already picked, i.e. trolley.

quantityAllocatedMaximumPositiveInt

Only reserve ready allocation with quantityAllocated less than or equal to quantityAllocatedMaximum

limitInt

The maximum number of ready allocations to pick for.

InventoryReservedPickItemsInput

Input for the inventoryReservedPickItems query.

FieldTypeDescription
reservationKeyID!

The unique identifier for the pick wave/reservation.

locationIdID!

Id of a location to pick the items from

InventorySetAtLocationInput

Input for the inventorySetAtLocation mutation

FieldTypeDescription
locationIdID!

The location at which to set the SKUs quantity

items[InventorySetAtLocationItemInput!]!

InventorySetAtLocationItemInput

FieldTypeDescription
skuString!

The SKU being set to an inventory level on

conditionString

Product condition, e.g. damaged, new, mislabeled (Only applicable if account is enabled for inventory condition)

quantityInt!

The number of the SKU available/on hand

InventorySetByProductInput

Input for the inventorySetByProduct mutation

FieldTypeDescription
locationIdID!

The location at which to set the product's quantity

productIdID!

The product ID being set to an inventory level on

conditionString

Product condition, e.g. damaged, new, mislabeled (Only applicable if account is enabled for inventory condition)

quantityInt!

The number of the product available/on hand

quantityAllocatedInt

Optionally, the number of the product allocated.

Using this is dangerous and should be avoided if you are using tracked allocations, use inventoryAllocationsClear instead.

InventorySetBySkuInput

Input for the inventorySetBySku mutation

FieldTypeDescription
locationIdID!

The location at which to set the SKUs quantity

skuString!

The SKU being set to an inventory level on

conditionString

Product condition, e.g. damaged, new, mislabeled (Only applicable if account is enabled for inventory condition)

quantityInt!

The number of the SKU available/on hand

quantityAllocatedInt

Optionally, the number of the SKU allocated.

Using this is dangerous and should be avoided if you are using tracked allocations, use inventoryAllocationsClear instead.

InventorySummarizeByProductInput

Input for the inventorySummarizeByProduct query

FieldTypeDescription
productIdID!

ID of the product to get summarized inventory on.

locationIds[ID!]

The locations to retrieve inventory information from.

You can specify up to 20.

InventorySummarizeInput

Input for the inventorySummarize query

FieldTypeDescription
skuString!

The SKU to get summarized inventory on.

locationIds[ID!]

The locations to retrieve inventory information from.

You can specify up to 20.

InventoryUnassignedPickInput

Input for the inventoryUnassignedPick query.

FieldTypeDescription
reservationKeyID!

The unique identifier for the pick wave/reservation.

locationIdID!

Id of a location area to start the wave.

limitPositiveInt

The maximum number of unassigned items to pick for at a time.

InventoryUnassignedPickItemsInput

Input for the inventoryUnassignedPickItems query.

FieldTypeDescription
reservationKeyID!

The unique identifier for the pick wave/reservation.

locationIdID!

Id of a location to pick the items from

InventoryUpdateBySkuInput

Input for the inventoryUpdateBySku mutation

FieldTypeDescription
locationIdID!

The location at which to update the SKUs quantity

skuString!

The SKU being being updated

conditionString

Product condition, e.g. damaged, new, mislabeled (Only applicable if account is enabled for inventory condition)

quantityInt!

Increment/Decrement the number of the SKU available/on hand

JobAllocationInput

FieldTypeDescription
jobIdID!
allocationIdID!

JobChangeStatusInput

FieldTypeDescription
jobIdID!
statusJobStatus!

The state to transition the job to.

JobConfigurationListInput

Input for getting job configurations

FieldTypeDescription
locationIdID!

The ID of Jungle location where you want to see related jobs configurations.

JobConfiguredAddProductInput

FieldTypeDescription
jobIdID!
barcodeString!

Product's barcode

JobConfiguredCompleteInput

FieldTypeDescription
jobIdID!

JobConfiguredCreateInput

FieldTypeDescription
configurationIdID!
locationIdID!
referenceString

JobConfiguredLocationPutAwayInput

FieldTypeDescription
jobProductItemIdID!

JobConfiguredPickCreateInput

FieldTypeDescription
configurationIdID!

Configuration ID, only configuration for picking is supported

locationIdID!

Location ID

referenceString

Reference

allocationIds[ID!]!

List of allocations to pick

JobConfiguredPickLocationNextInput

Input for the jobConfiguredPickLocationNext query.

FieldTypeDescription
jobIdID!

Id of the job

JobConfiguredProductAllocationAssignInput

FieldTypeDescription
jobProductItemIdID!

JobConfiguredProductIncrementInventoryInput

FieldTypeDescription
jobProductItemIdID!
locationIdID!
splitBoolean

JobConfiguredProductInventoryMoveInput

Input for the jobConfiguredProductInventoryMove mutation.

FieldTypeDescription
jobProductItemIdID!

The product to move in the job.

toLocationIdID!

Id of the location to move the product to.

reservedLocationIdID

Id of the location area used to start wave/reserved picking.

JobConfiguredProductPickInput

FieldTypeDescription
jobProductIdID!
quantityFloat!

Quantity, default to 1 if not provided

allocationIdID

ID of the allocation assigned to this item

fromLocationIdID!

JobConfiguredProductPutawayInput

FieldTypeDescription
jobProductIdID!
quantityFloat!

Quantity, default to 1 if not provided

allocationIdID

ID of the allocation assigned to this item

fromLocationIdID!
isDamagedBoolean

Whether the product is damaged

JobConfiguredProductReceivedInput

FieldTypeDescription
jobProductIdID!
quantityPositiveInt

Quantity, default to 1 if not provided

allocationIdID

Allocation this product associates with

isDamagedBoolean

Whether item is damaged or not. If damaged, any allocation assigned won't have any effect.

isOversizedBoolean

Whether item is oversized or not.

supplierIdID

The supplier the product was received for, if known.

purchaseOrderIdID

JobConfiguredProductUpdateAllocationInput

FieldTypeDescription
jobProductItemIdID!
allocationIdID

Empty means unset.

JobConfiguredProductUpdatePurchaseOrderInput

FieldTypeDescription
jobProductItemIdID!
purchaseOrderIdID!

JobConfiguredProductUpdateQuantityInput

FieldTypeDescription
jobProductItemIdID!
quantityPositiveInt

JobConfiguredProductUpdateSupplierInput

FieldTypeDescription
jobProductItemIdID!
supplierIdID!

JobConfiguredRemoveProductItemInput

FieldTypeDescription
jobProductItemIdID!

JobConfiguredUpdatePurchaseOrderInput

FieldTypeDescription
jobIdID!
purchaseOrderIdID!

JobConfiguredUpdateSupplierInput

FieldTypeDescription
jobIdID!
supplierIdID!

JobListForOrderInput

Input for getting ready/in progress jobs having the given order ID

FieldTypeDescription
orderIdID!

The ID of order which you want to see related jobs.

paginationListInput

Pagination config

JobPackAllocationMarkFulfilledInput

FieldTypeDescription
jobIdID!
allocationIdID!

JobPackCreateInput

FieldTypeDescription
allocationIds[ID!]!

List of allocations to pack

locationIdID!

Location where the job happens. Use locationIds instead.

locationIds[ID!]

Locations where the job can happens (maximum of 10). Can be multiple locations, ie: Warehouse, trolley, packing station, ...

referenceString

JobPackSetAllocationShippingAddressInput

Input for jobPackSetAllocationShippingAddress mutation

FieldTypeDescription
jobIdID!

The packing job id

allocationIdID!

The allocation to update

shippingAddressPostalAddressInput!

The updated shipping address

JobPackSkuInput

FieldTypeDescription
jobIdID!
allocationIdID!
skuString!
quantityPositiveInt!

JobPackSkuToPackageInput

FieldTypeDescription
jobIdID!
allocationIdID!
packageIdObjectID!
skuString!
quantityPositiveInt!
locationIdID

If provided, an inventory movement will be recorded against this location, depending on whether the context is packing or unpacking.

When packing, this is the location to get stock from. When unpacking, this is the location to put the stock back to.

JobPickCreateInput

FieldTypeDescription
allocationIds[ID!]!

List of allocations to pick

methodPickMethod!

Pick method

locationIdID!

Location where the job happens

referenceString

The job reference number

JobPickLocationAssignInput

FieldTypeDescription
jobIdID!
locationIdID!

ID of picking location

JobPickSkuInput

FieldTypeDescription
jobIdID!
skuString!
quantityPositiveInt!

JobSetPackageInfoInput

FieldTypeDescription
jobIdID!
packageIdObjectID!
descriptionString

Describe the packaging.

dimensionsDimensionsInput

Dimensions of the packaging.

KeyValueInput

Simple key value inputs.

FieldTypeDescription
nameString!

The key name.

valueString!

The value.

LineItemCreateInput

FieldTypeDescription
nameString
productIdString
quantityFloat!
unitPriceMoneyInput

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

adjustments[MoneyAdjustmentInput!]

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

estimatedAtDateTime

Date and time that the line item is predicted to arrive

LineItemQuantityIncrementInput

FieldTypeDescription
lineItemIdID!

ID of line item to adjust quantity

amountFloat!

Quantity to adjust

LineItemUpdateInput

FieldTypeDescription
idID!

Line item id

nameString
productIdString
quantityFloat
unitPriceMoneyInput

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

adjustments[MoneyAdjustmentInput!]

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

estimatedAtDateTime

Date and time that the line item is predicted to arrive

ListInput

Basic inputs for list queries

FieldTypeDescription
orderByString

Field to order by. One of the result object's field names, excluding .id

orderDirectionOrderingDirection

Control the ordering direction

filterFilterInput

Optional filters

limitPositiveInt

Number to limit the results. Maximum 50.

cursorID

The cursor for the next set of results.

LocationChangeAddressInput

FieldTypeDescription
locationIdID!
addressPostalAddressInput!

LocationCreateInput

Input for the locationCreate mutation.

FieldTypeDescription
nameLocationCreateInputName!
addressPostalAddressInput
referenceString

A custom location reference for this location. If you have a special Id for the location, set it here

LocationSequenceInput

Input for the locationSequence mutation.

FieldTypeDescription
locationIdID!

The location to change the sequence of.

sequenceInt

A number where the lower it is, the earlier the location will be in pick paths. null, to remove the sequence.

LocationSetDefaultInput

FieldTypeDescription
locationIdID

Omit this to remove the default location

LocationSetNameInput

FieldTypeDescription
locationIdID!
nameString!

LocationSetParentInput

FieldTypeDescription
locationIdID!
parentIdString

If not provided, will remove it

LocationSetReferenceInput

FieldTypeDescription
locationIdID!
referenceString

McLeodConnectAccountInput

FieldTypeDescription
nameString!

The McLeod Accessories connection 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

McLeodSendOrderInput

FieldTypeDescription
orderIdID!

ID of the order to send

connectionIdID!

ID of the RX connection

serviceNameString!

Service with which McLeod should send the order

MoneyAdjustmentInput

Input for money adjustments

FieldTypeDescription
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. You may record why a certain carrier was picked, reason for taxation etc.

valueMoneyInput!

The adjustment cost/value/price, can be negative.

NoteCreateInput

Input for the noteCreate mutation.

FieldTypeDescription
objectObjectInput!

The Jungle object to record the note against. This is the subject of the note, it can be another note!

topicNoteCreateInputTopic

An optional, short subject/title/theme for the note.

contentTypeString

The content type of this note. Can only be text/plain for now.

contentNoteCreateInputContent!

The message/contents of the note.

xids[XIDInput!]

Additional identities for the Note from an external system. i.e. A Zendesk ticket ID, a Salesforce case ID, a Shopify CommentEvent ID.

ObjectAttributesInput

FieldTypeDescription
filterString
publicBoolean

ObjectInput

Input for the object query.

FieldTypeDescription
idID!

The .id of Jungle object. You can use an XID here, however the .typename must match the XID's typename.

typenameString!

The .__typename of the Jungle object.

ObjectInputV2

Input for the object query. Make use of path instead of ID

FieldTypeDescription
pathID!

The path of Jungle object.

ObjectInputV3

Input for the object.

FieldTypeDescription
idID!

The id of the Jungle object.

typenameString

The .__typename of the Jungle object.

ObjectSubscriptionInput

Input for the object subscription.

FieldTypeDescription
pathID!

The .path of Jungle object.

typenameString!

The .__typename of the Jungle object.

OrderAllocationCreateInput

FieldTypeDescription
orderIdID!
allocationOrderAllocationInput!

Line items will always become empty, even if provided.

lineItemIds[ID!]!

ID of the line items to associate with the new allocation. Use this instead of .lineItems provided in allocation.

OrderAllocationInput

Input for a OrderConsumeAllocatedInput.allocations.

FieldTypeDescription
nameString

An optional name of the allocation. e.g. #000001-A01

methodFulfilmentMethod!

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

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.

lineItems[OrderLineItemInput!]!

The order line items in this allocation.

serviceCodeID

A service code to fulfil the line items with.

Service codes that do not offer fulfilment will be ignored.

See Query serviceList.

attributes[CustomAttributeInput!]

Allocation's custom attributes.

OrderAllocationLineItemAssociateInput

FieldTypeDescription
allocationIdID!

ID of the allocation

orderLineItemIdID!

ID of the line items to associate with the allocation. By default. an amount of 0 items will be allocated.

OrderAllocationLineItemMoveInput

FieldTypeDescription
fromAllocationLineItemIdID!

ID of the source line item

toAllocationLineItemIdID

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

quantityFloat!

Quantity to assign/move/remove

reasonString!

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

OrderAllocationSetLocationInput

FieldTypeDescription
allocationIdID!

The allocation to change the location off

locationIdID!

The location ID to set the allocation too

reasonString!

Why is allocation location being changed. Be specific, this will show in the event history.

OrderAllocationSetMethodInput

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.

OrderAllocationSetShippingAddressInput

FieldTypeDescription
allocationIdID!
shippingAddressPostalAddressInput!

OrderAllocationSplitInput

Input for the orderAllocationSplit mutation

FieldTypeDescription
fromAllocationIdID!

The ID of the allocation to split from

items[AllocationLineItemInput!]!

The allocation line items and quantities to split from the allocation

reasonString!

The reason for the split is being performed

toAllocationOrderAllocationSplitToInput

Optionally specify parameters for the new allocation such as location and method. If not provided values are copied from source allocation. If an ID is provided this method assumes you are splitting to an existing allocation and skips creating a new one.

OrderAllocationSplitToInput

Input for destination allocation when splitting. Provide an ID to use and existing allocation or emit to create a new one

FieldTypeDescription
allocationIdID

Provide and optional allocation ID to split to an existing allocation. If not provided a new allocation will be created.

methodFulfilmentMethod

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

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.

serviceCodeID

A service code to fulfil the line items with.

Service codes that do not offer fulfilment will be ignored.

See Query serviceList.

OrderAllocationSplitUnassignedInput

FieldTypeDescription
allocationIdID!
reasonString!

OrderCancelInput

Input for the orderCancel mutation.

FieldTypeDescription
orderIdID!

The ID of Jungle Order to cancel.

cancelledReasonString!

The reason the order was cancelled.

Be descriptive. "Broke during shipping.", "Charge was fraudulent" etc.

cancelledAtDateTime

You may provide the date and time the Order was cancelled.

Set it to the known cancellation time, otherwise it will default to now.

OrderConsumeAllocatedInput

Input for orderConsumeWithAllocations mutation.

FieldTypeDescription
tags[Tag!]

Tags on the order.

referenceString!

A reference, useful if you have additional ways to identify an order.

orderedAtDateTime!

When the order was created/confirmed.

billingAddressPostalAddressInput!

The mailing address associated with the payment method.

customerCustomerInput

Customer details for this order

channelIdID

The channel from where this sales order come from.

attributes[OrderCustomAttributeInput!]

Custom attributes for an order

allocations[OrderAllocationInput!]!

One or more allocation groups for the order.

These allow the order to show how it is to be fulfilled, separated by location, fulfilment method, shipping origin or destination.

There is a limit of 3 externally assigned allocations.

priceTotalMoneyInput

The total price of the line items, fulfilment, and taxes, for this order, less any discounts.

This value is not trusted, and not required by Jungle.

xids[XIDInput!]

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

OrderCustomAttributeInput

FieldTypeDescription
nameString!

❗: This is the same as ICustomAttribute.id; therefore should be considered the attribute's id!

valueString!

The string value of the attribute.

OrderLineItemAddInput

Input for the orderLineItemAdd mutation.

FieldTypeDescription
orderIdID!

ID of the sales order to add the line item to

lineItemOrderLineItemInput!
reasonString

OrderLineItemCancelInput

Input for the orderLineItemCancel mutation.

FieldTypeDescription
lineItemIdID!

ID of the specific line item to cancel

quantityFloat!

Quantity to cancel. Must be equal to or less than the remaining item quantity, and greater than 0.

reasonString!

The reason for cancellation.

OrderLineItemInput

Input for mutations that need to provide an order line item.

FieldTypeDescription
productIdID

The ID of the product the line item links to.

quantityPositiveInt!

The ordered quantity of the product.

weightWeight

The weight of an individual item in grams, if known

priceMoneyInput

The price of the individual line item

attributes[OrderCustomAttributeInput!]

Custom attributes on the line item, if any.

OrderLineItemsInput

Input for Order.lineItems

FieldTypeDescription
cancelledBoolean

Filter for items that are cancelled, or not. null for both.

OrderListAtLocationInput

Input for getting orders allocated to a location

FieldTypeDescription
locationIdID!

The ID of Jungle location where you want to see related Orders.

paginationListInput

Pagination config

OrderListFromJobInput

Input for getting orders being part of a job

FieldTypeDescription
jobIdID!
paginationListInput

OrderListUnassignedAtLocationInput

Input for the orderListUnassignedAtLocation query

FieldTypeDescription
locationIdID!

The location you are listing orders at

paginationListInput

OrderRouteInput

FieldTypeDescription
idID!

Order ID

OrderSetStatusInput

FieldTypeDescription
orderIdID!
statusString!

OrderStatusRefreshInput

FieldTypeDescription
orderIdID!

PackageInput

FieldTypeDescription
serviceCodeString!
weightGrossWeight!

PingInput

Input for ping mutation.

FieldTypeDescription
atDateTime

Time from the device/service. Optional, as Jungle will assume received time.

PostalAddressInput

FieldTypeDescription
lines[String!]!

Address lines, up to 3.

countryCodeCountryCode!
suburbString!
postalCodeString!
regionString
pointGeoPoint

The geopoint of the address, on earth

contactPersonContactPersonInput!

PrintRawInput

FieldTypeDescription
printerIdID!
formatPrintFormat!

The format being printed

contentString!

Data to submit to the printer

PrinterSetDefaultInput

FieldTypeDescription
printerIdID

Omit this to remove the default printer

ProductAttributeInput

Input for custom attributes on the product

FieldTypeDescription
idProductAttributeInputId!
valueString!

ProductCreateInput

Input for the productCreate() mutation.

FieldTypeDescription
nameProductName!

The product's name (or title).

xids[XIDInput!]

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

barcodeProductCreateInputBarcode

The identifier of the product, generally the barcode on the product. Ideally, a global trade identifier for the product. i.e, UPC, EAN, JAN, GS1 or ISBN. It is strongly recommended to provide one.

You may also provide a localised, non-global trade identifier for the product.

We recommend when a user is creating a product to get the user to scan the product barcode (allowing them to skip).

ProductDangerousGoodsInput

Input for product's dangerous goods details

FieldTypeDescription
UNNumberProductDangerousGoodsInputUNNumber!

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

ProductSetDangerousGoodsInput

Input for the productSetDangerousGoods mutation.

FieldTypeDescription
productIdID!

The Id of the product to change.

dangerousGoodsProductDangerousGoodsInput!

Product's dangerous goods details.

ProductSetDimensionsInput

Input for the productSetDimensionsInput mutation.

FieldTypeDescription
productIdID!

The Id of the product to change.

dimensionsDimensionsInput

The product's dimensions. NULL to remove.

ProductSetNameInput

Input for the productSetName() mutation.

FieldTypeDescription
productIdID!

The product identifier.

nameProductName!

The new name of the product.

descriptionString

A new description of the product. NULL to remove.

ProductSetSkuInput

Input for the productSetSku mutation.

FieldTypeDescription
productIdID!

The Id of the product to change.

skuSKU

The SKU to associate the product with. NULL to remove.

ProductSetWeightInput

Input for the productSetWeight mutation.

FieldTypeDescription
productIdID!

The Id of the product to change.

weightWeight

The product's weight (in grams). NULL to remove.

PurchaseOrderCreateInput

Input for the purchaseOrderCreate mutation.

FieldTypeDescription
referenceString!

A unique reference for the purchase.

descriptionString

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

supplierIdID

Supplier for the purchase.

lineItems[LineItemCreateInput!]

Line items for the purchase.

priceMoneyInput

Purchase order price excluding adjustments

adjustments[MoneyAdjustmentInput!]

The adjustments applied to price

totalPriceMoneyInput

Purchase order total price including adjustments

orderedFromIdID

Location where the PO was ordered from

orderedToIdID

Location where the PO ordered to

estimatedAtDateTime

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

PurchaseOrderDatesUpdateInput

Input for the purchaseOrderDatesUpdate mutation.

FieldTypeDescription
idID!

Purchase order id

estimatedAtDateTime

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

PurchaseOrderDescriptionUpdateInput

Input for the purchaseOrderDescriptionUpdate mutation.

FieldTypeDescription
idID!

Purchase order id

descriptionString!

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

PurchaseOrderInboundItemBySkuFilterInput

FieldTypeDescription
orderedToIdID

Only shows inbound item for this location

quantityFloat

Only show inbound item with greater than or equal to quantity

PurchaseOrderInboundItemBySkuInput

Input for purchaseOrderInboundItemBySku query

FieldTypeDescription
skuSKU!

Product SKU

afterNonNegativeInt

Number of results to skip over

limitPositiveInt

Number to limit the results, maximum 100

filterPurchaseOrderInboundItemBySkuFilterInput

Filter for inbound item

PurchaseOrderLineItemAddInput

Input for the purchaseOrderLineItemAdd mutation.

FieldTypeDescription
idID!

Purchase order id

lineItems[LineItemCreateInput!]

Line items for the purchase.

PurchaseOrderLineItemRemoveInput

Input for the purchaseOrderLineItemRemove mutation.

FieldTypeDescription
idID!

Purchase order id

lineItemIdID!

Line item id to remove

PurchaseOrderLineItemUpdateInput

Input for the purchaseOrderLineItemUpdate mutation.

FieldTypeDescription
idID!

Purchase order id

lineItemLineItemUpdateInput!

Line items for the purchase.

PurchaseOrderLocationUpdateInput

Input for the purchaseOrderLocationUpdate mutation.

FieldTypeDescription
idID!

Purchase order id

orderedFromIdID

Location where the PO was ordered from

orderedToIdID

Location where the PO ordered to

PurchaseOrderPriceUpdateInput

Input for the purchaseOrderPriceUpdate mutation.

FieldTypeDescription
idID!

Purchase order id

priceMoneyInput

Purchase order price excluding adjustments

adjustments[MoneyAdjustmentInput!]

The adjustments applied to price

totalPriceMoneyInput

Purchase order total price including adjustments

PurchaseOrderReceiveItemAddInput

Input for the purchaseOrderReceiveItemAdd mutation.

FieldTypeDescription
idID!

Purchase order id

qtyFloat!

The quantity to mark as received

inventoryMovementIdID

Inventory movement id

skuSKU

Product SKU

conditionString

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

toLocationIdID

Receive location

PurchaseOrderReceiveItemRemoveInput

Input for the purchaseOrderReceiveItemRemove mutation.

FieldTypeDescription
idID!

Purchase order id

receiveItemIdID!

Receive item id to remove

PurchaseOrderReceiveItemUpdateInput

Input for the purchaseOrderReceiveItemUpdate mutation.

FieldTypeDescription
idID!

Purchase order id

receiveItemIdID!

Receive item id

qtyFloat

The quantity of SKU

inventoryMovementIdID

Inventory movement id

PurchaseOrderReferenceUpdateInput

Input for the purchaseOrderReferenceUpdate mutation.

FieldTypeDescription
idID!

Purchase order id

referenceString!

A unique reference for the purchase.

PurchaseOrderSetStatusInput

Input for purchaseOrderSetStatus mutation

FieldTypeDescription
idID!

Purchase order id

statusPurchaseOrderStatus!

Status of purchase order to change to

PurchaseOrderSupplierUpdateInput

Input for the purchaseOrderSupplierUpdate mutation.

FieldTypeDescription
idID!

Purchase order id

supplierIdID!

Supplier for the purchase.

PurchaseReturnApproveInput

FieldTypeDescription
idID!

Purchase return id

PurchaseReturnCreateInput

FieldTypeDescription
supplierIdID!

The supplier to return items to.

referenceString

A visible reference for the return.

integrationReferenceString

A reference for an integration/client to use to track

PurchaseReturnLineItemReturningAddInput

FieldTypeDescription
idID!

Purchase return id

lineItemsReturning[ReturnLineItemInput!]

Line items for the purchase.

ReasonCodeCreateInput

Input for the reasonCodeCreate mutation.

FieldTypeDescription
codeString!

Must be unique within the account.

scopeString!

Must be one of the known scopes.

descriptionString

An optional description of the reason.

RelationAddInput

Input for the relationAdd() mutation.

FieldTypeDescription
nameObjectID!

The name of the relationship.

sourceObjectObjectInput!

The object to remove relations from.

targetObjectObjectInput!

The target object to remove.

RelationRemoveInput

Input for the relationRemove() mutation.

FieldTypeDescription
nameObjectID!

The name of the relationship.

sourceObjectObjectInput!

The object to remove relations from.

targetObjectObjectInput!

The target object to remove.

RelationshipGroupsInput

Input for Relationships.groups() field.

FieldTypeDescription
nameObjectID

Restrict the relationship groups to the matching name.

RetailExpressConnectAccountInput

FieldTypeDescription
nameString!

The Retail Express Connection Name

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

RetailExpressCustomerListInput

FieldTypeDescription
connectionIdID!

ID of the RX connection

lastUpdatedFromDateTime!

Only return customers who have been updated since this date

RetailExpressSendOrderInput

FieldTypeDescription
orderIdID!

ID of the order to send

connectionIdID!

ID of the RX connection

paymentMethodIdInt

Retail Express payment method ID. If none supplied, no payment information will be sent with the order

paymentReferenceString

External payment reference

ReturnLineItemInput

FieldTypeDescription
quantityFloat!

The quantity of the referenced line item to be returned.

lineItemIdID

The line item from the sale or purchase this return is for. Must provide lineItemId or sku

skuSKU

If line item is not available, the stock keeping unit this return is for. Must provide lineItemId or sku

SearchFilterEqualInput

Input for SearchFilterInput.eq.

FieldTypeDescription
valueString

The value the field must equal.

SearchFilterFullTextInput

Input for SearchFilterInput.fulltext.

FieldTypeDescription
valueString

The value to search for

methodSearchMethod

The method to search with, match exact or any

SearchFilterInInput

Input for SearchFilterInput.in.

FieldTypeDescription
values[String!]!

SearchFilterInput

Input for SearchInput.filter.

FieldTypeDescription
fieldString!

Field to filter by. Note that not all fields allow filtering!

eqSearchFilterEqualInput

Equals filter. The field value must match.

rangeSearchFilterRangeInput

Range filter. The field value must meet the range constraints.

inSearchFilterInInput

Multiple equality filter. The field value must equal one of the given values.

regexSearchFilterRegexInput

Regex search. The field must match with the given regex.

fulltextSearchFilterFullTextInput

Full text search across a given field

objectObjectInput

Filter for an object. Useful for relationships.

beginsWithSearchFilterEqualInput

Begins with filter. The field value must have the given value as prefix.

nullBoolean

Null filter. Check if current value of the field is null or not.

SearchFilterRangeInput

Input for SearchFilterInput.range.

FieldTypeDescription
ltString

Less than.

lteString

Less than or equal to.

gtString

Greater than.

gteString

Greater than or equal to.

SearchFilterRegexInput

Input for SearchFilterInput.regex.

FieldTypeDescription
valueString!

SearchInput

Input for the search query.

You must define the typenames to search upon.

FieldTypeDescription
types[SearchableType!]!

Types to limit the search too. This must be provided! Any type that implements the Searchable interface is a valid value for this field.

filter[SearchFilterInput!]

How to filter the results. Use them to eliminate results that do match the filters.

sort[SearchSortInput!]

How to sort the results. It is recommended to set sorting fields to get consistent results. 💁 You can sort on _score DESC to get results most relevant to .query.

afterNonNegativeInt

The cursor for the next set of results

limitPositiveInt

Number to limit the results, maximum 100

summarizeFields[String!]

Summarize values on these fields. This will not summarize values beyond 100 unique values. This potentially will populate SearchResult.summaries.

SearchSortInput

Input for SearchInput.sort.

FieldTypeDescription
fieldString!

Field to sort by. Not all fields allow sorting.

directionOrderingDirection!

Control the sort ordering direction

SendleCredentialsInput

Input for the sendleConnect mutation. Your integration credentials from Sendle. See https://app.sendle.com/dashboard/api_settings for details!

FieldTypeDescription
apiKeyString!

Your (or the merchants) API Key from Sendle. See https://developers.sendle.com/reference/getting-your-api-key for details!

sendleIdString!

Your (or the merchants) Sendle ID.

sendleSandboxBoolean!

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

ShipmentAddressInput

Input for Shipment origin and destination address.

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

ShipmentConfirmInput

Once ready, confirm the shipment.

If the shipment needs to go externally, this is when it will be sent externally, and on completion marked as Ready.

If the shipment is internal (managed in jungle, or is manually booked) this marks it as Ready.

FieldTypeDescription
shipmentIdID!

The shipment to confirm.

printToID

Optional, If it resolves to a printer, will be used to automatically print any shipping labels.

ShipmentCreateInput

Input for the shipmentCreate mutation.

FieldTypeDescription
connectionID

The connection to the selected service provider to use.

NOTE: This is optional, however will cause failures where the platform is unable to select the correct connection.

🤖: This is sometimes available on services, under .connectionId.

serviceID

The service the shipment is to be booked with. With out it, we'll assume you are recording a shipment you have already booked.

🤖: Query servicesList for delivery services.

allocationID

The allocation the shipment relates with.

NOTE: Needed when creating a shipment for an Order Allocation.

shipmentShipmentInput!

The shipment details to book and generate labels for the packages.

ShipmentInput

Input for creating shipments, or getting shipment / delivery prices.

FieldTypeDescription
referenceShipmentInputReference!

A client generated ID.

originShipmentAddressInput!

The origin (pick up) address of the shipment.

senderContactPersonInput!

Who is sending the shipment.

senderInstructionsShipmentSenderInstructions

Pick up/collection instructions.

destinationShipmentAddressInput!

The destination (drop off) address of the shipment.

recipientContactPersonInput!

Who is receiving the shipment.

recipientInstructionsShipmentRecipientInstructions

Delivery/drop off instructions.

packages[ShipmentPackageInput!]!

The packages in the shipment. Note:

  • You must provide at least one!
  • Cannot exceed the service provider's maximum packages constraint.

ShipmentLabelInput

Once confirmed, generate the label

FieldTypeDescription
shipmentIdID!

The shipment to label.

ShipmentPackageAddInput

FieldTypeDescription
shipmentIdID!

Id of the shipment

referenceString

An optional reference for the package.

dimensionsDimensionsInput

The size of the package.

weightGrossWeight!

The gross (total) weight of the package.

contents[ShipmentPackageContentInput!]

The contents of the package

ShipmentPackageContentInput

Input for ShipmentPackageInput.contents.

FieldTypeDescription
skuString

SKU for the product

descriptionString

A generic description on the product.

dangerousGoodsProductDangerousGoodsInput

Product's dangerous goods details.

quantityPositiveInt!
priceMoneyInput

The price of the individual product

ShipmentPackageInput

Input for ShipmentInput.packages.

FieldTypeDescription
referenceString

An optional reference for the package.

dimensionsDimensionsInput

The size of the package.

weightGrossWeight!

The gross (total) weight of the package.

contents[ShipmentPackageContentInput!]

The contents of the package

ShipmentPackageRemoveInput

FieldTypeDescription
shipmentPackageIdID!

Id of the shipment package

ShipmentPackageUpdateInput

FieldTypeDescription
shipmentPackageIdID!

Id of the shipment package

referenceString

An optional reference for the package.

dimensionsDimensionsInput

The size of the package.

weightGrossWeight

The gross (total) weight of the package.

contents[ShipmentPackageContentInput!]

The content of the package

trackingNumberTrackingNumber

The unique ID number or code assigned to this package by the service provider.

ShipmentServiceUpdateInput

Input for shipmentServiceUpdate mutation.

FieldTypeDescription
shipmentIdID!

Shipment ID

connectionID

The connection to the selected service provider to use.

NOTE: This is optional, however will cause failures where the platform is unable to select the correct connection.

🤖: This is sometimes available on services, under .connectionId.

serviceID

The service the shipment is to be booked with. If null provided existing service code will be removed. With out it, we'll assume you are recording a shipment you have already booked.

🤖: Query servicesList for delivery services.

ShipmentTrackInput

Once confirmed, start tracking

FieldTypeDescription
shipmentIdID!

The shipment to track.

ShipmentUpdateInput

Input for ShipmentUpdate mutation.

FieldTypeDescription
shipmentIdID!

Shipment ID

trackingNumberTrackingNumber

The tracking code / id / number assigned to this shipment from the service provider.

trackingUrlURL

A URL to see tracking events on the shipment.

serviceBrokerNameString

The broker used to book the shipment/delivery.

serviceProviderNameString

The name of company, or person providing the shipment services.

originShipmentAddressInput

The origin (pick up) address of the shipment.

senderContactPersonInput

Who is sending the shipment.

senderInstructionsShipmentSenderInstructions

Pick up/collection instructions.

destinationShipmentAddressInput

The destination (drop off) address of the shipment.

recipientContactPersonInput

Who is receiving the shipment.

recipientInstructionsShipmentRecipientInstructions

Delivery/drop off instructions.

ShippitConnectInput

Input for the shippitConnect mutation.

Provide your integration credentials from Shippit. Settings -> Integrations.

FieldTypeDescription
apiKeyString!

Your (or the merchants) API Key from Shippit

shippitStagingBoolean!

If this is from the Shippit staging server, or not.

SparesboxAllocationEngineVersionSetInput

Input for the sparesboxAllocationEngineVersionSet mutation

FieldTypeDescription
engineVersionString!

SupplierCreateInput

Input for the supplierCreate mutation.

FieldTypeDescription
nameString!

Unique name for the Supplier.

restrictedSupplyBoolean

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

allowedLocations[ID]

An array of location ID's to restrict this suppliers operation to

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

billingAddressPostalCodeString

Postal code of supplier's location

billingAddressRegionString

Region of the supplier's location ie: QLD

billingAddressSuburbString

Suburb of the supplier's locations ie: Fortitude Valley

billingAddressCountryCodeCountryCode

Alpha-2 country code of the supplier's location ie: AU

SupplierRemoveRestrictionsInput

FieldTypeDescription
idID!

The ID of the supplier to remove restrictions for

SupplierSetBillingAddressInput

FieldTypeDescription
idID!

The ID of the supplier to update

billingAddressLines[String!]

Address lines where supplier is located

billingAddressPostalCodeString

Postal code of supplier's location

billingAddressRegionString

Region of the supplier's location ie: QLD

billingAddressSuburbString

Suburb of the supplier's locations ie: Fortitude Valley

billingAddressCountryCodeCountryCode

Alpha-2 country code of the supplier's location e.g: AU, US, VN

SupplierSetCurrencyInput

FieldTypeDescription
idID!

The ID of the supplier to update

currencyCurrencyCode!

The name to change too

SupplierSetNameInput

FieldTypeDescription
idID!

The ID of the supplier to update

nameString!

The name to change too

SupplierSetRestrictionsInput

FieldTypeDescription
idID!

The ID of the supplier to set restrictions for

locations[ID!]!

A list of location IDs to bind this supplier too

SupplierSetTaxNumberInput

FieldTypeDescription
idID!

The ID of the supplier to update

taxNumberString!

The name to change too

SupplierUpdateInput

FieldTypeDescription
idID!

The ID of the supplier

nameString

Unique name for the Supplier.

restrictedSupplyBoolean

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

allowedLocations[ID]

An array of location ID's to restrict this suppliers operation to

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

billingAddressPostalCodeString

Postal code of supplier's location

billingAddressRegionString

Region of the supplier's location ie: QLD

billingAddressSuburbString

Suburb of the supplier's locations ie: Fortitude Valley

billingAddressCountryCodeCountryCode

Alpha-2 country code of the supplier's location ie: AU

TagAddInput

Input for the tagAdd mutation.

FieldTypeDescription
objectObjectInput!

The Jungle object to add tags to.

tags[Tag!]!

The tags to add.

TagRemoveInput

Input for the tagRemove mutation.

FieldTypeDescription
objectObjectInput!

The Jungle object to remove tags from.

tags[Tag!]!

The tags to remove.

ToggleInput

Input for the toggleEnable, and toggleDisable mutation.

FieldTypeDescription
objectObjectInput!

The object to enable or disable.

reasonString!

The reason the object is being enabled, or disabled.

UserSetDisplayNameInput

FieldTypeDescription
displayNameString!

WebhookSubscribeInput

FieldTypeDescription
urlURL!

The URL to call when a matching action happens

eventWebhookEvent!

The event this webhook will called. InventorySet as an example

WebhookUnsubscribeInput

FieldTypeDescription
urlURL!

Webhooks matching this URL will be removed from the account

XIDPartsInput

External ID in Parts

Think of external IDs as a namespace/key/value that provide an additional identity for A Jungle Object. e.g. xid:jungle/Order:oms/order/145729

A way to provide an XID in it's 3 parts.

FieldTypeDescription
typenameString!

Type of the object in Jungle. This is most likely defined by .__typename. eg: Order, Product, Location.

namespaceXIDPartsInputNamespace!

The owning system, or standards for the key space. ❗: The namespaces jungle*, and ape.cafe* are reserved.

keyXIDPartsInputKey!

The identifier type.

valueXIDPartsInputValue!

The external identifying value. i.e The value would be your auto incrementing ID, GUID, email etc.

Enums

AttachmentType

ValueDescription
png ⚠️

⚠️ DEPRECATED

Unused

AustraliaPostLabelGroupLayout

The layout specifies the number of labels per page and the size of the page. The layout must be valid for the product types of the items in the shipment.

ValueDescription
A4_1PP
ThermalLabel_A6_1PP

AustraliaPostLabelGroupType

The label group to apply the print preference.

ValueDescription
ParcelPost
ExpressPost

AustraliaPostLabelPrintFormat

Specifies print format. When using ZPL, there is a limit of 10 labels per request.

ValueDescription
PDF
ZPL

AustraliaPostLabelPrintingPreference

ValueDescription
PRINT

BarcodeSymbology

A barcode format/symbology.

ValueDescription
Code128
QR

CollectionState

ValueDescription
PickupRequested

The pick up has been request, will need to be picked

ReadyForPickup

The pick up is ready for the customer to get their items

PickedUp

The pick up has been collected by the customer

Cancelled

The pick up request has been cancelled

CurrencyCode

Our known currencies, listed by ISO-4217 code

ValueDescription
AUD

Australian dollar

CNY

Renminbi

EUR

Euro

INR

Indian rupee

IDR

Indonesian rupiah

JPY

Japanese yen

NZD

New Zealand dollar

SGD

Singapore dollar

USD

United States dollar

VND

Vietnamese đồng

DeviceWeighStatus

Device weigh status.

ValueDescription
FAULT

The balance is reporting a fault, and needs investigating.

STABLE

The balance is stable. Weight could be negative, zero, or positive.

UNSTABLE

The balance is in motion, or not in flat stable position.

OVERLOAD

The balance is overloaded and unable to report a weight.

CALIBRATE

The balance is reporting a need to be calibrated/undergo maintenance.

TARE

The balance is reporting a need to zero/tare.

DocumentFormat

ValueDescription
ZPL
PDF
PNG

EventSubscribable

Enum of event typename (matching .__typename) that can be subscribed too.

ValueDescription
AllocationSelectedToPick
AllocationPicked
Created

When an object was created in Jungle.

Modified

When an object was modified in Jungle.

DeviceWeighReport

When a device reports a weight/mass measurement.

PostalAddressChanged

When a postal/shipping address changes on an object.

OrderConsumed
OrderAllocatedEvent
ClickAndCollectCreated
ClickAndCollectReadyEvent
ClickAndCollectStateChanged
InventoryAssignment
ShipmentReady

When a shipment is ready in Jungle.

ExportFormat

ValueDescription
JSON

FulfilmentMethod

Allowed fulfilment methods

ValueDescription
AUTO

The line items will be qualified, and the fulfilment method will be automatically selected.

MANUAL

The line items will be fulfilled externally, or with a process unknown to Jungle.

DIGITAL

The line items will be fulfilled digitally, such as by sending a download link.

PICKUP

The line items will be fulfilled by the customer picking them up.

SHIP

The line items will be fulfilled by the merchant shipping them to the shipping address.

InsightEmbedType

ValueDescription
Dashboard

IntegrationAudience

ValueDescription
PRIVATE

Intended for your own account.

PUBLIC

Intended for all accounts.

InventoryMovementReceivedSortField

ValueDescription
createdAt
jobId

InventoryMovementType

Types of inventory movements for inventory

Calculating inventory for a location:

  • quantityOnHand = (RECEIVED + ADJUST + MOVE(to)) - (Move(from) + CONSUMED)
  • quantityInbound = INBOUND - RECEIVED
  • quantityAllocated = ALLOCATE - (RELEASE + CONSUMED)
  • quantityAssigned = ASSIGN - (UNASSIGN + CONSUMED)
  • quantityAvailable = quantityOnHand - quantityAllocated
ValueDescription
INBOUND

Incoming quantity, i.e. Ordered from a supplier, but has not yet been received. from: (Optional) Supplier, PurchaseOrder to: Location

RECEIVE

Receive quantity, i.e. Received SKUs ordered from supplier in the warehouse. from: (Optional) Supplier, PurchaseOrder to: Location

MOVE

Move quantity, i.e. Move stock between locations within the warehouse. from: Location to: Location

ADJUST

Adjust quantity, i.e. Manually increment/decrement quantity. to: Location

ALLOCATE

Allocate quantity, i.e. Allocate quantity from incoming order to a location from: Location to: (Optional) Allocation

RELEASE

Release previously allocated quantity, i.e. Reducing allocated quantity, before changing allocated location from: (Optional) Allocation to: Location

ASSIGN

Assign previously allocated quantity, i.e. Assigning stock to an order to a recording location, and that it is ready to be packed from: Location to: (Optional) Allocation

UNASSIGN

Unassign previously assigned quantity, i.e. Removing stock from an order and recording that it is no longer ready to be packed from: Location to: (Optional) Allocation

CONSUME

Consume quantity, i.e. Stock used to fulfill an order in a shipment or collection. It may also be used to mark a stock item as consumed. from: Location to: (Optional) Allocation

JobOperation

Allowed operations.

ValueDescription
UPDATE_PURCHASE_ORDER
UPDATE_SUPPLIER
AUTO
SCAN_PRODUCT
SCAN_PICK_LABEL
REMOVE_PRODUCT_ITEM
SCAN_LOCATION
UPDATE_QUANTITY
UPDATE_ALLOCATION
COMPLETE

JobOperationCondition

Allowed conditions for the operations

ValueDescription
JOB_PURCHASE_ORDER_UNSET

Job not yet has a purchase order set

JOB_PURCHASE_ORDER_SET

Job already has a purchase order set

JOB_SUPPLIER_UNSET

Job not yet has a supplier set

JOB_SUPPLIER_SET

Job already has a supplier set

JOB_UNDERWAY

Job's status is UNDERWAY

LOCATION_SELECTED

A location to pick from is already selected

LOCATION_UNSELECTED

A location to pick from is not yet selected

JobOperationContext

Available context for the operations.

ValueDescription
JOB_PURCHASE_ORDER

Set a purchase order to use within a job

JOB_SUPPLIER

Set a supplier to use within a job

JOB

Job, ie. configured job view screen

JOB_PRODUCT_QUANTITY

Updating available quantity for a product within a job

JOB_PRODUCT_TO_LOCATION

Put away product to a location

JOB_PRODUCT_TO_ALLOCATION

Associate product to an order

JOB_PRODUCT_ACTION

Job product action

PROCESSING

Processing

SELECT_LOCATION

Set a location for an action in job

SELECT_PICK_LOCATION

Set a location to pick items from

SELECT_PICK_LABEL

Set a pick label for the picked item

FIND_PUTAWAY_LOCATION

Set a location to putaway items to

JOB_PRODUCT_TO_PICK

Inspect the list of items to pick

JOB_PRODUCT_TO_PUTAWAY

Inspect the list of items to putaway

JobProductStatus

ValueDescription
AVAILABLE

Products that are ready to be assigned

ASSIGNED

Products that are assigned (i.e. to inventory)

PICKED

Products that are picked

PUTAWAY

Products that are putaway

COMPLETED

Products that are completed (i.e. received to inventory)

JobStatus

Allowed statuses of a Job.

ValueDescription
DRAFT

Jobs that are still in preparation, they are being composed and are not yet ready for work

READY

Jobs that are ready to be worked upon, they may not be assigned however

UNDERWAY

Jobs that are in progress

HELD

Jobs that are paused, and can be continued at a later time

COMPLETE

Jobs that are complete/closed

CANCELLED

Jobs that have been cancelled

LogSeverity

Log Severity

We use severities from, RFC5424.

ValueDescription
Emergency

System is unusable.

It is unlikely you'll encounter this.

Alert

Action must be taken immediately

Critical

Critical conditions

Error

Error conditions

Warning

Warning conditions

Notice

Normal but significant condition

Informational

Informational messages

Debug

Debug-level messages

OrderingDirection

ValueDescription
ASC

Ascending. Lower to higher.

DESC

Descending. Higher to lower.

PickMethod

Allowed pick methods.

ValueDescription
DISCRETE

Pick everything in an order allocation in one go, without a vessel.

WAVE

Pick multiple orders in one go, with a vessel (ie. tote, trolley).

PrintFormat

ValueDescription
ZPL
PDF

PurchaseOrderStatus

Various statuses that a Purchase order can represent

ValueDescription
Draft

Draft purchase order

Approved

Purchase order that is internally approved

Submitted

Purchase order that has been submitted to the supplier

Accepted

Purchase has been accepted by the supplier. Accepted PO's can be received against.

Closed

Purchase order that can no longer be modified, including any additional reconciliation processes.

Voided

The purchase order have been voided

SearchMethod

The method of search to use

ValueDescription
MATCH_ALL
MATCH_ANY

SearchableType

Enum of object typenames (matching __typename) that can be searched.

ValueDescription
Device
Fulfilment

Fulfilments. This means any fulfilment! Collections, shipments etc could return.

Location
Order
Job

Jobs. This means any Job! Pick, Pack, etc could return.

Product
ReasonCode
Shipment
Supplier
PurchaseOrder
Channel
Brand
PurchaseReturn
Webhook
InventoryMovement
Allocation
IIntegrationConnection

Integration Connections. This means any Integration Connection! This includes ApiConnection etc.

AccountUser

Search for account users

Note

All notes in the account. Remember to filter for the specific object.

Backorder

All Backorders in the account. Remember to filter for the specific object.

ServiceCategory

ValueDescription
Shipment

Provides shipping or transportation services.

Example

ShipmentStatus

States a Shipment can be in.

ValueDescription
Draft

The shipment is being draft. Nothing will happen until the shipment asked to be processed and submitted. The shipment will be validated for any obvious issues. You may not be able to confirm the shipment, if:

  • It is impossible to book as the shipment cannot be given to a carrier / service provider.
  • Invalid address, or other constraint breaches.
Confirming

The shipment is being submitted to the carrier (integration). It can go to Error, or back to Draft (look at the shipments logs & errors).

Confirmed

The shipment is confirmed/transmitted to the carrier.

Labeling

The shipment is having it's labels generated. Labeling can fail, and the shipment will go back to Confirmed.

Ready

Shipment is confirmed with the courier, has labels, and is ready for pick up (waiting upon next window, or telling the courier).

Underway

Shipment is underway.

Look at tracking events for more detailed information.

Completed

Shipment is delivered.

Cancelled

The shipment has been cancelled.

There can be many reasons:

  • Nothing has happened in a reasonable time frame.
  • It was never picked up, and never acted upon there after.
  • The customer never paid, or was issued a refund.
  • Created incorrectly.

You cannot bring a Shipment back from being cancelled. Create a new one.

ShipmentTrackingCheckpointStatus

ValueDescription
Pending

New shipments added that are pending to track, or new shipments without tracking information available yet.

InfoReceived

Carrier has received request from shipper and is about to pick up the shipment.

InTransit

Carrier has accepted or picked up shipment from shipper. The shipment is on the way.

OutForDelivery

Carrier is about to deliver the shipment, or it is ready to pickup.

AttemptFail

Carrier attempted to deliver but failed, and usually leaves a notice and will try to deliver again.

Delivered

The shipment was delivered successfully.

AvailableForPickup

The package arrived at a pickup point near you and is available for pickup.

Exception

Custom hold, undelivered, returned shipment to sender or any shipping exceptions.

Expired

Shipment has no tracking information for 30 days since added.

UnitDistance

Distance units

ValueDescription
MM

Millimeter

CM

Centimeter

UnitMass

Mass units

ValueDescription
GRAM

Gram

WebhookEvent

ValueDescription
InventorySetEvent

Triggered whenever an inventory value changes at a location for a product.

The following will be the request body:

{
  "__typename": "InventorySetEvent",
  "occurredAt": "2020-07-21T04:53:19.904Z",
  "createdBy": "user|exampleId",
  "accountId": "demo"
  "locationId": "CFOWoyDm8vTX5HWgZRqR",
  "sku": "000SKU123",
  "quantityOnHand": 2,
  "quantityAllocated": 2,
  "quantityAvailableToPromise": 0
}
ClickAndCollectReadyEvent

Triggered whenever a click-and-collect fulfilment is ready for collection.

The following will be the request body:

{
  "__typename": "ClickAndCollectReadyEvent",
  "occurredAt": "2020-07-21T04:53:19.904Z",
  "createdBy": "user|oGuKa2PztCzvkkXbdCK2",
  "accountId": "example-8vTX5",
  "orderId": "8K53aW8OH0DXr7DhMdEm",
  "locationId": "CFOWoyDm8vTX5HWgZRqR",
  "fulfilmentCollectId": "7s1fWwKejKuHG5sHX0Jv"
}
OrderAllocatedEvent

Triggered whenever an order has been allocated

The following will be the request body:

{
  "__typename": "OrderAllocatedEvent",
  "occurredAt": "2020-07-21T04:53:19.904Z",
  "createdBy": "user|oGuKa2PztCzvkkXbdCK2",
  "accountId": "example-8vTX5",
  "orderId": "8K53aW8OH0DXr7DhMdEm"
}
FulfillmentCreatedEvent

Triggered whenever an fulfillment has been created

The following will be the request body:

{
  "__typename": "FulfillmentCreatedEvent",
  "allocationId": "ej2wJrn9SHiRTG9vmrGekXNnBnD:gCcAWHSr",
  "orderId": "dEqgZliXx9T8hWnxRqgE",
  "shipmentId": "accounts/test/shipments/vdP4VbJx8ZnEI9V5fpTS",
  "subject": "accounts/test/orders/pIMM2Ann6I3wQWhEUwPR/fulfilments/K8qmGdhBv9vTT5cnD0E8",
  "createdBy": "user|gDQuE2MuxSU3RipOcEJimm8fj43b",
  "createdAt": "2021-10-18T22:51:06.465Z"
}
ShipmentReady

Triggered whenever an shipment is ready

The following will be the request body:

{
  "__typename": "ShipmentReady",
  "subject": "accounts/test/shipments/GCmWUUxTTLoGX0adeKIB",
  "trackingNumber": "ACME000123",
  "serviceProviderName": "Acme Shipping Co",
  "packages": [
    {
      "id": "accounts/test/shipments/GCmWUUxTTLoGX0adeKIB#packages.0",
      "trackingNumber": "ACME0006661"
    }
  ],
  "serviceId": "External",
  "status": "Ready",
  "createdBy": "user|gDQuE2MuxSU3RipOcEJimm8fj43b",
  "createdAt": "2021-10-18T22:44:30.141Z"
}
Created
Modified
InventoryAssignment

Triggered when assigned inventory is modified in Jungle.

The following will be the request body:

{
  "__typename": "InventoryAssignment",
  "subjectTypename": "Allocation",
  "subject": "WPtanMXYq2iq5pS8lN8HYtRfJ9lyEsyiInm0:ADAVx4DG",
  "inventoryAssignmentSummary": [
    {
      "sku": "890052-B01",
      "quantityAllocated": 3,
      "quantityAssigned": 2
    },
    {
      "sku": "890112-LS",
      "quantityAllocated": 2,
      "quantityAssigned": 2
    }
  ],
  "attributes": [],
  "createdBy": "User|7R7zTPmbzTHK6dbssZKAfT9EsISj",
  "createdAt": "2023-06-08T05:03:15.974Z"
}
ShipmentTrackingUpdated

Triggered when Jungle receives updated tracking information for a Shipment (or one of its packages).

The following will be the request body:

{
  "occurredAt": "2023-09-05T07:37:31.037Z",
  "tracking": {
    "checkpoints": [
      {
        "locationString": "Timbuktu",
        "message": "Your shipment has arrived"
      }
    ]
  },
  "trackingNumber": "CPB6QHZ0242558",
  "subject": "accounts/test/shipments/qdfimAnqWHQp6sft5ZEe",
  "__typename": "ShipmentTrackingUpdated",
  "aid": "test",
  "createdBy": "jungle",
  "createdAt": "2023-09-05T07:37:31.037Z"
}

Scalars

BarcodeInput

Barcode Value Constraints: max length 50. E.g. 123456789012, 12350, KD-091, 9780884271956

Boolean

The Boolean scalar type represents true or false.

CountryCode

ISO 3166-1 encoding list of the countries which are assigned official codes. http://en.wikipedia.org/wiki/ISO_3166-1#Current_codes

CustomAttributeInputId

The attribute's ID. Constraints: pattern /^[a-zA-Z0-9]{3,32}$/, trimmed of whitespace. E.g. brand, size, CustomerMembership

Date

DateTime

A date-time string at UTC, such as 2007-12-03T10:15:30Z, compliant with the date-time format outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for representation of dates and times using the Gregorian calendar.

Float

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

GeoPoint

A latitude/longitude pair of coordinates. Expressed as an object. Latitude and longitude will ALWAYS be set if the value is not NULL! As an input it can be comma separated numbers in a string.

HexColorCode

A field whose value is a hex color code: https://en.wikipedia.org/wiki/Web_colors.

ID

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

IDFromClient

A value useable for object Ids. Value can contain a-Z, 0-9, - and be 6-64 characters. Constraints: pattern /^[a-zA-Z0-9-]{6,64}$/. E.g. R8S6m9gxIpzVq1Xn1Z0M, kebab-case, 000001

Int

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

IntegrationCreateInputId

A unique identifier for the integration. e.g: AcmeCorp, A234-Asd Constraints: pattern /^[A-Za-z0-9\-]{6,64}$/. E.g. AcmeCorp, A234-Asd

LocationCreateInputName

Constraints: min length 1, trimmed of whitespace.

MoneyInput

An amount of a currency code. Provide .currency as a known ISO 4217 code of the currency, and .amount whole number shifted by decimal places if a decimal currency

NonNegativeInt

Integers that will have a value of 0 or more.

NoteCreateInputContent

The message/contents of the note. Constraints: min length 1, max length 2000. E.g. I'm making a note here. Huge success!

NoteCreateInputTopic

An optional, short subject/title/theme for the note. Constraints: min length 1, max length 100. E.g. Outcome, next steps, Attn: John Doe

ObjectID

A value useable for field names and Ids. Value can contain "A-Z", "0-9", "-", "_" be 6-64 characters.

PositiveInt

Integers that will have a value greater than 0.

ProductAttributeInputId

Constraints: pattern /^[a-zA-Z0-9]{3,32}$/. E.g. brand, size, custom1

ProductCreateInputBarcode

The identifier of the product, generally the barcode on the product. Ideally, a global trade identifier for the product. i.e, UPC, EAN, JAN, GS1 or ISBN. It is strongly recommended to provide one.

You may also provide a localised, non-global trade identifier for the product.

We recommend when a user is creating a product to get the user to scan the product barcode (allowing them to skip). Constraints: max length 50. E.g. 123456789012, 12350, KD-091, 9780884271956

ProductDangerousGoodsInputUNNumber

UN number, a four-digit number that identifies hazardous materials, and articles in the framework of international transport. Constraints: pattern /^[0-9]{4}$/. E.g. 0021, 2678, 3262

ProductName

Product Name Constraints: max length 150. E.g. Heavy Plastic Chisel, Spyson XY42 Pure Awesome+Cool ninja star (Black/Nickel)

SKU

Stock Keeping Unit

You may use any SKU format that you prefer.

However consider these handy tips:

  1. Keep SKUs as short as possible. Jungle won't accept SKU's over 50 characters long.
  2. Avoid overloading your SKUs with meaning (exploding the length).
  3. Reusing the product's GTIN can be effective to avoid rebarcoding.

SKUs may be letters, numbers, dashes and hyphens, with no whitespace. Constraints: pattern /^[\p{L}\p{Nd}\p{Pc}\p{Pd}\p{Ps}\p{Pe}\p{Zs}.+/]{1,60}$/, trimmed of whitespace. E.g. WC-JT-MD-PP, CM53_W, 123456789905, CAT+HAT, ABC/123

ShipmentInputReference

A client generated ID. Constraints: max length 128.

ShipmentRecipientInstructions

Delivery/drop off instructions. Constraints: max length 200.

ShipmentSenderInstructions

Pick up/collection instructions. Constraints: max length 100.

String

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Tag

A small informational string to place against an object. Tags can be 1-40 characters, any lower or upper case letter, &, space, and emojis.

TrackingNumber

A unique container identifier.

Also known as codes, shipping serial etc.

Generally used to allow monitoring of shipment movements or events.

NOTE: How tracking numbers look vary a lot between delivery and logistic providers. Constraints: min length 3, max length 60. E.g. 4221736293, CPBBGRZ0284775001, PPRWTMYXEBTB1

URL

A field whose value conforms to the standard URL format as specified in RFC3986: https://www.ietf.org/rfc/rfc3986.txt.

Weight

Grams. Any partial number will round up to the nearest whole gram.

XIDInput

External ID

Think of external IDs as a {namespace}/{key}/{value} that provide an additional identity for a Jungle object.

The first section (namespace) should identify the source system/app in some unique and meaningful way. e.g. "shopify", "shopify-{my-shop-domain}", "Custom_INTEGRATION". The second section (key) should identify the ID in a meaningful way to the source system, like the model or resource name. e.g. "Product", "reference", "MyOrderId". The third section (value) should be the unique value of the external ID. i.e The value would be your auto incrementing ID, GUID, email etc.

❗: The namespaces jungle*, and ape.cafe* are reserved. Constraints: pattern /^xid:jungle\/([a-zA-Z])+:([a-z0-9.-]){3,40}\/([a-z0-9-]){2,40}\/(.){1,120}$/, trimmed of whitespace. E.g. xid:jungle/Order:oms/oid/1, xid:jungle/Product:shopify/gid/gid://shopify/Product/143153453455, xid:jungle/Product:myims/sku/123

XIDPartsInputKey

The identifier type. Constraints: pattern /^[a-z0-9-]{2,40}$/, min length 2, max length 40, trimmed of whitespace. E.g. pid, order, e-mail

XIDPartsInputNamespace

The owning system, or standards for the key space. ❗: The namespaces jungle*, and ape.cafe* are reserved. Constraints: pattern /^[a-z0-9.-]{3,40}$/, min length 3, max length 40, trimmed of whitespace. E.g. myerp, shopify-shop-domain, my-domain.com

XIDPartsInputValue

The external identifying value. i.e The value would be your auto incrementing ID, GUID, email etc. Constraints: min length 1, max length 120, trimmed of whitespace. E.g. 834678, qNU7kamDIOvi7nCt, eg@example.local

Interfaces

IAction

An action the current user may or may not be able to undertake.

❗: Always check if .enabled is true before performing the action.

FieldArgumentTypeDescription
codeID!

A unique code for the action. Used to identify the action in the UI.

nameString!

The action's human readable name.

priorityInt!

The order in which the action should be displayed in the UI. Higher numbers are displayed first (higher priority).

enabledBoolean!

If the action is possible, this needs to be true.

reasonString

A possible reason why the action is, or is not possible.

IAllocatableLineItem

FieldArgumentTypeDescription
idID!
skuSKU
quantityFloat!
productName ⚠️String

⚠️ DEPRECATED

Use product instead.

productProduct

IAuthor

FieldArgumentTypeDescription
displayNameString

If known, just a simple name of the note author

photoUrlURL

If known, just a simple avatar url representing the author

ICapability

A capability represents the ability to do something in the real world. These represent skills/processes that are provided at certain locations, or by certain services.

FieldArgumentTypeDescription
idID!
nameString!
nounString!
descriptionString!
constraintsCapabilityConstraints

ICapabilitySubject

Implementing types are the subject of capabilities.

FieldArgumentTypeDescription
capabilities[ICapability!]

The capabilities the subject has!

IContact

FieldArgumentTypeDescription
nameString
emailString
phoneString

ICustomAttribute

Custom attributes will always have an Id.

FieldArgumentTypeDescription
idString!

The attribute's ID. CustomerMembership, AcmeCode etc. It MUST be unique.

nameString

The attribute's name. A human friendly description for the attributes. Often this is omitted for system data.

valueString

Any string value.

IDoNotTrack

Do not track!

This means the event should not be recorded, you may only react to it.

FieldArgumentTypeDescription
DNTBoolean!

If true, do not save/keep this object. It generally will be true.

IDocumentationSubject

The implementing type is the parent/subject of documentation. Things like collections, shipments, name tags etc.

FieldArgumentTypeDescription
documentationDocumentationResult!
inputDocumentationInput!

IDocumentationSupported

FieldArgumentTypeDescription
documentationSupported[ID!]

Id's of the supported documentation on this object.

IEvent

Something that has happened in the Jungle.

🤖: If an event happens in the Jungle and no one is subscribed to it, does it make a sound?

FieldArgumentTypeDescription
subjectID!

The .id that is the subject of the event. This is different to the source. As it may be an address changed event on a location, from a 3rd party.

You can retrieve the subject using the object() query or subscription.

createdAtDateTime!

When the event was created/occurred.

aidID

The ID of the account the event occurred within.

createdByString

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

IExternallyIdentifiable

Represents an object that can have client/external identifiers attached to it.

FieldArgumentTypeDescription
xidsExternalIdResults!

The object's known external IDs.

inputExternalIdsInput

IFulfilment

A fulfilment, a service that will get some, or all of the Order line items to the customer

FieldArgumentTypeDescription
idID!
referenceString

A custom reference for the fulfilment

orderOrder

The order this fulfilment relates to

allocationAllocation

The allocation this fulfilment relates to

lineItems ⚠️[OrderLineItem!]!

The line items in this fulfilment

⚠️ DEPRECATED

Use .lineItemConnection instead

lineItemsConnectionFulfilmentLineItemResults
serviceIService!

The service providing this fulfilment.

createdAtDateTime!

When this fulfilment was created

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

IGeoLocatable

Something that may be locatable with geo coordinates, can be geolocated.

FieldArgumentTypeDescription
pointGeoPoint

The geo point of the object.

pointAccuracyFloat

Clamped 0.0-1.0 indication of accuracy. Useful to eliminate noise in visualizations.

Examples of accuracy:

  • Manually set by a user, ~0.9.
  • Input from a device gps, ~0.8.
  • Looked up from a full postal address, ~0.7.
  • Looked up from a partial postal address, postcode or similar, ~0.4.
  • Reverse look up from an IP address, ~0.2.
  • Randomly generated, ~0.

pointAccuracy will be null when accuracy is unknown, and will be considered as < 0.

IIntegrationConnection

Any specific connection to an integration will implement this.

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 enabled (active) or not.

connectedBoolean!

Is this connection working

createdAtDateTime!

When the connection was created.

createdByString!

Who created the connection.

IInventoryMovementFrom

Source from which the Inventory comes, i.e. Came from a Supplier, PurchaseOrder, Location etc.

FieldArgumentTypeDescription
idID!

IInventoryMovementTo

Destination to where the Inventory transferred to i.e. Location, Allocation

FieldArgumentTypeDescription
idID!

IJob

A job, or task to be done.

These are physical world things, like pick, pack, move, stock take etc

FieldArgumentTypeDescription
idID!

The Job's Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

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

completedAtDateTime

When the job was completed

IJobConfiguredProductItem

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product's quantity

locationLocation

The location where product is assigned to

allocationAllocation

The allocation which product is assigned to

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

ILineItem

FieldArgumentTypeDescription
quantityFloat!
unitPriceMoney

IMutationResult

Result from a mutation/command.

FieldArgumentTypeDescription
okBoolean!

True is the result is successful, false otherwise.

logs[Log!]

IObject

An object with in Jungle.

These objects can be resolved via their .id, using the query object(input: { id: ".id" typename: "Desired__typename" }) { id __typename }.

FieldArgumentTypeDescription
idID!

The object's collection scoped identifier. It is NOT intended to be human-readable, or displayed to humans.

path ⚠️ID!

The object's globally unique identifier. This value is unique to each object in Jungle. It is NOT intended to be human-readable, or displayed to humans.

⚠️ DEPRECATED

Use .id instead.

createdAtDateTime!

The date and time of the object's creation.

IObjectWithCustomAttributes

An object that can have custom attributes stored against it.

FieldArgumentTypeDescription
attributes[ICustomAttribute!]!

Custom attributes on the object.

inputObjectAttributesInput

IOrder

FieldArgumentTypeDescription
referenceString!
lineItems[ILineItem!]!
orderedAtDateTime
completedAtDateTime

IOrderSource

Describes where and order came from

FieldArgumentTypeDescription
nameString

The name of the source

IRelatable

An object that has relationships.

FieldArgumentTypeDescription
relationsRelationships

Relationships the object has.

IReturn

Items to be returned to a supplier, or by a customer.

FieldArgumentTypeDescription
idID!
approvedBoolean

If this return is approved.

approvedAtDateTime

The date this return was approved.

lineItemsReturningReturnLineItemResults

The line items being/to be returned.

IService

A service provided by an organisation.

Such as delivery, inventory and pack, etc.

The provider could be you (where ever it is not specified), us (Jungle Commerce), or a 3rd party (Courier 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

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

categories[ServiceCategory!]

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

connectionIdID

If provided by an integration, this will be the connection ID this service came from.

integrationIdID

The integration ID of the provider

ITaggable

A type that can have tags on it, which is most types.

FieldArgumentTypeDescription
tags[Tag!]

A list of tags(Tag). Use them for classification, marking etc. You can tag with letters, numbers, and emojis! "🇦🇺", "🚀", "express", "Stop and inspect", "100", etc.

Limited to 20 tags.

IToggleable

An object that can be toggled, enabled/disabled.

Controls if the object is used in processes or not.

FieldArgumentTypeDescription
enabledBoolean!

If this is enabled or not. Defaults to true.

Scannable

Something that can be scanned to be identified

FieldArgumentTypeDescription
barcode ⚠️String

The barcode on the object, identifying it

⚠️ DEPRECATED

Use barcodes instead.

barcodes[String]

Barcodes that can be scanned that may identify the object.

Searchable

This marks a type as searchable.

See the search query.

FieldArgumentTypeDescription
idID!

The searchable object's ID

Unions

AllocationSource

TypeDescription
OrderA sales order... A request for items to be fulfilled to a customer.
PurchaseReturnA request to return items from a supplier.

AttachmentUploadTokenResult

Result for the attachmentUploadToken query.

TypeDescription
UploadTokenA one time upload token.

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

AuthKeyLoginResult

TypeDescription
AuthKeyAuthenticatedThe authkey and pin are valid
AuthKeyNotFoundErrorThe authkey doe not exist
AuthKeyInvalidPinErrorThe authkey's pin does not match the provided pin.
AuthKeyPinReset

AuthSwitchAccountResult

TypeDescription
AuthSwitchAccountAuthenticated
AuthSwitchAccountDenied

DocumentationPrintResult

Result for the documentationPrint mutation.

TypeDescription
DocumentationNotAvailableThe requested documentation while supported, is not available.
PrinterNotFoundErrorThe printer does not exist
PrintSubmittedThe print has been submitted

DocumentationResult

TypeDescription
DocumentationNotSupportedThe requested documentation is not supported.
DocumentationNotAvailableThe requested documentation while supported, is not available.
DocumentationAn actual documentation file.

ExportResult

TypeDescription
ExportSubmitted
ExportCreated
ExportFailure

InventoryAllocateResult

Result for the inventoryAllocate mutation

TypeDescription
LocationNotFoundResult for when a given location Id does not map to a Location
InventoryAllocatedTriggered when inventory was successfully allocated inr the `inventoryAllocate` mutation.
InventoryAlreadyAllocatedThe inventory was allocated in previous `inventoryAllocate` mutation!
MutationFailureResult when the mutation/command failed.
MutationSuccessResult when the mutation/command was successfully accepted.

InventoryAllocationsClearResult

Results for the inventoryAllocationsClear mutation

TypeDescription
InventoryNotFoundResult when inventory is not found.
InventoryAllocationsClearedResult for the `inventoryAllocationsClear` mutation
MutationFailureResult when the mutation/command failed.
MutationSuccessResult when the mutation/command was successfully accepted.

InventoryMoveResult

Results for the inventoryMove mutation.

InventoryNotFound, will happen when the from location & SKU does not exist. LocationNotFound, will happen when the to location does not exist. InventoryMoved, when the SKU quantity was moved.

TypeDescription
InventoryNotFoundResult when inventory is not found.
LocationNotFoundResult for when a given location Id does not map to a Location
InventoryMovedThe inventory was moved from the location to the destination
MutationSuccessResult when the mutation/command was successfully accepted.
MutationFailureResult when the mutation/command failed.

JobConfiguredAllocationPutAwayLocationResult

TypeDescription
LocationAn important place that matters to your business.

JobConfiguredLocationPutAwayResult

TypeDescription
LocationAn important place that matters to your business.

JobPackSetAllocationShippingAddressResult

TypeDescription
JobNotFoundResult for when a given job Id does not map to a Job
AllocationNotFoundThe provided Allocation Id could not be found
JobPackAllocationShippingAddressSet

JobPackSkuResults

TypeDescription
JobNotFoundResult for when a given job Id does not map to a Job
JobAllocationNotFoundResult for when a given allocation Id does not map to any allocation in a Job
JobPackSkuResult

JobPickSkuResult

TypeDescription
JobNotFoundResult for when a given job Id does not map to a Job
JobPickedSku

LocationRelatedListResult

Result for queries related to a location

TypeDescription
LocationNotFoundResult for when a given location Id does not map to a Location
LocationListResult

LocationSetParentResult

Result for queries related to a location

TypeDescription
LocationNotFoundResult for when a given location Id does not map to a Location
LocationSetParent

OrderAllocationSetLocationResult

Possible outcomes for the allocationSetLocation mutation.

AllocationNotFound: When the allocation does not exist. LocationNotFound: When the location does not exist. AllocationChangeForbidden: When the allocation can no longer be altered, moved, reallocated. AllocationMoved: When the allocation was moved, or has a location assigned.

TypeDescription
AllocationNotFoundThe provided Allocation Id could not be found
LocationNotFoundResult for when a given location Id does not map to a Location
OrderAllocationChangeForbiddenThe allocation can not be modified.
OrderAllocationMovedThe allocation was moved/assigned a location.
MutationFailureResult when the mutation/command failed.

OrderAllocationSetShippingAddressResult

TypeDescription
OrderNotFound
AllocationNotFoundThe provided Allocation Id could not be found
OrderAllocationSetShippingAddress

OrderCancelResult

The possible outcomes for the orderCancel mutation.

TypeDescription
OrderNotFound
OrderCancellationForbiddenOutcome for the `orderCancel` mutation.

The order can not be cancelled.

OrderCancelledTriggered when an Order is cancelled.

PrintResult

TypeDescription
PrinterNotFoundErrorThe printer does not exist
PrintSubmittedThe print has been submitted

RelationshipEdge

TypeDescription
RelationshipGroupToManyA relationship that can have more than one member.
Fill 1

Can't find what you're looking for?

Contact Us