GraphQL Reference

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

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

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

Table of Contents

Query

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

FieldArgumentTypeDescription
todayDate!

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

nowDateTime!

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

idEncodeID!

Encode an ID. Generally used for composite IDs.

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

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

⚠️ DEPRECATED

unused. do not use.

idID!
objectIObject

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

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

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

inputObjectInput!
tagListTagListResult!
allocationAllocation

Get a specific Allocation using it's Id.

allocationIdID!

The Allocation's .id

backorderBackorder

Get a specific Backorder using it's Id.

backorderIdID!

The Backorder's .id

billBill

Get a specific Bill using it's Id.

billIdID!

The Bill's .id

billOfMaterialsBillOfMaterials

Get a specific BillOfMaterials using it's Id.

billOfMaterialsIdID!

The BillOfMaterials's .id

brandBrand

Get a specific Brand using it's Id.

brandIdID!

The Brand's .id

channelChannel

Get a specific Channel using it's Id.

channelIdID!

The Channel's .id

channelProductChannelProduct

Get a specific ChannelProduct using it's Id.

channelProductIdID!

The ChannelProduct's .id

companyCompany

Get a specific Company using it's Id.

companyIdID!

The Company's .id

contactContact

Get a specific Contact using it's Id.

contactIdID!

The Contact's .id

customerCustomer

Get a specific Customer using it's Id.

customerIdID!

The Customer's .id

lineItemLineItem

Get a specific LineItem using it's Id.

lineItemIdID!

The LineItem's .id

locationLocation

Get a specific Location using it's Id.

locationIdID!

The Location's .id

noteNote

Get a specific Note using it's Id.

noteIdID!

The Note's .id

orderOrder

Get a specific Order using it's Id.

orderIdID!

The Order's .id

productProduct

Get a specific Product using it's Id.

productIdID!

The Product's .id

productFamilyProductFamily

Get a specific ProductFamily using it's Id.

productFamilyIdID!

The ProductFamily's .id

purchaseOrderPurchaseOrder

Get a specific PurchaseOrder using it's Id.

purchaseOrderIdID!

The PurchaseOrder's .id

purchaseOrderImportPurchaseOrderImport

Get a specific PurchaseOrderImport using it's Id.

purchaseOrderImportIdID!

The PurchaseOrderImport's .id

purchaseReturnPurchaseReturn

Get a specific PurchaseReturn using it's Id.

purchaseReturnIdID!

The PurchaseReturn's .id

reasonCodeReasonCode

Get a specific ReasonCode using it's Id.

reasonCodeIdID!

The ReasonCode's .id

receiveItemReceiveItem

Get a specific ReceiveItem using it's Id.

receiveItemIdID!

The ReceiveItem's .id

returnReturn

Get a specific Return using it's Id.

returnIdID!

The Return's .id

supplierSupplier

Get a specific Supplier using it's Id.

supplierIdID!

The Supplier's .id

transferTransfer

Get a specific Transfer using it's Id.

transferIdID!

The Transfer's .id

currencyCurrency!

Get currency information.

codeCurrencyCode!
currencies[Currency!]!

Get enabled currencies.

moneyDebugMoney

Debug & understand money behavior using this.

moneyMoneyInput!
geoCodeGeoCodeResult

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

inputGeoCodeInput!
attachment ⚠️Attachment

Retrieve an attachment.

⚠️ DEPRECATED

Use the object query instead.

attachmentIdID!
attachmentList ⚠️AttachmentListResult

Retrieve attachments of a specific type for an object.

⚠️ DEPRECATED

Use the search query with a parent filter instead.

inputAttachmentListInput!
attachmentListV2AttachmentListV2Result

List attachments of a specific object.

inputAttachmentListV2Input!
attachmentUploadTokenAttachmentUploadTokenResult

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

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

See /docs/usage/attachments for workflow details.

inputAttachmentUploadTokenInput!
documentationSupportedDocumentationSupportedResult!

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

inputDocumentationSupportedInput!
whoamiWhoAmIResult

Who am I?

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

authKeyAuthKey

Retrieve an authkey

keyIdID!
authKeyListAuthKeyListResult!
inputAuthListKeysInput
authKeyLoginAuthKeyLoginResult!

Login with an auth key (name tag) and pin

inputAuthKeyLoginInput!
authSwitchAccountAuthSwitchAccountResult!

Switch to another account you have access to

inputAuthSwitchAccountInput!
defaultsDefaults!

Useful user defaults

accountSelectedAccount

Retrieve the current account, if one has been selected

accountListAccountListResult!

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

accountUser ⚠️AccountUser

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

⚠️ DEPRECATED

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

userIdID!
accountUserList ⚠️AccountUserListResult!

List your account's users

⚠️ DEPRECATED

Use search() query instead

inputListInput
user ⚠️User

If authenticated, returns the current user/you.

⚠️ DEPRECATED

Use whoami() query instead

addressValidateAddressValidationResult!
inputAddressValidationInput!
addressCountryList[Country!]!

List all the known countries.

capabilityListCapabilityListResult!

Explore the known capabilities.

productBySkuProduct

Retrieve a product by SKU.

skuString!
locationList ⚠️LocationListResult!

List your account's locations

⚠️ DEPRECATED

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

inputListInput
locationListChildrenLocationRelatedListResult!

List a location's children

locationIdID!
locationListDescendantsLocationRelatedListResult!

List a location's descendants

locationIdID!
locationListOrphansLocationListResult!

List locations with no parents

inputListInput
serviceListServiceListResult!

List the services available to you.

integrationList ⚠️IntegrationListResult!

List integrations available to your selected account.

⚠️ DEPRECATED

Integrations will be accessed via search, or similar.

integrationConnectionListIntegrationConnectionListResult!

List connections to integrations already made.

inputListInput
orderList ⚠️OrderListResult!

List your account's orders

⚠️ DEPRECATED

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

inputListInput
orderListAtLocation ⚠️OrderListResult!

List your account's' orders allocated to a location

⚠️ DEPRECATED

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

inputOrderListAtLocationInput!
orderStatusInfoOrderStatusInfoResult

Order status information.

Provides information on known Order statuses.

inventoryMovementsReceivedListInventoryMovementReceivedListResult!

Retrieve inventory movements received

inputInventoryMovementReceivedListInput
inventoryInventory

Retrieve an inventory

inventoryIdID!
inventoryBySku[Inventory!]!

Retrieve a SKUs inventory

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

skuString!
childrenBoolean

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

filterInventoryFilterInput

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

channelIdID

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

inventoryByProductInventoryListResult!

Retrieve a product's inventory

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

inputInventoryByProductInput!
inventoryListAtLocationInventoryListResult!

List inventory at a location!

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

inputInventoryListAtLocationInput!
inventorySummarizeInventorySummarizeResult!

Summarize inventory for a given SKU, and location IDs.

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

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

inputInventorySummarizeInput!
inventorySummarizeByProductInventorySummarizeResult!

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

inputInventorySummarizeByProductInput!
inventoryByAllocation[InventoryByAllocation!]!

Retrieve an allocation's inventory

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

allocationIdString!
childrenBoolean
filterInventoryByAllocationFilterInput
inventoryByPurchaseOrder[InventoryByPurchaseOrder!]

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

inputInventoryByPurchaseOrderInput!
inventoryListAssignedAtLocationInventoryListAssignedAtLocationResult!

List of assigned inventory at a Location

inputInventoryListAssignedAtLocationInput!
inventoryAssignableInventoryAssignableResult!

List of inventory items that can be used for assignment

This includes unassigned and items currently assigned

inputInventoryAssignableInput!
inventoryReservedPickInventoryReservedPickResult!

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

inputInventoryReservedPickInput!
inventoryReservedPickItemsInventoryReservedPickItemsResult!

Retrieve a list of items to pick

inputInventoryReservedPickItemsInput!
inventoryReservedItemsListInventoryReservedItemsListResult!

Retrieve a list of items reserved for a specific wave

inputInventoryReservedItemsListInput!
inventoryPutAwayItemsInventoryPutAwayItemsResult!

Retrieve a list of items to put away from a location

inputInventoryPutAwayItemsInput!
inventoryPutAwayItemsByLocationInventoryPutAwayItemsByLocationResult!

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

inputInventoryPutAwayItemsInput!
inventoryUnassignedPickInventoryUnassignedPickResult!

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

inputInventoryUnassignedPickInput!
inventoryUnassignedPickItemsInventoryUnassignedPickItemsResult!

Retrieve a list of unassigned items to pick

inputInventoryUnassignedPickItemsInput!
inventoryReplenishablePickItemsInventoryReplenishablePickItemsResult!

Retrieve a list of items for replenishment

inputInventoryReplenishablePickItemsInput!
printerJunglePrinter

Retrieve a printer

printerIdID!
printerListPrinterListResult!

List your account's printers

jobListForOrder ⚠️JobListResult!

List jobs having the given order ID

⚠️ DEPRECATED

Use the search() query instead.

inputJobListForOrderInput!
orderListFromJobOrderListFromJobResult!

List all orders that is part of a job

inputOrderListFromJobInput!
jobConfigurationListJobConfigurationList!

Retrieve list of available job configurations

inputJobConfigurationListInput!
jobConfiguredLocationPutAwayJobConfiguredLocationPutAwayResult

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

inputJobConfiguredLocationPutAwayInput!
jobConfiguredPickLocationNextInventoryReservedPickResult!

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

inputJobConfiguredPickLocationNextInput!
jobConfiguredPickPreviewJobConfiguredPickPreviewResult!

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

inputJobConfiguredPickPreviewInput!
scanScannable

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

barcodeString!
purchaseOrderInboundItemBySkuPurchaseOrderInboundItemBySkuResult!

List of purchase orders with incoming quantity for an SKU

inputPurchaseOrderInboundItemBySkuInput!
searchSearchResult!

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

inputSearchInput!
collection ⚠️FulfilmentCollect

⚠️ DEPRECATED

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

inputCollectionGetInput!
collectionList ⚠️CollectionListResult!

⚠️ DEPRECATED

Use the search() query instead.

inputListInput
collectionListAtLocationCollectionListResult!
inputCollectionListAtLocationInput!
shipmentServices ⚠️ShipmentServicesResult!

⚠️ DEPRECATED

Likely shouldn't use this long term?

statisticsDailyStatisticsDailyResult!

Get daily statistics for a date range

startDateDate!

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

endDateDate!

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

timezoneString!

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

retailExpressCustomerListRetailExpressCustomerListResult

List all customers from your Retail Express account

inputRetailExpressCustomerListInput!
insightEmbeddableInsightEmbeddableDetails

Get insight which can be embedded.

inputInsightEmbeddableInput!
insightEmbeddableListInsightEmbeddableResults!

List insights which can be embedded.

inputInsightEmbeddableListInput!

Mutation

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

FieldArgumentTypeDescription
tagAddIMutationResult!

Add tags to an object.

inputTagAddInput!
tagRemoveIMutationResult!

Remove tags from an object.

inputTagRemoveInput!
attributesSetIMutationResult!

Set custom attributes on the target object.

inputAttributesSetInput!
relationAddIMutationResult!

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

inputRelationAddInput!
relationRemoveIMutationResult!

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

inputRelationRemoveInput!
toggleDisableIMutationResult!

Disables an object.

inputToggleInput!
toggleEnableIMutationResult!

Enables an object.

inputToggleInput!
pingIMutationResult!

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

inputPingInput
xidAssignIMutationResult!

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

inputExternalIdAssignInput!
xidUnassignIMutationResult!

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

inputExternalIdUnassignInput!
geoPointSetIMutationResult!

Set geo point (coordinates) on the target object.

inputGeoPointSetInput!
attachmentUploadFromUrlIMutationResult!

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

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

inputAttachmentUploadFromUrlInput!
attachmentUploadFromBase64IMutationResult!

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

inputAttachmentUploadFromBase64Input!
attachmentPrintIMutationResult!

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

inputAttachmentPrintInput!
exportExportResult!

🔍 Export data of a specific data type in Jungle.

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

⚠️ DEPRECATED

Do not use.

inputBarcodePrintInput!
documentationPrintDocumentationPrintResult!

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

inputDocumentationPrintInput!
noteCreateIMutationResult!

Create a note against an object in Jungle.

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

inputNoteCreateInput!

Mutation input for noteCreate

authKeyCreate ⚠️Boolean

⚠️ DEPRECATED

not implemented. do not use

apiKeyCreateString
inputApiKeyCreateInput!
identityCreateIdentity

Create a new identity with web access

inputIdentityCreateInput!
identityUpdateIdentity

Update an existing identity

inputIdentityUpdateInput!
accountUserUpdateAccountUserCreateResult

Upgrade an account user to a full user

inputAccountUserUpdateInput!
accountUserCreateAccountUserCreateResult

Create an account user

inputAccountUserCreateInput!
accountUserDeleteBoolean

Remove user access to an account without destroying their identity

inputAccountUserDeleteInput!
userSetDisplayNameBoolean

Update your display name.

inputUserSetDisplayNameInput!
accountUserUpgradeIMutationResult!

Upgrade account user to web user.

inputAccountUserUpgradeInput!
accountUserInviteIMutationResult!

Invite an existing user into your account.

inputAccountUserInviteInput!
accountCreateIMutationResult!
inputAccountCreateInput!

Parameters for creating a new account.

reasonCodeCreateIMutationResult!

Create a new reason code.

inputReasonCodeCreateInput!
capabilitiesSetIMutationResult!

Set capabilities on an object.

inputCapabilitiesSetInput!
capabilityConstraintsSetIMutationResult!

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

inputCapabilityConstraintsSetInput!
productCreateIMutationResult!

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

inputProductCreateInput!
productSetName ⚠️IMutationResult!

Update a products name and description.

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetNameInput!
productSetSkuIMutationResult!

Update a products SKU. Set sku NULL to remove.

inputProductSetSkuInput!
productSetDimensions ⚠️IMutationResult!

Update a product's dimensions.

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetDimensionsInput!
productSetWeight ⚠️IMutationResult!

Update a product's weight.

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetWeightInput!
productSetDangerousGoods ⚠️IMutationResult!

Update a product's dangerous goods details.

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetDangerousGoodsInput!
productSetHsCode ⚠️IMutationResult!

Set the Harmonised System Code of a product

⚠️ DEPRECATED

Use productUpdate() instead.

inputProductSetHsCodeInput!
productUpdateIMutationResult!

Update a product.

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

inputProductUpdateInput!
productFamilyCreateIMutationResult!

Create a new product family.

inputProductFamilyCreateInput!
productFamilyUpdateIMutationResult!

Update a product family.

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

inputProductFamilyUpdateInput!
locationCreateLocationCreateResult

Create a new location under your account.

inputLocationCreateInput!
locationChangeAddressBoolean

Changes the postal address of the location, if it exists

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

Set your (the current user's) default location

inputLocationSetDefaultInput!
locationSequenceIMutationResult!

Modify the sequence of a location.

inputLocationSequenceInput!
locationMigrateIMutationResult!

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

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

inputLocationMigrateInput!
channelCreateIMutationResult!

Create a new channel.

inputChannelCreateInput!
channelSetNameIMutationResult!

Change the name of a channel.

inputChannelSetNameInput!
channelSetDescriptionIMutationResult!

Change the description of a channel.

inputChannelSetDescriptionInput!
channelSetCodeIMutationResult!

Change the code of a channel.

inputChannelSetCodeInput!
integrationConnectIMutationResult!

Connect your account to an integration.

inputIntegrationConnectInput!
integrationCreateIMutationResult!

Create an integration with Jungle.

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

inputIntegrationCreateInput!
lineItemCancelIMutationResult!

Cancel a specific amount of the provided line item.

inputLineItemCancelInput!
lineItemQuantityIncrementIMutationResult!

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

inputLineItemQuantityIncrementInput!
lineItemQuantityToReceiveDecrementIMutationResult!

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

inputLineItemQuantityToReceiveDecrementInput!
lineItemQuantityToReceiveIncrementIMutationResult!

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

inputLineItemQuantityToReceiveIncrementInput!
allocationCreateIMutationResult!

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

inputAllocationCreateInput!
allocationLineItemAssociateIMutationResult!

Associate an order line item with an allocation.

inputAllocationLineItemAssociateInput!
allocationLineItemMoveIMutationResult!

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

inputAllocationLineItemMoveInput!
allocationFulfilmentAllowIMutationResult!

Allow fulfilment for the allocation.

inputAllocationFulfilmentAllowInput!
allocationFulfilmentHoldIMutationResult!

Hold fulfilment for the allocation.

inputAllocationFulfilmentHoldInput!
allocationMethodSetIMutationResult!

Change the fulfilment method of an allocation

inputAllocationMethodSetInput!
allocationSplitUnassignedIMutationResult!

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

inputAllocationSplitUnassignedInput!
backorderCreateIMutationResult!

Create a backorder against an allocation line.

inputBackorderCreateInput!

Input for backorderCreate.

backorderAssociatePurchaseOrderLineItemIMutationResult!

Associate a purchase order line with a backorder.

inputBackorderAssociatePurchaseOrderLineItemInput!
backorderDissociatePurchaseOrderLineItemIMutationResult!

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

inputBackorderDissociatePurchaseOrderLineItemInput!
backorderCancelIMutationResult!

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

inputBackorderCancelInput!
backorderQuantityUpdateIMutationResult!

Update quantity for a backorder.

inputBackorderQuantityUpdateInput!
orderConsumeWithAllocationsOrderConsumedResult!

Push an Order into Jungle with allocation groupings.

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

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

inputOrderConsumeAllocatedInput!
orderLineItemAddIMutationResult!

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

inputOrderLineItemAddInput!
orderSetFulfilmentAllowedIMutationResult!

Set an order's fulfilment allowed.

This will allow or disallow future fulfilment for the order.

inputOrderSetFulfilmentAllowedInput!
orderSetStatusOrderSetStatusResult!

Set an order's status

inputOrderSetStatusInput!
orderCancelOrderCancelResult!

Cancels an order.

You can cancel an order in the following situations:

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

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

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

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

inputOrderCancelInput!
orderAllocationCreateIMutationResult!

Creates a new allocation against an Order

inputOrderAllocationCreateInput!
orderAllocationLineItemAssociate ⚠️IMutationResult!

Associate an order line item with an allocation.

⚠️ DEPRECATED

Use allocationLineItemAssociate instead.

inputOrderAllocationLineItemAssociateInput!
orderAllocationLineItemMove ⚠️IMutationResult!

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

⚠️ DEPRECATED

Use allocationLineItemMove instead.

inputOrderAllocationLineItemMoveInput!
orderAllocationSetShippingAddressOrderAllocationSetShippingAddressResult!

Change the shipping address of an allocation

inputOrderAllocationSetShippingAddressInput!
orderAllocationSetLocationOrderAllocationSetLocationResult!

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

inputOrderAllocationSetLocationInput!
orderAllocationSetMethod ⚠️IMutationResult!

Change the fulfilment method of an allocation

⚠️ DEPRECATED

Use allocationMethodSet instead.

inputOrderAllocationSetMethodInput!
orderRouteIMutationResult!

Trigger routing logic for an order (if configured).

inputOrderRouteInput!
orderCustomerSetIMutationResult!

Set customer ID on an order.

inputOrderCustomerSetInput!
orderLineItemCancelIMutationResult!

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

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

inputOrderLineItemCancelInput!
brandCreateIMutationResult!

Create a new brand.

inputBrandCreateInput!
brandSetNameIMutationResult!

Update brand name.

inputBrandSetNameInput!
inventorySetByProductIMutationResult!

Set the inventory of a product at a location.

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

inputInventorySetByProductInput!
inventorySetBySkuInventoryCreateResult!

Set the inventory of a SKU at a location.

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

inputInventorySetBySkuInput!
inventorySetAtLocationIMutationResult!

Set the inventory at a location.

inputInventorySetAtLocationInput!
inventoryAllocateInventoryAllocateResult!

Allocate inventory at a location.

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

inputInventoryAllocateInput!
inventoryAllocationsClearInventoryAllocationsClearResult!

Clear SKU allocations at a location.

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

inputInventoryAllocationsClearInput!
inventoryAssignIMutationResult!

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

inputInventoryAssignInput!
inventoryMoveInventoryMoveResult!

Move inventory between locations.

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

inputInventoryMoveInput!
inventoryMovesIMutationResult!

Move multiple inventory between locations.

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

inputInventoryMovesInput!
inventoryUpdateBySkuIMutationResult!

Update the inventory of a SKU at a location.

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

inputInventoryUpdateBySkuInput!
inventoryMovementCreateIMutationResult!

Create an inventory movement request of a SKU

inputInventoryMovementCreateInput!
inventoryAssignmentAdjustIMutationResult!

Adjust assignment of a SKU at a location.

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

inputInventoryAssignmentAdjustInput!
inventoryReservedSequenceAdjustIMutationResult!

Adjust the sequence number on SKU at a location level.

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

Only works when the inventory is reserved for an operation.

inputInventoryReservedSequenceAdjustInput!
inventoryPreferenceUpdateIMutationResult!

Update inventory preference.

inputInventoryPreferenceUpdateInput!
printRawPrintResult!

Send raw data to a printer.

Be careful.

inputPrintRawInput!
printerSetDefaultBoolean

Sets your default printer, null to remove.

inputPrinterSetDefaultInput!
fulfilmentShipmentAdd ⚠️IMutationResult!

Create fulfilment from shipment

Adds relation to the allocation and create fulfilment from confirmed shipment

⚠️ DEPRECATED

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

inputFulfilmentShipmentAddInput!
deviceReportWeighIMutationResult!

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

inputDeviceReportWeighInput!
jobPickCreateJobPickCreateResult!

Create a picking job

inputJobPickCreateInput!
jobPackCreateJobPackCreateResult!

Create a packing job

inputJobPackCreateInput!
jobConfiguredCreateIMutationResult!

Create a configured job

inputJobConfiguredCreateInput!
jobConfiguredPickCreateIMutationResult!

Create a configured job for picking

inputJobConfiguredPickCreateInput!
jobPackSetAllocationShippingAddress ⚠️JobPackSetAllocationShippingAddressResult!

Change the shipping address on the packing job.

⚠️ DEPRECATED

Use orderAllocationSetShippingAddress instead.

inputJobPackSetAllocationShippingAddressInput!
jobPickLocationAssignJobPickLocationAssignResult!

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

inputJobPickLocationAssignInput!
jobPickSkuJobPickSkuResult!

Add picked SKU to a pick job

inputJobPickSkuInput!
jobUnpickSkuJobPickSkuResult!

Unpick a SKU in a pick job

inputJobPickSkuInput!
jobPackSkuToPackageJobPackSkuResults!

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

inputJobPackSkuToPackageInput!
jobPackAssignedAtLocationIMutationResult!

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

inputJobPackAssignedAtLocationInput!
jobUnpackSkuFromPackageJobPackSkuResults!

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

inputJobPackSkuToPackageInput!
jobPackAllocationMarkFulfilledJobPackAllocationMarkFulfilledResult!

Mark an allocation in a pack job as fulfilled

inputJobPackAllocationMarkFulfilledInput!
jobChangeStatusJobChangeStatusResult
inputJobChangeStatusInput!
jobSetPackageInfoIMutationResult!
inputJobSetPackageInfoInput!
jobConfiguredCompleteIMutationResult!

Completes a configured job

inputJobConfiguredCompleteInput!
jobConfiguredAddProductIMutationResult!

Add product by sku to a configured job

inputJobConfiguredAddProductInput!
jobConfiguredRemoveProductItemIMutationResult!

Remove a product item by sku from a configured job

inputJobConfiguredRemoveProductItemInput!
jobConfiguredProductReceivedIMutationResult!

Received product to a configured job

inputJobConfiguredProductReceivedInput!
jobConfiguredProductIncrementInventoryIMutationResult

Increment inventory using available product

inputJobConfiguredProductIncrementInventoryInput!
jobConfiguredProductReasonCodeSetIMutationResult

Set a reason code for the item

inputJobConfiguredProductReasonCodeSetInput!
jobConfiguredProductAttachmentUploadTokenCreateJobConfiguredProductAttachmentUploadTokenCreateResult

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

inputJobConfiguredProductAttachmentUploadTokenCreateInput!
jobConfiguredProductUpdateQuantityIMutationResult

Update quantity to a job product

inputJobConfiguredProductUpdateQuantityInput!
jobConfiguredProductUpdateAllocationIMutationResult

Assign available product to an allocation

inputJobConfiguredProductUpdateAllocationInput!
jobConfiguredProductAllocationAssignIMutationResult

Retrieve an allocation to assign for a given item.

inputJobConfiguredProductAllocationAssignInput!
jobConfiguredProductPickIMutationResult

Pick an item

inputJobConfiguredProductPickInput!
jobConfiguredProductPutawayIMutationResult

Putaway an item

inputJobConfiguredProductPutawayInput!
jobConfiguredProductInventoryMoveIMutationResult

Move inventory between location

inputJobConfiguredProductInventoryMoveInput!
jobConfiguredUpdatePurchaseOrderIMutationResult!

Set a purchase order to be used for the entire job

inputJobConfiguredUpdatePurchaseOrderInput!
jobConfiguredProductUpdatePurchaseOrderIMutationResult!

Override a purchase order for a specific product in job

inputJobConfiguredProductUpdatePurchaseOrderInput!
jobConfiguredUpdateSupplierIMutationResult!

Set a supplier to be used for the entire job

inputJobConfiguredUpdateSupplierInput!
jobConfiguredProductUpdateSupplierIMutationResult!

Override a supplier for a specific product in job

inputJobConfiguredProductUpdateSupplierInput!
supplierCreateIMutationResult!

Create a new supplier.

inputSupplierCreateInput!
supplierSetName ⚠️IMutationResult!

Set name on a supplier

⚠️ DEPRECATED

Use supplierUpdate instead.

inputSupplierSetNameInput!
supplierSetTaxNumber ⚠️IMutationResult!

Set tax number on a supplier

⚠️ DEPRECATED

Use supplierUpdate instead.

inputSupplierSetTaxNumberInput!
supplierSetCurrency ⚠️IMutationResult!

Set currency on a supplier

⚠️ DEPRECATED

Use supplierUpdate instead.

inputSupplierSetCurrencyInput!
supplierSetBillingAddress ⚠️IMutationResult!

Set the billing address on a supplier

⚠️ DEPRECATED

Use supplierUpdate instead.

inputSupplierSetBillingAddressInput!
supplierSetRestrictionsIMutationResult!

Set restricted locations for this supplier to operate in

inputSupplierSetRestrictionsInput!
supplierRemoveRestrictionsIMutationResult!

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

inputSupplierRemoveRestrictionsInput!
supplierUpdateIMutationResult!

Update a supplier.

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

inputSupplierUpdateInput!
purchaseOrderCreateIMutationResult!

Create a new purchase order.

inputPurchaseOrderCreateInput!
purchaseOrderLineItemAddIMutationResult!

Add line item to purchase order.

inputPurchaseOrderLineItemAddInput!
purchaseOrderLineItemUpdateIMutationResult!

Update line item on existing purchase order.

inputPurchaseOrderLineItemUpdateInput!
purchaseOrderLineItemRemoveIMutationResult!

Remove line item from purchase order.

inputPurchaseOrderLineItemRemoveInput!
purchaseOrderReferenceUpdateIMutationResult!

Update existing purchase order reference.

inputPurchaseOrderReferenceUpdateInput!
purchaseOrderDatesUpdateIMutationResult!

Update existing purchase order dates.

inputPurchaseOrderDatesUpdateInput!
purchaseOrderDescriptionUpdateIMutationResult!

Update existing purchase order description.

inputPurchaseOrderDescriptionUpdateInput!
purchaseOrderSupplierUpdateIMutationResult!

Update existing purchase order supplier.

inputPurchaseOrderSupplierUpdateInput!
purchaseOrderSplitUnreceivedLineItemsIMutationResult!

Update existing purchase order supplier.

inputPurchaseOrderSplitUnreceivedLineItemsInput!
purchaseOrderPriceUpdateIMutationResult!

Update existing purchase order prices.

inputPurchaseOrderPriceUpdateInput!
purchaseOrderLocationUpdateIMutationResult!

Update existing purchase order locations.

inputPurchaseOrderLocationUpdateInput!
purchaseOrderSetStatusIMutationResult!

Update existing purchase order status.

inputPurchaseOrderSetStatusInput!
purchaseOrderSupplierInvoiceReferenceUpdateIMutationResult!

Update existing purchase order supplier invoice reference.

inputPurchaseOrderSupplierInvoiceReferenceUpdateInput!
purchaseOrderReceiveItemAdd ⚠️IMutationResult!

Add receive item to purchase order.

⚠️ DEPRECATED

Use receiveItemReconcile instead.

inputPurchaseOrderReceiveItemAddInput!
purchaseOrderReceiveItemUpdate ⚠️IMutationResult!

Update receive item on existing purchase order.

⚠️ DEPRECATED

Use receiveItemReconcile instead.

inputPurchaseOrderReceiveItemUpdateInput!
purchaseOrderReceiveItemRemove ⚠️IMutationResult!

Remove receive item from purchase order.

⚠️ DEPRECATED

Use receiveItemUnreconcile instead.

inputPurchaseOrderReceiveItemRemoveInput!
purchaseOrderImportCreateIMutationResult!

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

inputPurchaseOrderImportCreateInput!
purchaseReturnCreateIMutationResult!

Create a new purchase return.

inputPurchaseReturnCreateInput!
purchaseReturnLineItemReturningAddIMutationResult!

Add line item to purchase return.

inputPurchaseReturnLineItemReturningAddInput!
purchaseReturnApproveIMutationResult!

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

inputPurchaseReturnApproveInput!
purchaseReturnSetFulfilmentAllowedIMutationResult!

Set purchase return's fulfilment allowed.

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

inputPurchaseReturnSetFulfilmentAllowedInput!
receiveItemCreateIMutationResult!

Receive items into inventory.

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

inputReceiveItemCreateInput!
receiveItemReconcileIMutationResult!

Reconcile a received item.

inputReceiveItemReconcileInput!
receiveItemUnreconcileIMutationResult!

Un-reconcile a received item.

inputReceiveItemUnreconcileInput!
transferCreateIMutationResult!

Transfer Create.

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

inputTransferCreateInput!
returnCreateIMutationResult!

Create a new return.

inputReturnCreateInput!
returnAcceptIMutationResult!

Mark a return as accepted.

inputReturnAcceptInput!
returnCancelIMutationResult!

Cancel a return.

inputReturnCancelInput!
returnTrackingUpdateIMutationResult!

Set tracking details for a return.

inputReturnTrackingUpdateInput!
customerCreateIMutationResult!

Create a new customer.

inputCustomerCreateInput!
customerUpdateIMutationResult!

Update a customer.

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

inputCustomerUpdateInput!
companyCreateIMutationResult!

Create a new company.

inputCompanyCreateInput!
companyUpdateIMutationResult!

Update a company.

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

inputCompanyUpdateInput!
companyCustomerAssociateIMutationResult!

Associate a customer with a company.

inputCompanyCustomerAssociateInput!
companyCustomerDisassociateIMutationResult!

Disassociate a customer from a company.

inputCompanyCustomerDisassociateInput!
channelProductCreateIMutationResult!

Create or update a channel product configuration.

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

inputChannelProductCreateInput!
channelProductDeleteIMutationResult!

Delete a channel product configuration.

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

inputChannelProductDeleteInput!
contactCreateIMutationResult
inputContactCreateInput!
contactUpdateIMutationResult

Update a contact.

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

inputContactUpdateInput!
billCreateIMutationResult!

Create a new bill.

inputBillCreateInput!
orderAllocationSplitUnassigned ⚠️IMutationResult!

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

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

NOTE: Nothing will happen if all items are assigned.

⚠️ DEPRECATED

Use allocationSplitUnassigned instead.

inputOrderAllocationSplitUnassignedInput!
orderAllocationSplitIMutationResult!

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

inputOrderAllocationSplitInput!
fulfilmentCollectCreateFulfilmentCollectCreateResult

Creates a new fulfilment collection under an order

inputFulfilmentCollectCreateInput!
fulfilmentCollectChangeStateFulfilmentCollectChangeStateResult

Change the state of a collection

inputFulfilmentCollectChangeStateInput!
fulfilmentShipmentCreate ⚠️FulfilmentShipmentCreateResult!

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

⚠️ DEPRECATED

Use the shipmentCreate() mutation instead.

inputFulfilmentShipmentCreateInput!
shipmentCreateIMutationResult!

Creates a Draft shipment.

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

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

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

inputShipmentCreateInput!
shipmentUpdateIMutationResult!

Updates a Draft shipment.

🤖: Use the shipmentPackageUpdate mutation to update shipment packages.

inputShipmentUpdateInput!
shipmentServiceUpdateIMutationResult!

Updates the service on a Draft shipment.

This will reject on shipments not in Draft.

inputShipmentServiceUpdateInput!
shipmentPackageAddIMutationResult!

Shipment package add.

Adds a package to Draft shipment.

inputShipmentPackageAddInput!
shipmentPackageRemoveIMutationResult!

Shipment package remove.

Removes a package from Draft shipment.

inputShipmentPackageRemoveInput!
shipmentPackageUpdateIMutationResult!

Shipment package update.

This updates the individual shipment package while shipment is Draft.

🤖: Use shipmentPackageAdd mutation to add new packages.

inputShipmentPackageUpdateInput!
shipmentConfirmIMutationResult!

Shipment confirmation.

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

inputShipmentConfirmInput!
shipmentLabelIMutationResult!

Shipment label.

Generate shipment label for confirmed shipment

inputShipmentLabelInput!
shipmentTrackIMutationResult!

Shipment tracking.

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

inputShipmentTrackInput!
orderStatusRefresh ⚠️IMutationResult!

Refresh status of a single order

⚠️ DEPRECATED

Order statuses are refreshed based on events in the Jungle platform

inputOrderStatusRefreshInput!
supplierProductUpdateIMutationResult!

Update a supplier product.

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

inputSupplierProductUpdateInput!
webhookSubscribe ⚠️Boolean

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

⚠️ DEPRECATED

Disabled. Contact us for alternatives.

inputWebhookSubscribeInput!
webhookUnsubscribe ⚠️Boolean

Removes any webhooks matching the given URL with in your account

⚠️ DEPRECATED

Disabled. Contact us for alternatives.

inputWebhookUnsubscribeInput!
australiaPostAccountAddIMutationResult!

Connect your Australia Post account

inputAustraliaPostCredentialsInput!
retailExpressConnectAccountIMutationResult!

Connects a RetailExpress account to your account

inputRetailExpressConnectAccountInput!
retailExpressSendOrderBoolean

Send an order to the connected Retail Express account

inputRetailExpressSendOrderInput!
amxAllocationConnectEngineIMutationResult!

Connects a AmxAllocation account to your account

inputAmxAllocationConnectEngineInput!
mcLeodConnectAccountIMutationResult!

Connects a McLeod account to your account

inputMcLeodConnectAccountInput!
mcLeodSendOrderBoolean

Sends an order to McLeod, through a nominated connection

inputMcLeodSendOrderInput!
sendleConnectIMutationResult!

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

inputSendleCredentialsInput!
shippitConnectIMutationResult!

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

inputShippitConnectInput!
starshipitConnectIMutationResult!

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

inputStarshipitConnectInput!
sparesboxAllocationEngineVersionSetIMutationResult!

Set the version of the Sparesbox allocation engine to use

inputSparesboxAllocationEngineVersionSetInput!
supplierPurchasingDetailUpdateIMutationResult!

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

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

inputSupplierPurchasingDetailUpdateInput!
supplierPurchaseOrderDistributionUpdateIMutationResult!

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

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

inputSupplierPurchaseOrderDistributionUpdateInput!
supplierOutstandingItemsDistributionUpdateIMutationResult!

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

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

inputSupplierOutstandingItemsDistributionUpdateInput!
supplierPurchaseReturnDistributionUpdateIMutationResult!

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

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

inputSupplierPurchaseReturnDistributionUpdateInput!

Subscription

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

FieldArgumentTypeDescription
nowDateTime

Broadcasts the server time every ~sec.

Useful to test your connection.

objectIObject

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

inputObjectSubscriptionInput!
eventsIEvent

Triggered when the matching event occurs.

inputEventsSubscriptionInput!

Objects

Account

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

FieldArgumentTypeDescription
idID!

The accounts id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

slugString!

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

nameString!

The name of the account.

imageImage

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

createdAtDateTime!

When the account was created.

modifiedAtDateTime

When the account was last modified.

configurationConfiguration

Configuration for this account.

provisionedBoolean!

If the account has finished the onboarding/creation process.

gs1PrefixString

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

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the account's custom attributes.

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

inputObjectAttributeInput!

AccountListResult

Result for accountList() query.

FieldArgumentTypeDescription
results[AccountListResultEdge!]!

AccountListResultEdge

FieldArgumentTypeDescription
accountAccount!

AccountUser

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

This is user relevant information in scope of the account.

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

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

AccountUserCreateResult

FieldArgumentTypeDescription
accountUserAccountUser!

AccountUserListResult

FieldArgumentTypeDescription
results[AccountUserListResultEdge!]!
pageInfoPageInfo!

Information on user list results

AccountUserListResultEdge

FieldArgumentTypeDescription
accountUserAccountUser!

Action

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

FieldArgumentTypeDescription
nameString!

The action's human readable name/title.

codeID!

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

priorityInt!

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

enabledBoolean!

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

reasonString

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

Actioned

FieldArgumentTypeDescription
actionString!
subjectID!

The object Id that was deleted.

subjectTypenameID!

The .__typename of the object the was deleted.

createdAtDateTime!

When the object (subject) was deleted.

createdByString

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

aidID

The account the object was deleted in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

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

AddressValidationResult

FieldArgumentTypeDescription
isValidBoolean

AftershipConnection

A connection between AfterShip and Jungle!

FieldArgumentTypeDescription
idID!

The connection Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The connection's name

integrationIntegration

Integration details, for branding naming etc

enabledBoolean!

If the connection is enabled.

connectedBoolean!

If it is actually connected.

createdAtDateTime!

When the connection was created.

createdByString!

Who connected the integration.

Allocation

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

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

It can also be considered a fulfilment grouping.

FieldArgumentTypeDescription
idID!

An ID for this allocation

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString

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

methodFulfilmentMethod!

The desired fulfilment method for this allocation

shippingAddressPostalAddress

The destination for these line items.

locationId ⚠️ID

⚠️ DEPRECATED

Use location instead.

locationLocation
locationForPickupLocation

The explicit pick up location

lineItems ⚠️[OrderLineItem!]!

⚠️ DEPRECATED

Use lineItemsConnection instead.

lineItemsConnectionAllocationLineItemResults
lineItemsCountInt!

The number of line items within the allocation.

lineItemsQuantityFloat!

The total number of products within the allocation.

inputAllocationLineItemQuantityInput
serviceCodeID

The service code to use to fulfil the allocation with.

serviceCodeRequestedID

The service code originally requested on the allocation.

fulfilmentAllowedBoolean!

If false, prevent allocation to be fulfilled.

fulfilledAtDateTime

If and when this allocation was fulfilled.

isFulfilledBoolean

Whether this allocation is fulfilled or not.

relationsRelationships

Relationships the allocation has.

fulfilments[IFulfilment!]
orderId ⚠️ID!

⚠️ DEPRECATED

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

sourceAllocationSource

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

actions[IAction]

Actions the current user can perform on this allocation.

inputActionInput
tags[Tag!]

Tags on the Allocation.

attributes[ICustomAttribute!]!

Custom attributes on the object.

inputObjectAttributesInput
attributeValueString

A single key from the allocation's custom attributes.

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

inputObjectAttributeInput!
createdAtDateTime!

When the allocation was created.

modifiedAtDateTime

When this allocation was modified.

activityLastAtDateTime

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

canReallocate ⚠️Boolean

If the allocation can be moved/modified

⚠️ DEPRECATED

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

AllocationAlreadyAssigned

FieldArgumentTypeDescription
messageString

AllocationAlreadyReleased

FieldArgumentTypeDescription
messageString

AllocationLineItem

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

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

quantityAssignedFloat

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

lineItem ⚠️OrderLineItem

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

⚠️ DEPRECATED

Do not use. Use .lineItemV2 instead.

lineItemV2IAllocatableLineItem

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

allocationAllocation!

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

actions[IAction!]

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

inputActionInput
createdAtDateTime!

When this allocation line item was created.

modifiedAtDateTime

When this allocation line item was modified.

tags[Tag!]

Tags on the AllocationLineItem.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
backordersBackorderResults

The backorders for this allocation

AllocationLineItemMoved

Triggered whenever an allocation line item finishes moving.

FieldArgumentTypeDescription
subjectID!

Allocation Line Item Id

allocationIdString!

Allocation Id

createdAtDateTime!

When the event was emitted.

aidID

The Id of the account the event occurred within.

keyString!

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

createdByString

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

amountFloat!

The amount changed.

AllocationLineItemResult

FieldArgumentTypeDescription
nodeAllocationLineItem

AllocationLineItemResults

FieldArgumentTypeDescription
results[AllocationLineItemResult!]!
pageInfoPageInfo!

Info on the number of allocations that can be listed

AllocationLocationSet

Triggered when a allocation's assigned location is set.

FieldArgumentTypeDescription
subjectID!

The allocation Id.

createdAtDateTime!

When the allocation method was set.

aidID
createdByString
allocationId ⚠️ID!

⚠️ DEPRECATED

Use .subject instead.

orderId ⚠️ID!

⚠️ DEPRECATED

Use .subject instead.

locationIdID!
reasonString!
locationIdPriorID
locationReferenceString
serviceCodeRequestedID

AllocationMethodSet

Triggered when the allocation method has changed.

FieldArgumentTypeDescription
subjectID!

The allocation Id.

createdAtDateTime!

When the allocation method was set.

aidID
createdByString
orderIdID!
allocationId ⚠️ID!

⚠️ DEPRECATED

Use .subject instead.

methodFulfilmentMethod!

The method the allocation was changed too.

methodPriorFulfilmentMethod
serviceCodeString
serviceCodePriorString

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

AllocationNotFound

The provided Allocation Id could not be found

FieldArgumentTypeDescription
messageString

Might explain why the allocation was not found

AllocationPicked

Emitted when all items of an allocation are picked.

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString

AllocationReadyToPack

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

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

Locations to which items required by this allocation assigned.

AllocationResult

Result for the Allocation query

FieldArgumentTypeDescription
orderOrder
allocationAllocation

AllocationResultNode

FieldArgumentTypeDescription
nodeAllocation

AllocationResults

FieldArgumentTypeDescription
results[AllocationResultNode!]!
pageInfoPageInfo!

AllocationSelectedToPick

Emitted when allocation is selected for picking.

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString

AmxAllocationConnection

A connection to the AMX Allocation Engine

FieldArgumentTypeDescription
idID!

The AMX Allocation connection's Id.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The AMX Allocation connection's name

retailExpressConnectionIdString

Connection ID for sending orders to Retail Express

mcLeodConnectionIdString

Connection ID for sending orders to McLeod

integrationIntegration

This will always be AmxAllocation for AMX Allocation connections!

enabledBoolean!

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

connectedBoolean!

Is this connection working?

createdAtDateTime!

When we connected to the engine for the first time

createdByString!

Who connected to the engine

ApiConnection

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

FieldArgumentTypeDescription
idID!

The connection's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The connection's name

integrationIntegration

Integration details, for branding naming etc

enabledBoolean!

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

connectedBoolean!

Is the connection working, or not.

createdAtDateTime!
createdByString!

AssignedInventory

FieldArgumentTypeDescription
quantityAssignedInt!
allocationIdID

Attachment

Some data that is attached to an Object in Jungle.

FieldArgumentTypeDescription
idID!

Unique attachment Id.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

type ⚠️AttachmentType!

⚠️ DEPRECATED

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

data ⚠️String!

Base64-encoded version of the attachment.

⚠️ DEPRECATED

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

tags[Tag!]

A list of tags.

asset ⚠️ID!

The asset this attachment belongs to.

⚠️ DEPRECATED

Use relations.parent instead.

createdAtDateTime!

When the attachment was created (uploaded).

modifiedAtDateTime
nameString

The name.

fileFile

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

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the attachment's custom attributes.

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

inputObjectAttributeInput!
imageImage

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

AttachmentListResult

FieldArgumentTypeDescription
results[AttachmentListResultEdge!]!

Any attachments found

pageInfoPageInfo!

Information on the number of attachments to be listed

AttachmentListResultEdge

FieldArgumentTypeDescription
cursorID
attachmentAttachment!

AttachmentListV2Result

FieldArgumentTypeDescription
results[AttachmentListResultEdge!]!

Any attachments found

pageInfoPageInfo!

Information on the number of attachments to be listed

AustraliaPostAccountAddress

FieldArgumentTypeDescription
typeString!

The classification for the address

lines[String!]!

The address lines for the address

suburbString!

The suburb for the address

postcodeString!

The postcode for the address

stateString!

The state code for the address

countryString!

The country code for the address

AustraliaPostAccountDetail

FieldArgumentTypeDescription
keyString!
valueString!

AustraliaPostConnection

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The connection's name

accountNumberString!

Australia Post customer account number

integrationIntegration

Integration details, for branding naming etc

apiKeyString!
passwordString!
testBoolean!

If this is test connection or not!

enabledBoolean!

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

connectedBoolean!

Is this connection working

createdAtDateTime!
createdByString!
validFromString

The beginning validity date when the charge account can be used

validToString

The ending validity date when the charge account can be used

addresses[AustraliaPostAccountAddress!]

One or more addresses associated with the account

details[AustraliaPostAccountDetail!]

Additional information associated with the account

postageProducts[AustraliaPostPostageProduct!]

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

expiredBoolean

Whether the charge account has an expired contract

merchantLocationIdString

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

creditBlockedBoolean

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

AustraliaPostPostageProduct

FieldArgumentTypeDescription
typeString!

The name for the postage product

groupString

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

productIdString!

The code that Australia Post uses to reference the postage product

optionsAustraliaPostPostageProductOption!

Options available for the postage product

contractAustraliaPostPostageProductContract!

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

authorityToLeaveThresholdFloat

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

shipmentFeatures[AustraliaPostPostageProductShipmentFeature!]

Additional shipment features available for the product and its corresponding prices

features[AustraliaPostPostageProductFeature!]

Additional item features available for the product and its corresponding prices

AustraliaPostPostageProductContract

FieldArgumentTypeDescription
validFromString!

The beginning validity date for when this product can be used

validToString!

The ending validity date for when this product can be used

expiredBoolean!

Whether the product can or cannot be used for this location

volumetricPricingBoolean!

Whether volumetric pricing is applicable for this product

cubingFactorFloat

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

maxItemCountInt

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

AustraliaPostPostageProductFeature

FieldArgumentTypeDescription
typeString!

A unique string that identifies the type of feature

attributes[AustraliaPostPostageProductFeatureAttribute!]

Additional attributes relevant to the feature

bundledBoolean!

Indicates whether the feature is automatically included with the product

AustraliaPostPostageProductFeatureAttribute

FieldArgumentTypeDescription
keyString!
valueString!

AustraliaPostPostageProductOption

FieldArgumentTypeDescription
authorityToLeaveOptionBoolean

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

signatureOnDeliveryOptionBoolean

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

dangerousGoodsAllowedBoolean

Whether Dangerous Goods can be sent with this postage product

AustraliaPostPostageProductShipmentFeature

FieldArgumentTypeDescription
typeString!

A unique string that identifies the type of feature

bundledBoolean!

Indicates whether the feature is automatically included with the product

AuthKey

Used for QR Code scan to login

FieldArgumentTypeDescription
idID!
barcodeString!

The raw barcode data

documentationDocumentationResult!

Documents for this authkey

inputDocumentationInput!
createdAtDateTime!

When the name tag was created.

AuthKeyAuthenticated

The authkey and pin are valid

AuthKeyInvalidPinError

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

FieldArgumentTypeDescription
attemptsRemainingInt!

AuthKeyListResult

FieldArgumentTypeDescription
results[AuthKeyListResultEdge!]!

AuthKeyListResultEdge

FieldArgumentTypeDescription
authKeyAuthKey!

AuthKeyNotFoundError

The authkey doe not exist

FieldArgumentTypeDescription
messageString!

AuthKeyPinReset

FieldArgumentTypeDescription
reasonString!

AuthSwitchAccountAuthenticated

AuthSwitchAccountDenied

FieldArgumentTypeDescription
reasonString!

Backorder

A backorder against a order allocation line

FieldArgumentTypeDescription
idID!

The backorder's unique identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

orderAllocationLine ⚠️AllocationLineItem

The order allocation line this backorder belongs to.

⚠️ DEPRECATED

Use .allocationLineItem instead.

allocationLineItemAllocationLineItem

The allocation line item this backorder belongs to.

purchaseOrderLinesPurchaseOrderLineItemResults!

The purchase order lines this backorder relates to.

quantityFloat!

The quantity specified to backorder.

quantityOrderedFloat!

The quantity ordered via purchase order lines.

purchasableBoolean!

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

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

The reason specified for the backorder.

locationLocation

The location of the backorder.

xidsExternalIdResults!

The backorder's known external IDs.

inputExternalIdsInput
enabledBoolean!

If this backorder is active.

draftBoolean!

If this backorder is a draft.

deletedBoolean!

If this backorder is deleted.

cancelledBoolean!

If this backorder is cancelled.

tags[Tag!]

Tags on the backorder.

createdByString!

The user who created the backorder.

modifiedAtDateTime

When the backorder was modified last, if at all.

createdAtDateTime!

When the backorder was created.

BackorderResults

A paginated list of backorders associated with the parent object.

FieldArgumentTypeDescription
nodes[Backorder!]!

A list of backorders. if any.

Barcode

FieldArgumentTypeDescription
dataString!

Raw data in the barcode

typeString

symbology

Bill

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

The supplier's reference for this bill.

descriptionString

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

supplierSupplier!
lineItemsLineItemResults

The line items within the bill

lineItemsCountInt!

The number of line items in the bill.

lineItemsQuantityFloat!

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

orderedToLocation

Location where the Bill is related too

priceTotalMoneyV1

Bill total price including adjustments

costs[BillCost!]

Additional named costs associated with the bill.

issuedAtDateTime
dueAtDateTime
estimatedAtDateTime

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

paidAtDateTime

When the Bill was paid.

closedAtDateTime

When the Bill was closed.

completedAtDateTime

When the Bill was completed

activityLastAtDateTime
attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the bill's custom attributes.

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

inputObjectAttributeInput!
tags[Tag!]

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

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

createdAtDateTime!

When the bill was created in Jungle.

modifiedAtDateTime!

When the Bill was last modified.

enabledBoolean!

If this bill is active, or not.

xidsExternalIdResults!

The bill's known external IDs.

inputExternalIdsInput

BillCost

Named cost associated with a bill.

FieldArgumentTypeDescription
nameString!

Name of the cost.

costMoneyV1!

The cost amount.

BillOfMaterials

BOM

FieldArgumentTypeDescription
idID!

The ID of the BOM.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

components[BillOfMaterialsComponent!]!

The components in the BOM.

createdAtDateTime!
modifiedAtDateTime!

BillOfMaterialsComponent

FieldArgumentTypeDescription
idID!
productProduct!

The product that is part of the BOM.

quantityDecimal!

The quantity of the product in the Bill of Materials.

Brand

Brand sources products for your business.

FieldArgumentTypeDescription
idID!

The brand's identifier.

path ⚠️ID!

Full path to the brand.

⚠️ DEPRECATED

Use .id instead.

nameString!

Brand's name.

shipmentSenderOverrideContactPerson

Brand sender information. Used to override shipment sender information on orders with a channel using this brand.

createdAtDateTime!

When the brand was created in Jungle.

modifiedAtDateTime

When the brand was last modified.

xidsExternalIdResults!

The brand's known external IDs.

inputExternalIdsInput
tags[Tag!]
enabledBoolean!

If this brand is active, or not.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the brand's custom attributes.

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

inputObjectAttributeInput!

Capability

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

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

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

FieldArgumentTypeDescription
idID!
nameString!

The human friendly name of the capability.

nounString!

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

descriptionString!

A clear description of what this capability represents.

constraintsCapabilityConstraints

Constraints applied to this capability.

CapabilityConstraints

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

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

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

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

FieldArgumentTypeDescription
enabledBoolean

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

weightMinWeight

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

weightMaxWeight

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

qtyMinInt

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

qtyMaxInt

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

dimensionsInnerDimensions

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

dimensionsOuterDimensions

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

dimensionsOuterMinDimensions

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

priorityInt

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

CapabilityListResult

A list of matching capabilities.

FieldArgumentTypeDescription
results[CapabilityListResultEdge!]!

The capability edges that match the query.

CapabilityListResultEdge

An edge in a capability list of results.

FieldArgumentTypeDescription
capabilityICapability!

The capability node.

Channel

A sales and/or purchasing channel.

FieldArgumentTypeDescription
idID!

The channel's identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

Tags on the channel.

codeString!

A unique code for the channel.

nameString!

Name for the channel.

descriptionString

Description for the channel.

brandBrand

Brand for the channel.

enabledBoolean!

Is this channel active.

createdAtDateTime!

When the channel was created in Jungle.

modifiedAtDateTime

When the channel was last modified.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the channel's custom attributes.

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

inputObjectAttributeInput!
xidsExternalIdResults!

The channel's known external IDs.

inputExternalIdsInput

ChannelProduct

Channel Product configuration controls product availability per sales channel.

Allows merchants to:

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

Unique identifier

path ⚠️ID!

Globally unique identifier (deprecated, use id instead)

⚠️ DEPRECATED

Use .id instead.

productProduct

The product being configured

channelChannel

The sales channel this configuration applies to

locationLocation

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

enabledBoolean!

Whether the product is available on this channel/location

quantityAvailableMaximumFloat

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

createdAtDateTime!

When the configuration was created

modifiedAtDateTime

When the configuration was last modified

createdByString!

Who created this configuration

tags[Tag!]

Tags for categorization

attributes[ICustomAttribute!]!

Custom attributes

inputObjectAttributesInput
attributeValueString

A value for a specific attribute from the custom attributes.

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

inputObjectAttributeInput!

ClickAndCollectCreated

Triggered when a FulfilmentCollect is created.

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

ClickAndCollectReadyEvent

Triggered when a FulfilmentCollect's state becomes ReadyForPickup.

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

ClickAndCollectStateChanged

Triggered when a FulfilmentCollect's state changes.

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

CollectionListResult

FieldArgumentTypeDescription
pageInfoPageInfo!

Info on the number of collections that can be listed

results[CollectionListResultEdge!]!

CollectionListResultEdge

FieldArgumentTypeDescription
collectionFulfilmentCollect!

Company

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

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

FieldArgumentTypeDescription
idID!

The company's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The company name.

customersCustomerResults

Customers associated with this company.

inputListInput
tags[Tag!]

A list of tags(Tag)

attributes[ICustomAttribute!]!

Additional custom attributes on the company.

inputObjectAttributesInput
attributeValueString

A single key from the company's custom attributes.

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

inputObjectAttributeInput!
xidsExternalIdResults!

The company's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the company was first known to Jungle.

modifiedAtDateTime

When the company was last modified.

activityLastAtDateTime

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

CompanyResultEdge

Company result edge.

FieldArgumentTypeDescription
cursorID!
companyCompany!

CompanyResults

Results for companies listing.

FieldArgumentTypeDescription
pageInfoPageInfo!
results[CompanyResultEdge!]!

Configuration

FieldArgumentTypeDescription
handheldHandheldConfiguration

Configuration applied to handheld devices.

shipmentAutoAcceptancePriceThresholds[Money!]

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

supplierPurchasingSupplierPurchasingConfiguration

Contact

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the contact.

postalAddressPostalAddress

The address of this contact.

enabledBoolean!

If this is enabled or not. Defaults to true.

pointGeoPoint

The geolocation of this contact.

pointAccuracyFloat

See IGeoLocatable.pointAccuracy for details.

tags[Tag!]

A list of tags(Tag)

attributes[ICustomAttribute!]!

Additional custom attributes on the contact.

inputObjectAttributesInput
attributeValueString

A single key from the contact's custom attributes.

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

inputObjectAttributeInput!
xidsExternalIdResults!

The contact's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the contact was first known to Jungle.

modifiedAtDateTime

When the contact was last modified.

ContactPerson

FieldArgumentTypeDescription
nameString
firstName ⚠️String

⚠️ DEPRECATED

Use name instead

lastName ⚠️String

⚠️ DEPRECATED

Use name instead

emailString
phoneString
companyNameString

ContactResultEdge

FieldArgumentTypeDescription
contactContact

ContactResults

FieldArgumentTypeDescription
pageInfoSearchPageInfo!
results[ContactResultEdge!]!

Country

A Country, and basic information on it.

FieldArgumentTypeDescription
codeCountryCode!

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

nameString!

The name of the country.

flagString!

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

alpha3String!

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

Created

Triggered when a new object is created in Jungle.

FieldArgumentTypeDescription
subjectID!

The object Id that was created.

subjectTypenameID!

The .__typename of the object the was created.

createdAtDateTime!

When the object (subject) was created.

createdByString

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

aidID

The account the object was created in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

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

Currency

A known currency that Jungle can operate with.

FieldArgumentTypeDescription
codeCurrencyCode!

The ISO 4217 code

symbolString!

The currency's native symbol

nameString!

The currency's official name

decimalDigitsInt!

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

roundingInt!

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

CustomAttributeString

String valued attributes.

FieldArgumentTypeDescription
idString!
nameString
valueString

Customer

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

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

FieldArgumentTypeDescription
idID!

The customer's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

displayNameString!

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

nameString

Customer's name

phoneString

The customer's phone number.

emailString

The customer's email address.

contactsContactResults
pointGeoPoint

The geolocation of the customer.

pointAccuracyFloat

See IGeoLocatable.pointAccuracy for details.

imageImage

An image of the customer.

tags[Tag!]

A list of tags(Tag)

attributes[ICustomAttribute!]!

Additional custom attributes on the customer.

inputObjectAttributesInput
attributeValueString

A single key from the customer's custom attributes.

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

inputObjectAttributeInput!
xidsExternalIdResults!

The customer's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the customer was first known to Jungle.

modifiedAtDateTime

When the customer was last modified.

activityLastAtDateTime

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

companiesCompanyResults

Companies this customer belongs to.

inputListInput

CustomerResultEdge

Customer result edge.

FieldArgumentTypeDescription
cursorID!
customerCustomer!

CustomerResults

Results for companies listing.

FieldArgumentTypeDescription
pageInfoPageInfo!
results[CustomerResultEdge!]!

Defaults

The current user's default values/configuration.

Is different for each account.

FieldArgumentTypeDescription
idID
locationId ⚠️ID

⚠️ DEPRECATED

secret squirrel

printerId ⚠️ID

⚠️ DEPRECATED

secret squirrel

locationDefaultLocation

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

printerDefaultJunglePrinter

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

weighDeviceDefaultDevice

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

Deleted

Triggered when an object is deleted in Jungle.

FieldArgumentTypeDescription
subjectID!

The object Id that was deleted.

subjectTypenameID!

The .__typename of the object the was deleted.

createdAtDateTime!

When the object (subject) was deleted.

createdByString

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

aidID

The account the object was deleted in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

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

Device

A device known to Jungle.

FieldArgumentTypeDescription
idID!

The Device's ID.

path ⚠️ID!

The path(Id) of this device.

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

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

nameString

The name of the device.

manufacturerString

Who manufactured the device.

productString

The product name of the device.

serialString

The device serial number.

barcode ⚠️String

The barcode on the device.

⚠️ DEPRECATED

Use .idQR instead.

capabilities[ICapability!]

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

pointGeoPoint

Where the device is on Earth.

pointAccuracyFloat

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

enabledBoolean!

If enabled or not.

reportedAtDateTime

The last time this device reported to Jungle.

createdAtDateTime!

The creation time of this device.

weighReportDeviceWeighReport

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

barcodes[String]

Known barcode values, associated with the location.

DeviceWeighReport

A weigh report from a weighing device.

FieldArgumentTypeDescription
subjectID!
statusDeviceWeighStatus

The status of the weighing device / scales / balance.

gramsWeight

The amount of grams being reported.

createdAtDateTime!

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

aidID
createdByString
DNTBoolean!

Dimensions

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

FieldArgumentTypeDescription
depthPositiveInt!

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

widthPositiveInt!

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

heightPositiveInt!

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

unitUnitDistance!

The units the distance has been measured in.

Documentation

An actual documentation file.

FieldArgumentTypeDescription
idID!

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

typeString!

The __typename of the parent object

typeId ⚠️ID!

The Id of the __typename this documentation belongs too

⚠️ DEPRECATED

Unused. Do not use.

sizeString!

The size of the documentation.

formatDocumentFormat!

The format of the documentation.

readyBoolean
createdAtDateTime!

When the documentation was created.

DocumentationNotAvailable

The requested documentation while supported, is not available.

FieldArgumentTypeDescription
messageString

DocumentationNotSupported

The requested documentation is not supported.

FieldArgumentTypeDescription
messageString

DocumentationSupported

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

FieldArgumentTypeDescription
idID!

Id of the documentation type.

nameString!

Name of the supported documentation.

descriptionString!

A desc

formatDocumentFormat!

The format of the supported documentation.

sizeString!

The size of the supported documentation.

DocumentationSupportedResult

Result for the documentationSupported query.

FieldArgumentTypeDescription
typeIsKnownBoolean
supported[DocumentationSupported!]!

ExportCreated

FieldArgumentTypeDescription
downloadUrlURL!

URL to download the export.

ExportFailure

FieldArgumentTypeDescription
messageString!

May explain why it fails

ExportSubmitted

FieldArgumentTypeDescription
idID!

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

ExternalId

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

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

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

FieldArgumentTypeDescription
idID!

The external ID's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

A list of tags.

targetIdString!

The target's ID the xid is aliasing.

targetTypenameString!

The target's typename the xid is aliasing.

namespaceString!

The first part of the xid.

keyString!

The second part of the xid.

valueString!

The third part of the xid.

xidString!

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

createdAtDateTime!

When the external ID was created in Jungle.

ExternalIdResults

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

FieldArgumentTypeDescription
nodes[ExternalId!]!

A list of External IDs. If any.

File

FieldArgumentTypeDescription
nameString

The filename.

contentTypeString

Content-Type of the file.

md5String

A base64 encoded md5 hash of the file contents.

crc32cString

A base64 encoded crc32c checksum of the file contents.

etagString

A base64 encoded etag of the file contents.

sizeInt

If known, the size in bytes of the file.

urlURL

An URL to get access to the attachment.

FulfillmentCreatedEvent

@DEPRECATED: Use Created instead!

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

⚠️ DEPRECATED

Not always available.

shipmentIdString!

FulfilmentCollect

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

stateCollectionState!

The current status of the pick up

referenceString

A merchant reference number

pickUpLocationLocation

The pick up location

orderOrder

The order this fulfilment is for.

allocationAllocation

The allocation this fulfilment relates to

lineItems ⚠️[OrderLineItem!]!

The line items to be picked up

⚠️ DEPRECATED

Use .lineItemConnection instead

lineItemsConnectionFulfilmentLineItemResults

The order line items to be picked up

serviceIService

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

createdAtDateTime!

When the pick up was created

fulfilledAtDateTime!

When the fulfilment actually happened. Defaults to .createdAt.

readyAtDateTime

When the pick up was ready for collection

pickedUpAtDateTime

When the pick up was collected

cancelledAtDateTime

When the pick up was cancelled

collectByDateTime

When the pick up must be collected by

integrationReferenceString

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

documentationDocumentationResult!

Documents for this collection

inputDocumentationInput!
tags[Tag!]

A list of tags on the fulfilment.

attributes[ICustomAttribute!]!

Additional custom attributes on the customer.

inputObjectAttributesInput
attributeValueString

A single key from the fulfilment's custom attributes.

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

inputObjectAttributeInput!
xidsExternalIdResults!

The customer's known external IDs.

inputExternalIdsInput
notesNoteResults

The notes associated with the fulfilment.

FulfilmentCollectChangeStateResult

FieldArgumentTypeDescription
fulfilmentCollectFulfilmentCollect

FulfilmentCollectCreateResult

FieldArgumentTypeDescription
fulfilmentCollectFulfilmentCollect

FulfilmentLineItem

A line item in a fulfilment.

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

FieldArgumentTypeDescription
idID!

The ID of the fulfilment line item.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

quantityFloat!
lineItemOrderLineItem
createdAtDateTime!

FulfilmentLineItemResult

FieldArgumentTypeDescription
nodeFulfilmentLineItem

FulfilmentLineItemResults

FieldArgumentTypeDescription
results[FulfilmentLineItemResult!]!
pageInfoPageInfo!

FulfilmentManual

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

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

FieldArgumentTypeDescription
idID!

The fulfilment's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString

A custom reference for the fulfilment

order ⚠️Order

The Order this fulfilment relates to.

⚠️ DEPRECATED

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

allocationAllocation

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

integrationReference ⚠️String

⚠️ DEPRECATED

Use xids instead.

lineItems ⚠️[OrderLineItem!]!

The line items in this fulfilment.

⚠️ DEPRECATED

Use .lineItemConnection instead

lineItemsConnectionFulfilmentLineItemResults
serviceCodeString

The service code providing this fulfilment.

serviceIService

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

fulfilledAtDateTime!

When the fulfilment actually happened. Defaults to .createdAt.

tags[Tag!]

A list of tags on the fulfilment.

attributes[ICustomAttribute!]!

Additional custom attributes on the customer.

inputObjectAttributesInput
attributeValueString

A single key from the fulfilment's custom attributes.

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

inputObjectAttributeInput!
xidsExternalIdResults!

The customer's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the fulfilment was created.

modifiedAtDateTime

When the fulfilment was last modified.

notesNoteResults

The notes associated with the fulfilment.

FulfilmentShipment

A shipment that has fulfilled allocation line items.

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

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

FieldArgumentTypeDescription
idID!

Id of the fulfilment

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString

A custom reference for the fulfilment.

order ⚠️Order

The order this fulfilment relates to.

⚠️ DEPRECATED

Use the .allocation.source instead

allocationAllocation

The allocation this fulfilment relates to

lineItems ⚠️[OrderLineItem!]!

The line items in this fulfilment

⚠️ DEPRECATED

Use .lineItemConnection instead

lineItemsConnectionFulfilmentLineItemResults

The order line items in this fulfilment.

serviceIService

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

fulfilledAtDateTime!

When the fulfilment actually happened. Defaults to .createdAt.

integrationReferenceString

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

shipments ⚠️[Shipment!]!

⚠️ DEPRECATED

Use .shipmentConnection instead

shipmentsConnectionFulfilmentShipmentResults

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

documentation ⚠️DocumentationResult!

Documents for this fulfilment.

⚠️ DEPRECATED

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

inputDocumentationInput!
tags[Tag!]

A list of tags on the fulfilment.

attributes[ICustomAttribute!]!

Additional custom attributes on the customer.

inputObjectAttributesInput
attributeValueString

A single key from the fulfilment's custom attributes.

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

inputObjectAttributeInput!
xidsExternalIdResults!

The customer's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the shipment fulfilment was created

modifiedAtDateTime!

When the shipment fulfilment was last modified

notesNoteResults

The notes associated with the fulfilment.

FulfilmentShipmentCreateResult

FieldArgumentTypeDescription
fulfilmentShipment ⚠️FulfilmentShipment

⚠️ DEPRECATED

Unused.

FulfilmentShipmentResult

FieldArgumentTypeDescription
nodeShipmentV2

A shipment.

FulfilmentShipmentResults

Results for shipments on a fulfilment

FieldArgumentTypeDescription
results[FulfilmentShipmentResult!]!

The shipment results

GeoCodePoint

Geo coordinates with an accuracy

FieldArgumentTypeDescription
pointGeoPoint!

lat/lng

pointAccuracyFloat!

See IGeoLocatable.pointAccuracy for details.

GeoCodeResult

FieldArgumentTypeDescription
foundGeoCodePoint

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

HandheldConfiguration

FieldArgumentTypeDescription
forceAuthenticateAfterTimePositiveInt

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

Identity

FieldArgumentTypeDescription
idID
emailString
password ⚠️String

⚠️ DEPRECATED

this should not be visible

displayNameString

Image

An image.

FieldArgumentTypeDescription
sourceURL

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

urlURL!

The URL to the image.

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

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

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

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

inputImageUrlInput
modifiedAtDateTime

When the image was last modified, if known.

InsightEmbeddableDetails

FieldArgumentTypeDescription
idID!
insightEmbedTypeInsightEmbedType!
nameString!
urlURL

InsightEmbeddableResult

FieldArgumentTypeDescription
nodeInsightEmbeddableDetails

InsightEmbeddableResults

FieldArgumentTypeDescription
results[InsightEmbeddableResult!]!
pageInfoPageInfo!

Integration

A 3rd party system or service provider known to Jungle

FieldArgumentTypeDescription
idID!

The integration's ID.

nameString!

The name of the integration

descriptionString!

A description of the integration

homeUrlURL

The homepage URL of the integration provider.

logoUrlURL

The URL to product/integration logo.

logoBgString

An optional color code for background of the logo.

setupDescriptionString

A description of the integrations setup

setupUrlURL

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

connectionLimitInt!

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

awaitPngUrlURL

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

features[String!]

IntegrationConnectionListResult

FieldArgumentTypeDescription
results[IntegrationConnectionListResultEdge!]
pageInfoPageInfo!

IntegrationConnectionListResultEdge

FieldArgumentTypeDescription
connectionIIntegrationConnection!

IntegrationConnectionSource

When an object comes from a integration connection.

FieldArgumentTypeDescription
nameString

This integration connection's name.

connectionIIntegrationConnection

The connection the object came from.

IntegrationListResult

FieldArgumentTypeDescription
results[IntegrationListResultEdge!]!

IntegrationListResultEdge

FieldArgumentTypeDescription
integrationIntegration!

IntegrationPrivate

Private integration information.

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

FieldArgumentTypeDescription
idID!

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

secretString!

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

apiKeyString!

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

audienceIntegrationAudience

The audience this integration is intended for.

createdAtDateTime!

Inventory

Inventory for a specific SKU at a location.

FieldArgumentTypeDescription
idID!

Inventory Id

skuString!

The stock keeping unit.

This can be any unique identifier within your business.

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

conditionString

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

locationLocation

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

quantity ⚠️Int!

A copy of quantityOnHand.

⚠️ DEPRECATED

Use quantityOnHand, though this isn't going anywhere

quantityOnHandInt!

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

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

quantityAllocatedInt!

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

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

quantityAssignedInt!

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

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

quantityAvailableFloat!

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

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

quantityAvailableToPromiseFloat!

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

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

quantityInboundFloat!

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

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

quantityOrderedFloat!

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

quantityBackorder ⚠️Float!

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

⚠️ DEPRECATED

Use "quantityBackordered" for a summary of backordering instead

quantityBackorderedFloat!

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

quantityReconciledFloat!

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

quantityUnreconciledFloat!

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

createdAtDateTime!

When Jungle first started tracking this SKU at the location.

productProduct

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

InventoryAllocated

Triggered when inventory was successfully allocated inr the inventoryAllocate mutation.

FieldArgumentTypeDescription
subjectID!

The inventory Id.

createdAtDateTime!
aidID
createdByString
skuString!
locationId ⚠️ID!

⚠️ DEPRECATED

Look at the event source?

allocationKeyID!

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

quantityAllocatedInt!

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

InventoryAllocationsCleared

Result for the inventoryAllocationsClear mutation

FieldArgumentTypeDescription
clearedBoolean!

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

InventoryAlreadyAllocated

The inventory was allocated in previous inventoryAllocate mutation!

FieldArgumentTypeDescription
allocationKeyID!

The inventory has already been allocated using the provided key!

InventoryAlternative

An alternative location to pick the item from.

FieldArgumentTypeDescription
locationLocation

InventoryAlternativesResult

FieldArgumentTypeDescription
pageInfoSearchPageInfo!
results[InventoryAlternative]!

InventoryAssignableResult

Result for the inventoryAssignable query.

FieldArgumentTypeDescription
results[InventoryItemResultEdge!]!

The matched inventory items.

InventoryAssignment

Triggered when assigned inventory is modified in Jungle.

FieldArgumentTypeDescription
subjectID!

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

subjectTypenameID!

The __typename of the object, e.g. Allocation

inventoryAssignmentSummary[InventoryAssignmentSummary!]!

A summary of the current inventory assigned to the subject

createdAtDateTime!

When the inventory assigned to the subject was modified.

createdByString

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

aidID

The account the object was modified in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

The event's custom attributes.

InventoryAssignmentSummary

FieldArgumentTypeDescription
skuString!

The stock keeping unit.

This can be any unique identifier within your business.

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

quantityAssignedFloat!

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

quantityAllocatedFloat!

The number of the SKU allocated.

InventoryByAllocation

FieldArgumentTypeDescription
skuString!

The stock keeping unit.

This can be any unique identifier within your business.

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

locationLocation

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

quantityAssignedFloat!

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

quantityAllocatedFloat!

The number of the SKU allocated.

alternativesInventoryAlternativesResult

InventoryByPurchaseOrder

FieldArgumentTypeDescription
skuString!

The stock keeping unit.

This can be any unique identifier within your business.

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

conditionString

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

locationLocation

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

quantityReceivedFloat!

The current received quantity of this SKU.

quantityInboundFloat!

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

InventoryCreateResult

Result for the inventoryCreate mutation

FieldArgumentTypeDescription
okBoolean!
inventory ⚠️Inventory

⚠️ DEPRECATED

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

InventoryItem

FieldArgumentTypeDescription
productProduct

The product associated with this inventory item.

locationLocation!

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

quantityDecimal!

The quantity of this inventory item.

assignmentIInventoryAssignTarget

The current target the inventory is assigned to.

InventoryItemResultEdge

Edge for the InventoryAssignableResult result.

FieldArgumentTypeDescription
nodeInventoryItem!

Found inventory item.

InventoryListAssignedAtLocationResult

FieldArgumentTypeDescription
skuString!
assigned[AssignedInventory!]!

InventoryListResult

Result for the inventoryList* queries.

FieldArgumentTypeDescription
results[InventoryListResultEdge!]!

Any inventory found

pageInfoPageInfo!

Information on the number of inventories to be listed

InventoryListResultEdge

Edge for InventoryListResult.

FieldArgumentTypeDescription
cursorID

Cursor for the current inventory

inventoryInventory!

An inventory in the results

InventoryMoved

The inventory was moved from the location to the destination

FieldArgumentTypeDescription
fromInventory!
toInventory!

InventoryMovement

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

typeInventoryMovementType!
fromIInventoryMovementFrom

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

toIInventoryMovementTo

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

descriptionString

A description of the inventory movement in details.

skuSKU!

Product SKU

conditionString

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

qtyFloat!

Quantity of SKU moved

createdAtDateTime!
modifiedAtDateTime
createdByString!
locationLocation

Location where the inventory movement happens

jobIdString

Job id related to inventory movement

unitCostMoneyV1

The cost of the product (per unit) associated with this movement at the time this movement occurred.

InventoryMovementReceivedListResult

FieldArgumentTypeDescription
pageInfoSearchPageInfo!
results[InventoryMovement!]!

InventoryNotFound

Result when inventory is not found.

FieldArgumentTypeDescription
messageString

InventoryPreference

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

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

InventoryPutAwayItemsByLocationResult

Result for the inventoryPutAwayItemsByLocation query.

FieldArgumentTypeDescription
results[InventoryPutAwayItemsByLocationResultNode!]!

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

locationLocation

The location to put away from.

locationTransferableBoolean

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

InventoryPutAwayItemsByLocationResultNode

FieldArgumentTypeDescription
skuString!

Item's SKU

conditionString

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

quantityFloat!

Quantity of the item to put away

locationsTo[Location!]

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

allocationAllocation

Allocation the item is assigned to

allocationIsReadyToPackBoolean

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

InventoryPutAwayItemsResult

Result for the inventoryPutAwayItems query.

FieldArgumentTypeDescription
results[InventoryPutAwayItemsResultNode!]!

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

locationTransferableLocation

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

locationNextLocation

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

allocationIsReadyToPackBoolean

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

InventoryPutAwayItemsResultNode

FieldArgumentTypeDescription
allocationAllocation

Allocation the item is assigned to

locationLocation

Item's current location

skuString!

Item's SKU

conditionString

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

quantityFloat!

Quantity of the item to put away

InventoryReplenishablePickItemsResult

Result for the inventoryReplenishablePickItems query.

FieldArgumentTypeDescription
results[InventoryReplenishablePickItemsResultNode!]!

The items that are replenishable

InventoryReplenishablePickItemsResultNode

FieldArgumentTypeDescription
locationLocation

Location to replenish from

alternativesInventoryAlternativesResult
skuString!

Item's SKU

quantity ⚠️Float!

Maximum quantity of the SKU that can be replenished

⚠️ DEPRECATED

Use quantityToReplenish and/or quantityInLocation

quantityInLocationFloat!

Quantity available of the SKU at the location

quantityToReplenishFloat!

Quantity of the SKU that needs to be replenished

InventoryReservedItemsListResult

Result for the inventoryReservedItemsList query.

FieldArgumentTypeDescription
results[InventoryReservedPickItemsResultNode!]!
pageInfoSearchPageInfo!

InventoryReservedPickItemsResult

Result for the inventoryReservedPickItems query.

FieldArgumentTypeDescription
results[InventoryReservedPickItemsResultNode!]!

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

locationTransferableLocation

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

InventoryReservedPickItemsResultNode

FieldArgumentTypeDescription
allocationAllocation
locationLocation
skuString!
quantityFloat!
alternativesInventoryAlternativesResult
documentationDocumentationResult!

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

inputDocumentationInput!

InventoryReservedPickResult

Result for the inventoryReservedPick query.

FieldArgumentTypeDescription
locationNextLocation

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

InventorySetEvent

FieldArgumentTypeDescription
subjectID!

The allocation Id.

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

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

InventorySummarizeResult

Result for the inventorySummarize query

FieldArgumentTypeDescription
locationIdsUsed[ID!]!

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

locationIdsNotUsed[ID!]!

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

summedQuantityOnHandInt!

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

summedQuantityAllocatedInt!

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

summedQuantityAvailableToPromiseInt!

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

locationSummaries[InventorySummary!]!

Lists out the location specific quantities.

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

InventorySummary

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

FieldArgumentTypeDescription
locationIdID!

The location Id

quantityOnHandInt!
quantityAllocatedInt!
quantityAvailableToPromiseInt!

InventoryUnassignedPickItemsResult

Result for the inventoryUnassignedPickItems query.

FieldArgumentTypeDescription
results[InventoryUnassignedPickItemsResultNode!]!

The items that are unassigned

locationTransferableLocation

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

InventoryUnassignedPickItemsResultNode

FieldArgumentTypeDescription
locationLocation
skuString!
quantityFloat!

InventoryUnassignedPickResult

Result for the inventoryUnassignedPick query.

FieldArgumentTypeDescription
locationNextLocation

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

JobAllocationLimit

FieldArgumentTypeDescription
limitInt!
messageString

JobAllocationNotFound

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

FieldArgumentTypeDescription
messageString

Might explain why the allocation was not found

JobAllocationToPack

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

FieldArgumentTypeDescription
idID!

ID of the allocation to pack.

This matches the original order allocation Id.

orderId ⚠️ID!

ID of the order to pack

⚠️ DEPRECATED

Allocation will not always link to an order

referenceString

Reference of the Order to pack

method ⚠️FulfilmentMethod

⚠️ DEPRECATED

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

shippingAddress ⚠️PostalAddress

⚠️ DEPRECATED

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

serviceCode ⚠️ID

⚠️ DEPRECATED

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

itemsToPack[JobPackItem]

List of items to pack

itemsNotYetPacked[JobPackItem]

List of items not yet packed

itemsPacked[JobPackItem]

List of items already packed

itemsPackedPerPackage[JobPackPackageContent]

List of items already packed, group by package

JobChangeStatusResult

FieldArgumentTypeDescription
idID!
statusJobStatus!

JobConfiguration

Job configuration

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!
enabledBoolean!
descriptionString!
initialStatusJobStatus!

Job will be created with the initial status

operations[JobConfigurationOperation!]!

Configured operations for job

JobConfigurationList

FieldArgumentTypeDescription
results[JobConfigurationResultEdge!]

JobConfigurationOperation

FieldArgumentTypeDescription
contextJobOperationContext!
operationJobOperation!
mutations[String!]!

Mutations for the operation

queries[String!]

Queries for the operation

conditions[JobOperationCondition!]

Condition for the operation

nextContextJobOperationContext
argumentsJobOperationArgument

JobConfigurationResultEdge

FieldArgumentTypeDescription
cursorID!
jobConfigurationJobConfiguration!

JobConfigured

Configured Job

Job created from a job configuration

FieldArgumentTypeDescription
idID!

The Job's Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the job.

documentationDocumentationResult!

Documentation for this job.

inputDocumentationInput!
referenceString

The job reference number

statusJobStatus!

The status of this job

locationLocation

The location where the job is happening

createdAtDateTime!

When the job was created

modifiedAtDateTime

When the job was modified

isCancelable ⚠️Boolean

Whether the job can be cancelled

⚠️ DEPRECATED

Use actions instead.

actions[IAction]

Actions the current user can perform on this job.

inputActionInput
products[JobConfiguredProduct!]

Products added to the job

configurationJobConfiguration

Configuration for this job

completedAtDateTime

When the job was completed

purchaseOrderPurchaseOrder

The purchase order assigned to this job by default

supplierSupplier

The supplier assigned to this job by default

JobConfiguredLocationsPutAwayResult

FieldArgumentTypeDescription
locations[Location]

JobConfiguredPickPreview

FieldArgumentTypeDescription
itemsQuantityFloat!

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

itemsCountInt!

The number of items to be reserved for all allocations.

locationsCountInt!

Number of unique locations to pick from

allocations[JobConfiguredPickPreviewAllocation!]

The Allocations which would be included in the job

JobConfiguredPickPreviewAllocation

FieldArgumentTypeDescription
allocationIdID!

The ID of the Allocation

itemsQuantityFloat!

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

itemsCountInt!

The number of items to be reserved for the allocation.

JobConfiguredPickPreviewResult

FieldArgumentTypeDescription
logs[Log!]
previewJobConfiguredPickPreview

A preview of the Allocations and Products to be reserved

JobConfiguredProduct

FieldArgumentTypeDescription
idID!

The job product's Id

barcodeString!

The product's barcode

productProduct

Product

quantityAvailableInt!

The total quantity of product available

quantityAssignedInt!

The total quantity of product assigned

quantityTotalInt!

The total quantity of product for the job

items[IJobConfiguredProductItem!]!

The list of product's items for this job

JobConfiguredProductAssignedToAllocation

Product used to assign to an allocation

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

locationLocation

The location where inventory is at.

quantityInt!

Product quantity

allocationAllocation

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

isDamagedBoolean

Whether the product is damaged

lineItemLineItem

The line item that was received against

isOversizedBoolean

Whether the product is oversized

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobConfiguredProductAttachmentUploadTokenCreateResult

FieldArgumentTypeDescription
okBoolean!

True if the result is successful, false otherwise.

codeString

A machine code that can used to identity the failure.

reasonString

A sentence on what went wrong.

logs[Log!]
uploadTokenUploadToken

JobConfiguredProductIncrementInventory

Product used to increment inventory

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

locationLocation

The location where inventory is at.

quantityInt!

Product quantity used to increment inventory

allocationAllocation

The allocation which product is assigned to

lineItemLineItem

The line item that was received against

isDamagedBoolean

Whether the product is damaged

isOversizedBoolean

Whether the product is oversized

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobConfiguredProductPicked

Picked product

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product quantity available

locationLocation

The location where product is picked to.

allocationAllocation

The allocation which product is assigned to

lineItemLineItem

The line item that was received against

isDamagedBoolean

Whether the product is damaged

isOversizedBoolean

Whether the product is oversized

documentationDocumentationResult!

Documents for this job configured product item

inputDocumentationInput!
purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobConfiguredProductPutaway

Product that was putaway

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product quantity available

locationLocation

The location where product is putaway to.

allocationAllocation

The allocation which product is assigned to

lineItemLineItem

The line item that was received against

isDamagedBoolean

Whether the product is damaged

isOversizedBoolean

Whether the product is oversized

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobConfiguredProductReceived

Quantity received

FieldArgumentTypeDescription
idID!
statusJobProductStatus!
createdAtDateTime

When the item was created

quantityInt!

Product quantity available

locationLocation

The location where product is received.

allocationAllocation

The allocation which product is assigned to

lineItemLineItem

The line item that was received against

isDamagedBoolean

Whether the product is damaged

isOversizedBoolean

Whether the product is oversized

purchaseOrderPurchaseOrder

The purchase order which product is assigned to

supplierSupplier

The supplier which product is assigned to

JobListResult

FieldArgumentTypeDescription
results[JobListResultEdge!]!
pageInfoPageInfo!

Info on the number of jobs that can be listed

JobListResultEdge

FieldArgumentTypeDescription
cursorID!
jobIJob!

JobNotFound

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

FieldArgumentTypeDescription
messageString

Might explain why the job was not found

JobOperationArgument

FieldArgumentTypeDescription
qtyMaxInt

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

limitPositiveInt

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

inventoryActionInventoryMovementType

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

collateByInventoryPutAwayCollationMethod

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

replenishByInventoryReplenishmentMethod

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

JobPack

Packing job.

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

FieldArgumentTypeDescription
idID!

The pack job's Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the job.

documentationDocumentationResult!

Documentation for this job.

inputDocumentationInput!
referenceString

The job reference number

statusJobStatus!

The status of this job

locationLocation

The location where the job is happening

createdAtDateTime!

When the job was created

modifiedAtDateTime

When the job was modified

allocations[JobAllocationToPack]
allocationsUnfulfilled[ID!]!

List of allocations unfulfilled

allocationsFulfilled[ID!]!

List of allocations fulfilled

allocationIds[ID!]

List of allocations in this packing job

isCancelable ⚠️Boolean

Whether the job can be cancelled

⚠️ DEPRECATED

Use actions instead.

actions[IAction]

Actions the current user can perform on this job.

inputActionInput
completedAtDateTime

When the job was completed

JobPackAllocationMarkFulfilledResult

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

JobPackAllocationShippingAddressSet

FieldArgumentTypeDescription
messageString

JobPackCreateResult

FieldArgumentTypeDescription
jobJobPack!

JobPackItem

FieldArgumentTypeDescription
skuString!
quantityNonNegativeInt!
productProduct

JobPackPackageContent

FieldArgumentTypeDescription
packageIdObjectID!
packageOfProductProduct

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

descriptionString

Describe the packaging.

dimensionsDimensions

Dimensions of the packaging.

items[JobPackItem!]!

JobPackSkuResult

FieldArgumentTypeDescription
idID!
itemsNotYetPacked[JobPackItem!]!

List of items not yet packed

itemsPacked[JobPackItem!]!

Summary of items already packed

itemsPackedPerPackage[JobPackPackageContent]!

List of items already packed, group by package

JobPick

Picking job.

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

FieldArgumentTypeDescription
idID!

The pick job's Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the job.

documentationDocumentationResult!

Documentation for this job.

inputDocumentationInput!
referenceString

The job reference number

statusJobStatus!

The status of this pick job

methodPickMethod!

Method of this pick job

locationLocation

The location where the job is happening

pickLocationLocation

Location where items are picked to

createdAtDateTime!

When the job was created

modifiedAtDateTime

When the job was modified

assignedToString

Name of the person this job is assigned to

itemsToPick[JobPickItem]

List of items to pick

itemsNotYetPicked[JobPickItem]

List of items not yet picked

itemsPicked[JobPickItem]

List of items already picked

allocationIds[ID!]

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

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

Limited to 100 allocations per job.

isCancelable ⚠️Boolean

Whether the job can be cancelled

⚠️ DEPRECATED

Use actions instead.

actions[IAction]

Actions the current user can perform on this job.

inputActionInput
completedAtDateTime

When the job was completed

JobPickCreateResult

FieldArgumentTypeDescription
jobJobPick!

JobPickItem

FieldArgumentTypeDescription
skuString!
quantityNonNegativeInt!

JobPickLocationAssignResult

FieldArgumentTypeDescription
idID!

ID of the job

statusJobStatus!

JobPickedSku

FieldArgumentTypeDescription
itemsNotYetPicked[JobPickItem!]!

List of items not yet picked

itemsPicked[JobPickItem!]!

List of items already picked

JobSkuLimit

FieldArgumentTypeDescription
limitInt!
messageString

JobStatusChanged

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

⚠️ DEPRECATED

Use subject.

orderRelatedIds[ID!]
statusJobStatus!

JunglePrinter

FieldArgumentTypeDescription
idID!
nameString!

The name of the printer

locationLocation

The location of this printer

createdAtDateTime
attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the printer's custom attributes.

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

inputObjectAttributeInput!

LineItem

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

FieldArgumentTypeDescription
idID!

The line item's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString

The title or name of the line item.

quantityFloat!

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

quantityFulfilledFloat

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

quantityAssignedFloat

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

quantityToReceiveFloat

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

quantityReceivedFloat

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

skuSKU

The stock keeping unit.

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

productProduct

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

productName ⚠️String

⚠️ DEPRECATED

Use .name instead.

allocateBoolean!

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

unitPriceMoney

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

discountPercentageDecimal

The discount percentage applied to the line item.

auTaxApplied ⚠️AuTaxApplied

The tax code has been applied to this line item.

⚠️ DEPRECATED

Do not use.

adjustments ⚠️[MoneyAdjustment!]

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

⚠️ DEPRECATED

Do not use.

subtotalPriceMoney

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

totalPriceMoney

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

estimatedAtDateTime

When the line item is predicted to be handled by.

targetedAtDateTime

When the line item is targeted to be handled by.

cancelledBoolean

Whether the line item was cancelled.

cancelledAtDateTime

If cancelled, when the line item was cancelled.

cancelledReasonString

If cancelled, why the line item was cancelled.

order ⚠️IOrder

⚠️ DEPRECATED

This is no longer used. Use .source instead!

actions[IAction!]

Actions the current user can perform on this line item.

inputActionInput
sourceLineItemSource

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

reasonString

The reason why this line was added, if one.

logs[Log!]

Logs for this line item.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
tags[Tag!]

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

createdAtDateTime!

When the line item was created.

modifiedAtDateTime!

When the transfer was last modified.

notesNoteResults

The notes associated with the line item.

backordersBackorderResults

The backorders for this line item

receiveItemsReceiveItemResults

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

returningILineItem

The line item being returned

LineItemGroup

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

FieldArgumentTypeDescription
referenceString

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

nameString

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

LineItemResultNode

FieldArgumentTypeDescription
nodeLineItem

LineItemResults

FieldArgumentTypeDescription
results[LineItemResultNode!]!
pageInfoPageInfo!

Location

An important place that matters to your business.

FieldArgumentTypeDescription
xidsExternalIdResults!

The locations's known external IDs.

inputExternalIdsInput
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the location.

nameString!

Identifying name for the location.

tags[Tag!]

A list of tags.

referenceString

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

sequenceInt

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

capabilities[ICapability!]

The capabilities this location has!

isEnabled ⚠️Boolean

⚠️ DEPRECATED

Use .enabled instead.

enabledBoolean!

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

addressPostalAddress

The postal address of this location.

isAddressVerifiedBoolean

Whether or not the address has been verified.

rootLocation!

The location's root location e.g. warehouse

parentLocation

The location's parent, if nested.

lineageString

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

createdAtDateTime!

When the location was created.

modifiedAtDateTime!

When the location was modified.

pointGeoPoint

The location's coordinates (on Earth).

pointAccuracyFloat

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

relationsRelationships

Relationships the location has.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the location's custom attributes.

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

inputObjectAttributeInput!
documentationDocumentationResult!

Documentation for this location.

inputDocumentationInput!
cycleCountedAtDateTime

When each location was last counted.

cycleCountedByString

The last person or connection counted the location.

printers ⚠️[JunglePrinter!]

The printers this location has!

⚠️ DEPRECATED

Find devices (printers) via search() instead.

barcode ⚠️String

⚠️ DEPRECATED

Use .idQR instead.

barcodes[String]

Known barcode values, associated with the location.

collections[FulfilmentCollect]

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

stateCollectionState

LocationCreateResult

Result for the locationCreate mutation.

FieldArgumentTypeDescription
locationLocation

The location that was created.

LocationListResult

FieldArgumentTypeDescription
results[LocationListResultEdge!]!

Any locations found

pageInfoPageInfo!

Information on the number of locations to be listed

LocationListResultEdge

FieldArgumentTypeDescription
cursorID
locationLocation!

LocationNotFound

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

FieldArgumentTypeDescription
messageString

Might explain why the location was not found

LocationSetParent

FieldArgumentTypeDescription
setBoolean!

If true, the location had its parent set.

Log

A message, or log of something that happened.

FieldArgumentTypeDescription
severityLogSeverity!

The severity of the log.

codeString!
messageString!
paths[String!]
atDateTime!

When the log happened.

createdByString

The subject that performed the action related to the log.

McLeodConnection

A connection to the McLeod Accessories system

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The McLeod connection's name

locationIds[String]!

For which locations should we send orders to McLeod?

urlString!

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

usernameString!

Username for sending orders to McLeod

passwordString!

Password for sending orders to McLeod

integrationIntegration

This will always be McLeod for McLeod connections!

enabledBoolean!

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

connectedBoolean!

Is this connection working?

createdAtDateTime!

When we connected to the system for the first time

createdByString!

Who connected to the system

Modified

Triggered when an object is modified in Jungle.

FieldArgumentTypeDescription
subjectID!

The object Id that was modified.

subjectTypenameID!

The .__typename of the object that was modified.

createdAtDateTime!

When the object was modified.

createdByString

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

aidID

The account Id the object was modified in.

DNTBoolean!

If true, do not save/keep this event.

attributes[ICustomAttribute!]

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

Money

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

FieldArgumentTypeDescription
currencyCurrency!

The currency of the money

codeCurrencyCode!

The code of the currency

amountInt!

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

amountAsFloat ⚠️Float!

Amount as float value, avoid using where possible

⚠️ DEPRECATED

Using floats for money is no longer supported.

formatted ⚠️String!

The money as a formatted string.

⚠️ DEPRECATED

Use client side locale and format accordingly.

MoneyAdjustment

Adjustment applied to Money

FieldArgumentTypeDescription
codeString!

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

nameString

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

descriptionString

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

valueMoney!

The adjustment cost/value/price.

MoneyV1

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

FieldArgumentTypeDescription
codeCurrencyCode!

The code of the currency.

amountDecimal!

The amount of the currency.

MutationFailure

Result when the mutation/command failed.

FieldArgumentTypeDescription
okBoolean!

Will always be false.

codeString

A machine code that can used to identity the failure.

reasonString

A sentence on what went wrong.

logs[Log!]

MutationSuccess

Result when the mutation/command was successfully accepted.

FieldArgumentTypeDescription
okBoolean!

Will always be true.

objects[ObjectCreated!]

Created objects

logs[Log!]

Note

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

FieldArgumentTypeDescription
idID!

The note's unique identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

Tags on the note.

enabledBoolean!

If visible/usable or not.

topicString

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

contentTypeString

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

contentString

The contents of the note. Do not trust this data

authorIAuthor
objectIObject

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

xidsExternalIdResults!

The note's known external IDs.

inputExternalIdsInput
modifiedAtDateTime

When the note was modified last, if at all.

createdAtDateTime!

When the note was created.

NoteResultNode

FieldArgumentTypeDescription
nodeNote

NoteResults

FieldArgumentTypeDescription
results[NoteResultNode!]!
pageInfoSearchPageInfo!

ObjectCreated

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

FieldArgumentTypeDescription
idID!

The .id of Jungle object.

typenameString!

The .__typename of the Jungle object.

Order

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

FieldArgumentTypeDescription
channelChannel

The channel the sales order came from, if known.

idID!

The Order's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

A merchant or customer visible reference number.

sourceIOrderSource

Where this sales order came from, if known

statusString

The order's current status.

The status should be considered indicative, and not absolute.

statusInfoOrderStatusInfo

The order's status info.

Help with pretty labeling, custom naming for the order.

tags[String!]

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

xidsExternalIdResults!

The Order's known external IDs.

inputExternalIdsInput
billingAddressPostalAddress

The billing address/contact information for the order

shippingAddresses[PostalAddress!]

The shipping addresses and contact information for the order

customerCustomer

The customer who placed the order, if known.

contactContact

The specific contact who placed the order, if known.

companyCompany

The company associated with the order, if known.

lineItems[OrderLineItem!]!

The items with in the order

inputOrderLineItemsInput
lineItemsQuantityFloat!

The total number of products with in the order

orderedAtDateTime!

When the order was created/confirmed.

receivedAtDateTime!

When Jungle received the order.

closedAtDateTime

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

activityLastAtDateTime

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

integrationReference ⚠️String

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

⚠️ DEPRECATED

Use external IDs instead.

isTestBoolean

If the order is a test or not

noteFromCustomer ⚠️String

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

⚠️ DEPRECATED

Use notes instead.

priceTotalMoney

If supplied, the orders total price

allocations[Allocation!]

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

inputAllocationsConnectionInput
completedAtDateTime

If known, when the order was completed.

cancelledAtDateTime

The date and time when the order was cancelled.

cancelledReasonString

The reason the order was cancelled.

fulfilmentAllowedBoolean!

If false, prevent future fulfilment for the order.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the order's custom attributes.

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

inputObjectAttributeInput!
pointGeoPoint

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

pointAccuracyFloat

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

createdAtDateTime!

When the order was created in Jungle.

modifiedAtDateTime

When the order was last modified in Jungle.

fulfilments[IFulfilment!]!

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

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

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

lineItemsFulfilled[OrderLineItem!]!

Line items in the Order that are fulfilled in someway.

lineItemsUnfulfilled[OrderLineItem!]!

Line items in the Order that are not yet fulfilled.

returnQuantityInt

Total number of returns against the order.

returnStatusStatusInfo

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

returnsReturnResults

Returns against the order.

OrderAllocatedEvent

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

FieldArgumentTypeDescription
subjectID!

The Order.

createdAtDateTime!

When the order was allocated.

aidID
createdByString
orderId ⚠️ID

The Order's Id.

⚠️ DEPRECATED

Use .subject instead!

OrderAllocationChangeForbidden

The allocation can not be modified.

FieldArgumentTypeDescription
reasonString!

Why the allocation cannot be changed.

OrderAllocationMoved

The allocation was moved/assigned a location.

FieldArgumentTypeDescription
hadLocationBoolean

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

OrderAllocationSetShippingAddress

FieldArgumentTypeDescription
messageString

OrderCancellationForbidden

Outcome for the orderCancel mutation.

The order can not be cancelled.

FieldArgumentTypeDescription
reasonString!

Why the Order cannot be cancelled

OrderCancelled

Triggered when an Order is cancelled.

FieldArgumentTypeDescription
subjectID!

The Order.

createdAtDateTime!

When the order cancel mutation was called.

aidID
createdByString
cancelledAtDateTime!

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

cancelledReasonString!

The reason for cancellation.

orderId ⚠️ID

The Order's Id.

⚠️ DEPRECATED

Use .subject instead!

alreadyCancelledBoolean

True, if the order was already cancelled

OrderConsumed

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

FieldArgumentTypeDescription
subjectID!

The Order

createdAtDateTime!

When the order was consumed.

aidID
createdByString

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

orderId ⚠️ID

The Order's Id.

⚠️ DEPRECATED

Use .subject instead!

OrderConsumedResult

Result for orderConsumeWithAllocations mutation.

FieldArgumentTypeDescription
orderIdID

The jungle order id.

OrderLineItem

An order item is a line item of an order

FieldArgumentTypeDescription
idID!

The order line item identifier.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

Tags on the line item.

productProduct

The product associated with the line item.

productNameString

The item/product name

skuSKU

The stock keeping unit.

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

quantityFloat!

The amount of the product ordered

quantityFulfilledFloat

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

quantityAssignedFloat

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

weightWeight

The line item weight, if known.

priceMoney

The price of the individual line item.

unitPriceMoney

The price of an individual line item.

addedReasonString

The reason why this line was added, if one.

allocateBoolean!

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

lineItemGroupLineItemGroup

Line item group if this line item is part of a bundle or composite product.

integrationReference ⚠️String

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

⚠️ DEPRECATED

Use external IDs instead.

actions[IAction!]

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

inputActionInput
attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
createdAtDateTime!

When the order line item was created in Jungle.

modifiedAtDateTime

When the order line item was last modified in Jungle.

cancelledAtDateTime

If cancelled, when the line item was cancelled.

cancelledReasonString

If cancelled, why the line item was cancelled.

OrderLineItemCancelled

FieldArgumentTypeDescription
subjectID!

The line item id

createdAtDateTime!

When the order was cancelled.

aid ⚠️ID

⚠️ DEPRECATED

Use subject instead.

createdByString

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

OrderListFromJobResult

FieldArgumentTypeDescription
results[OrderListResultEdge!]!
pageInfoPageInfo!

Info on the number of orders that can be listed

OrderListResult

FieldArgumentTypeDescription
results[OrderListResultEdge!]!
pageInfoPageInfo!

Info on the number of orders that can be listed

OrderListResultEdge

FieldArgumentTypeDescription
cursorID!
orderOrder!

OrderNotFound

FieldArgumentTypeDescription
messageString

OrderSetStatusResult

FieldArgumentTypeDescription
orderIdID!
statusString!

OrderSourceName

A simple way to describe the source of the order

FieldArgumentTypeDescription
nameString

Shopify, ERP, POS etc

referenceString

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

OrderStatusInfo

Order Status Info

This provides optional information on a status.

FieldArgumentTypeDescription
idID!

Status ID, matches the value seen in Order.status

nameString

Formatted name for the status

displayOrder ⚠️Int

The display order of the status.

Lower numbers show first.

⚠️ DEPRECATED

Use .priority instead!

priorityInt

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

colorHexColorCode

An optional color for the status

OrderStatusInfoResult

Result for the orderStatusInfo query

FieldArgumentTypeDescription
statuses[OrderStatusInfo!]

Information on known account statuses.

Package

FieldArgumentTypeDescription
idID!
referenceString
weightGrossWeight
articleIdString
consignmentIdString
barcodeId ⚠️String

⚠️ DEPRECATED

Unused

authorityToLeaveBoolean
safeDropEnabledBoolean
allowPartialDelivery ⚠️Boolean

⚠️ DEPRECATED

Unused

PageInfo

Explains paging information on the relating result set

FieldArgumentTypeDescription
hasMoreBoolean!

If true, there are additional results available

limitInt!

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

nextCursorID

The next cursor to send to, send to next request

PartNumber

FieldArgumentTypeDescription
supplierSupplier
valueString

PartNumberResultNode

FieldArgumentTypeDescription
nodePartNumber

PartNumberResults

FieldArgumentTypeDescription
pageInfoSearchPageInfo
results[PartNumberResultNode]

PostalAddress

An address for retail shipments.

FieldArgumentTypeDescription
countryCodeCountryCode

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

postalCodeString

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

suburb ⚠️String

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

⚠️ DEPRECATED

Use locality instead

localityString

Suburb, or town in which the address is in. E.g. Melbourne, Fortitude Valley, Shibuya.

dependentLocalityString

The dependent locality, district, or neighborhood in which the address is in.

regionString

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

lines[String!]

The street number, name & other important specific addressing.

contactPersonContactPerson

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

countryCountry

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

pointGeoPoint

The geo point of the address, on earth

isVerified ⚠️Boolean

⚠️ DEPRECATED

Not used.

PostalAddressChanged

FieldArgumentTypeDescription
subjectID!
aidID
createdAtDateTime!
createdByString
addressPostalAddress!
addressPriorPostalAddress

PrintSubmitted

The print has been submitted

FieldArgumentTypeDescription
submittedBoolean

PrinterListResult

FieldArgumentTypeDescription
results[PrinterListResultEdge!]!

PrinterListResultEdge

FieldArgumentTypeDescription
printerJunglePrinter!

PrinterNotFoundError

The printer does not exist

FieldArgumentTypeDescription
messageString!

Product

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

FieldArgumentTypeDescription
idID!

Product's ID.

path ⚠️ID!

Full path to the product.

⚠️ DEPRECATED

Use .id instead.

idQRID

Contents for a Jungle QR code that identifies the product.

nameString

The product title/name.

gtin[String!]

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

skuString

SKU for the product.

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

tags[String!]

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

capabilities[ICapability!]

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

brandString

The product's brand.

descriptionString

A generic description on the product.

dimensionsDimensions

The product's physical dimensions.

weightWeight

The product's weight (in grams).

hsCodeHsCode

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

dangerousGoodsProductDangerousGoods

Dangerous goods details of the product.

leadTimeDuration

General lead time.

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

e.g. P1D, P2W, P3M.

etaDateTime

Estimated availability or arrival.

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

e.g. 2199-10-28.

preorderBoolean!

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

e.g. true, false.

gstBoolean

If the product is subject to GST.

costMoneyV1

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

costAverageMoneyV1

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

costLandedAverageMoneyV1

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

productFamilyProductFamily

The product family this product belongs to, for grouping related products.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the product's custom attributes.

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

inputObjectAttributeInput!
createdAtDateTime!

When the product was first known to Jungle.

modifiedAtDateTime

When the product was last modified.

activityLastAtDateTime

When the product last processed some action that either directly or indirectly relates to inventory changes, orders, etc.

documentationDocumentationResult!

Documentation for this product.

inputDocumentationInput!
xidsExternalIdResults!

The products's known external IDs.

inputExternalIdsInput
unitEachAliasString

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

partNumberString

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

inputPartNumberInput
partNumbersPartNumberResults

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

shipsAsPackages[ProductShipsAsPackage!]

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

originCodeString

An ISO 3166-1 or ISO 3166-2 code representing the country or subdivision of origin for the product. e.g. 'US' for United States, 'CN' for China, 'AU-NSW' for Australia New South Wales.

imageImage

The main image for the product. For use as the main product image, or thumbnails in lists.

e.g.: thumbnail: image { url(input: { transform: { width: 80, height: 80 } }) }

NOTE: This is the image with the lowest sequence number, typically 1.

imagesProductImageResult

Image associated with the product.

bomBillOfMaterials

The product's bill of materials, if it has one.

inventoryInventoryListResult
inputProductInventoryInput
barcode ⚠️String

⚠️ DEPRECATED

Use barcodes instead.

barcodes[String]

Known barcode values, associated with the product.

ProductAttribute

Custom attributes on the product

FieldArgumentTypeDescription
idString!
nameString!
valueString!

ProductDangerousGoods

Product's dangerous goods details.

FieldArgumentTypeDescription
UNNumberString

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

hazardClassificationString

Classification of the hazard associated with the dangerous good.

ProductFamily

A product family groups related products for organizational purposes, such as variations, bundles, or product hierarchies.

FieldArgumentTypeDescription
idID!

Product family's ID.

path ⚠️ID!

Full path to the product family.

⚠️ DEPRECATED

Use .id instead.

createdAtDateTime!

When the product family was created in Jungle.

modifiedAtDateTime

When the product family was last modified.

nameString!

Product family's name.

descriptionString

Description of the product family.

enabledBoolean!

If this product family is active or not.

tags[Tag!]

A list of tags.

activityLastAtDateTime

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

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the product family's custom attributes.

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

inputObjectAttributeInput!
xidsExternalIdResults!

The products family's known external IDs.

inputExternalIdsInput

ProductImageResult

FieldArgumentTypeDescription
results[ProductImageResultEdge!]!

A list of product images.

pageInfoPageInfo!

Pagination information about the list of product images.

ProductImageResultEdge

FieldArgumentTypeDescription
imageImage

The underlying image. See Image for details on how to transform, preview, or obtain the image.

ProductShipsAsPackage

FieldArgumentTypeDescription
descriptionString

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

dimensionsOuterDimensions

The package's dimensions.

weightWeight

The package's weight (in grams).

valueMoneyV1

The package's value.

barcodes[String]

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

PurchaseOrder

FieldArgumentTypeDescription
supplierSupplier

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

idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

A merchant or customer visible reference number

numberString

The order number.

descriptionString

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

statusPurchaseOrderStatus!

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

lineItemsCountInt!

The number of line items in the purchase order.

lineItemsQuantityFloat!

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

lineItems[LineItem!]!

The line items within the purchase order

receiveItems[PurchaseOrderReceiveItem!]!

The receive items within the purchase order

priceMoney

Purchase order price excluding adjustments

adjustments[MoneyAdjustment!]

The adjustments applied to price

totalPriceMoney

Purchase order total price including adjustments

orderedAtDateTime

When the PO was sent to the supplier.

estimatedAtDateTime

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

closedAtDateTime

When the PO was closed.

completedAtDateTime

When the PO was completed

orderedFromLocation

Location where the PO was ordered from

orderedToLocation

Location where the PO ordered to

splitFromPurchaseOrder

The purchase order that this purchase order was split from.

splitFromRootPurchaseOrder

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

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
tags[Tag!]

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

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

createdAtDateTime!

When the purchase order was created in Jungle.

modifiedAtDateTime

When the PO was last modified.

enabledBoolean!

If this purchase order is active, or not.

xidsExternalIdResults!

The purchase order's known external IDs.

inputExternalIdsInput
supplierInvoiceReferenceString

Reference to the supplier invoice corresponding to this purchase order

PurchaseOrderImport

FieldArgumentTypeDescription
idID!

The ID of the purchase order import.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

statusString

The status of the purchase order import.

completedAtDateTime

When the purchase order import was completed.

statePurchaseOrderImportState

The state of the purchase order import.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
tags[Tag!]

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

createdAtDateTime!

When the purchase order import was created in Jungle.

modifiedAtDateTime!

When the purchase order import was last modified in Jungle.

PurchaseOrderImportResult

FieldArgumentTypeDescription
csvOriginalString

The original CSV uploaded.

csvSuccessString

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

csvFailedString

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

PurchaseOrderImportState

FieldArgumentTypeDescription
resultPurchaseOrderImportResult

The result of the purchase order import.

summaryPurchaseOrderImportSummary

The summary of the purchase order import.

PurchaseOrderImportSummary

FieldArgumentTypeDescription
quantityTotalLinesInt!

The total number of lines in the CSV.

quantityPurchaseOrdersCreatedInt!

The number of successfully created purchase orders.

quantitySuccessInt!

The number of lines successfully processed.

quantityPendingInt!

The number of lines pending to be processed.

quantityFailedInt!

The number of lines failed to process.

PurchaseOrderInboundItem

FieldArgumentTypeDescription
orderPurchaseOrder

Source of which the inbound sku ordered from

quantityOrderedFloat!

The quantity ordered

quantityReceivedFloat!

The current received quantity

quantityInboundFloat!

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

PurchaseOrderInboundItemBySkuResult

Result for the purchaseOrderInboundItemBySku query

FieldArgumentTypeDescription
results[PurchaseOrderInboundItem!]!

The list of objects that matched the search

pageInfoSearchPageInfo!

Paging information on the number of results found

PurchaseOrderLineItemResults

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

FieldArgumentTypeDescription
nodes[LineItem!]!

A list of line items. if any.

PurchaseOrderReceiveItem

FieldArgumentTypeDescription
idID!

ID of the receive item

path ⚠️ID!

Path of the receive item

⚠️ DEPRECATED

Use .id instead.

skuSKU!

Product SKU

conditionString

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

qtyFloat!

Quantity received

toLocation

Receive location

descriptionString

Description of the receive item

createdAtDateTime!

When the item was created in Jungle.

modifiedAtDateTime

When the item was last modified.

inventoryMovementInventoryMovement

Inventory movement for the receive item

PurchaseReturn

A request to return items from a supplier.

FieldArgumentTypeDescription
supplierSupplier

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

idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

A merchant visible reference

integrationReferenceString

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

approvedBoolean
approvedAtDateTime

When the return was approved in Jungle.

lineItemsCountInt!

The number of line items in the return.

lineItemsQuantityFloat!

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

lineItemsReturningReturnLineItemResults

The line items to be returned.

allocationsAllocationResults

The allocations on the return.

locationFromLocation

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

estimatedAtDateTime

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

completedAtDateTime

When the return was sent

fulfilmentAllowedBoolean!

If false, prevent future fulfilment for the purchase return.

activityLastAtDateTime

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

actions[IAction!]

Actions the current user can perform on this purchase return.

inputActionInput
attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
tags[Tag!]

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

createdAtDateTime!

When the return was created in Jungle.

modifiedAtDateTime

When the return was last modified in Jungle.

xidsExternalIdResults!

The purchasing return's known external IDs.

inputExternalIdsInput

ReasonCode

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

FieldArgumentTypeDescription
idID!

The reason code ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

tags[Tag!]

A list of tags.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
enabledBoolean!

If the reason code can be used, or not.

codeString!

The internal code, used for reporting purposes.

scopeString!

The action that the reason code can be used for.

descriptionString

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

reasonInputString

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

createdAtDateTime!

When the reason code was created.

modifiedAtDateTime

When the reason code was last modified.

ReceiveItem

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

FieldArgumentTypeDescription
idID!

The receive item's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

productProduct

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

sku ⚠️SKU!

The stock keeping unit.

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

⚠️ DEPRECATED

Use .product instead.

nameString

The title or name of the receive item.

conditionString

The condition of the receive item.

descriptionString

The description of the receive item.

locationLocation

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

quantityFloat!

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

quantityToReconcileFloat

The amount of unit remaining to reconcile.

toReceiveItemReceiveTarget

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

reconciledBoolean!

If the receive item has been reconciled.

reconciledAtDateTime

When the receive item reconciled.

reconciledToReceiveItemReconcileTarget

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

receivedAtDateTime

When the receive item received.

targets[ReceiveItemTarget!]!

Objects this receive item is associated with.

reasonCodeReasonCode

Reason why this item was received.

reasonString

The reason why this line was received, if known.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
tags[Tag!]

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

createdAtDateTime!

When the receive item was created.

modifiedAtDateTime!

When the receive item was last modified.

createdByString!

Who created the receive item.

ReceiveItemResult

Result for receive item results.

FieldArgumentTypeDescription
nodeReceiveItem

ReceiveItemResults

Results for received items.

FieldArgumentTypeDescription
results[ReceiveItemResult!]!
pageInfoPageInfo!

Paging information on the received item results.

RelationshipGroupToMany

A relationship that can have more than one member.

FieldArgumentTypeDescription
nameString!

The name of the relationship.

createdAtDateTime

If known, when the relationship was created.

edges[RelationshipMemberEdge!]!

Members of the relationship.

RelationshipGroupsConnection

FieldArgumentTypeDescription
edges[RelationshipEdge!]

RelationshipMemberEdge

A member of a relationship.

FieldArgumentTypeDescription
pathID

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

nodeObjectCreated
createdAtDateTime

If known, when the relation was created.

Relationships

FieldArgumentTypeDescription
groupsRelationshipGroupsConnection

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

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

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

inputRelationshipGroupsInput

RetailExpressConnection

A connection to a Retail Express account

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

The Retail Express connection's name

integrationIntegration

This will always be RetailExpress for Retail Express connections!

enabledBoolean!

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

connectedBoolean!

Is this connection working?

createdAtDateTime!

When we connected to the account for the first time

createdByString!

Who connected to the account

clientIdString!

Retail Express Client ID

clientUrlURL!

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

orderUrlURL!

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

usernameString!

Retail Express Username

passwordString!

Retail Express Password

salesChannelIdString!

Retail Express Sales Channel ID

customerIdOverridePositiveInt

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

RetailExpressCustomer

FieldArgumentTypeDescription
retailExpressCustomerIdPositiveInt!

ID of the customer, as stored in Retail Express

firstNameString

Customer's first name

lastNameString

Customer's last name

emailString

Customer's email address

phoneString

Customer's phone number

companyNameString

Customer's company name

RetailExpressCustomerListResult

FieldArgumentTypeDescription
results[RetailExpressCustomer!]!

Return

A request to return items from a customer.

FieldArgumentTypeDescription
receiveItemsReceiveItemResults

List of items received against this return. If any.

idID!

The return's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

referenceString!

Human-readable reference for the return.

sourceReturnSource

Source of the return.

locationToLocation

Location where the items are being returned to.

fromAddressPostalAddress!

The postal address where order is returned from.

acceptedBoolean

Whether the customer return is accepted.

acceptedAtDateTime

When the customer return was accepted.

statusStatusInfo

Derived status from the customer return state.

receivedBoolean

Whether the line items for the return fully received.

receivedAtDateTime

When the customer return was fully received.

cancelledAtDateTime

When the customer return was cancelled.

cancelledReasonString

The reason why the return was cancelled.

lineItemsLineItemResults!

The line items being/to be returned.

estimatedAtDateTime

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

completedAtDateTime

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

serviceProviderNameString

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

trackingNumberString

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

trackingUrlURL

A URL to see tracking events on the shipment.

actions[IAction!]

Actions the current user can perform on this purchase return.

inputActionInput
attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

A single key from the return's custom attributes.

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

inputObjectAttributeInput!
tags[Tag!]

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

xidsExternalIdResults!

The returns's known external IDs.

inputExternalIdsInput
createdAtDateTime!

When the return was created in Jungle.

modifiedAtDateTime

When the return was last modified in Jungle.

ReturnLineItem

FieldArgumentTypeDescription
idID!
path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

quantityFloat!

The quantity of the referenced line item to be returned.

skuSKU
productName ⚠️String

⚠️ DEPRECATED

Use .product instead.

lineItemILineItem

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

createdAtDateTime!

When this return line item was created.

modifiedAtDateTime

When this return line item was modified.

tags[Tag!]

Tags on the ReturnLineItem.

attributes[ICustomAttribute!]!

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

inputObjectAttributesInput
attributeValueString

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

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

inputObjectAttributeInput!
actions[IAction!]

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

inputActionInput
productProduct

The product associated with this return line item.

ReturnLineItemResult

FieldArgumentTypeDescription
nodeReturnLineItem

ReturnLineItemResults

Results for line items to be returned.

FieldArgumentTypeDescription
results[ReturnLineItemResult!]!
pageInfoPageInfo!

ReturnReceived

Triggered whenever a Return is marked as received.

FieldArgumentTypeDescription
subjectID!

Return ID

createdAtDateTime!

When the event was emitted.

aidID

The Id of the account the event occurred within.

createdByString

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

ReturnResult

FieldArgumentTypeDescription
nodeReturn

ReturnResults

FieldArgumentTypeDescription
pageInfoPageInfo!
results[ReturnResult!]!

Role

FieldArgumentTypeDescription
nameString

SearchEdge

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

FieldArgumentTypeDescription
nodeSearchable!

The object found.

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

SearchError

FieldArgumentTypeDescription
messageString

SearchFieldSummaries

Result for SearchResult.summaries.

FieldArgumentTypeDescription
fieldString!

The field name the summarized values are for.

summary[SearchFieldSummary]

The summarized values, limited to the top 100 values.

SearchFieldSummary

Result for SearchResult.summary.

FieldArgumentTypeDescription
valueString!

A value of in the summarized field.

totalInt!

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

SearchPageInfo

Page information on the relating search result set.

FieldArgumentTypeDescription
hasMoreBoolean!

If true, there are additional results available.

limitInt!

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

nextAfterPositiveInt

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

totalInt!

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

SearchResult

Result for the search query.

FieldArgumentTypeDescription
results[SearchEdge!]!

The list of objects that matched the search

pageInfoSearchPageInfo!

Paging information on the number of results found

errors[SearchError!]

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

summary ⚠️[SearchFieldSummary]

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

⚠️ DEPRECATED

Use .summaries instead!

summaries[SearchFieldSummaries]

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

SendleConnection

A connection between Sendle and Jungle!

FieldArgumentTypeDescription
idID!

The connection's ID.

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

nameString!

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

integrationIntegration

Integration details, for branding, naming, logos etc

enabledBoolean!

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

connectedBoolean!
createdAtDateTime!
createdByString!
sendleIdString!

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

sendleSandboxBoolean!

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

Service

A service provided by an organisation.

Such as delivery, sales, inventory and pack services.

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

FieldArgumentTypeDescription
idID!

Service Id

nameString!

The name of the service.

descriptionString!

A description of the service.

codeID

The providers own service code/identifier for this service

providerServiceProvider

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

category ⚠️ServiceCategory

The category of the service

⚠️ DEPRECATED

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

categories[ServiceCategory!]

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

connectionIdID

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

integrationIdID

The integration ID of the provider

ServiceListResult

FieldArgumentTypeDescription
results[ServiceListResultEdge!]!

ServiceListResultEdge

FieldArgumentTypeDescription
serviceIService!

ServiceProvider

A business that provides services.

FieldArgumentTypeDescription
nameString!

The name of the service provider

descriptionString

A description of the service provider

brandDisclaimerString

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

urlString

URL of the service provider's website

contacts[IContact!]

Support/inquiry contacts for the service's provide

Shipment

deprecated, use ShipmentV2 instead.

FieldArgumentTypeDescription
idID!

Id of the shipment.

referenceString

A client reference.

serviceCodeString
originPostalAddress!
destinationPostalAddress!

The delivery address for the shipment.

packages[Package!]

The packages containing the line items.

createdAtDateTime!

When the shipment was created.

shippedAt ⚠️DateTime

⚠️ DEPRECATED

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

priceMoney
documentationSupported[ID!]

Supported documentation Ids on this shipment.

integrationReferenceString

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

documentationDocumentationResult!

Documents for this shipment.

inputDocumentationInput!
serviceBrokerNameString
serviceProviderNameString
serviceNameString
trackingNumberString
trackingUrlURL
weightGrossWeight

ShipmentAcceptance

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

FieldArgumentTypeDescription
logs[Log!]

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

createdAtDateTime!

When the acceptance was created/evaluated.

ShipmentAddress

Shipment origin and destination address.

FieldArgumentTypeDescription
countryCountryCode!

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

regionString

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

lines[String!]!

Address lines, up to 3.

localityString!

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

postalCodeString!

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

ShipmentPackage

A shipment parcel, box, container etc.

FieldArgumentTypeDescription
idID!
path ⚠️ID!

Path of the shipment package.

⚠️ DEPRECATED

Use .id instead.

createdAtDateTime!

When the shipment package was created (or requested).

modifiedAtDateTime

When the shipment package was modified

referenceString

An optional reference for the package.

dimensionsDimensions

The size of the package.

weightGrossWeight!

The gross (total) weight of the package.

shippingCodeString

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

trackingNumberString

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

contents[ShipmentPackageContent!]

The contents of the package

trackingShipmentTracking

Tracking data for the package

ShipmentPackageConfirmed

FieldArgumentTypeDescription
idID!
weightGrossWeight

The gross (total) weight of the package.

trackingNumberString

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

ShipmentPackageContent

Contents of a shipment package.

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

FieldArgumentTypeDescription
quantityPositiveInt!

How many of the product there is.

skuString

SKU for the product

descriptionString

A generic description on the product.

dangerousGoodsProductDangerousGoods

Product's dangerous goods details.

hsCodeHsCode

Product's HS code details.

originCodeString

The code of origin for the product.

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

Tracking information for a shipment. This is a list of checkpoints that the shipment has gone through. Each checkpoint contains information about the status of the shipment at that point in time.

FieldArgumentTypeDescription
checkpoints[ShipmentTrackingCheckpoint!]!

These are the notable events/changes the shipment has gone through.

ShipmentTrackingCheckpoint

A checkpoint in the shipment tracking history.

FieldArgumentTypeDescription
statusShipmentTrackingCheckpointStatus

The status of the shipment at this checkpoint.

messageString

A short description of the checkpoint.

locationStringString

A string version of the checkpoint location.

pointGeoPoint

If known, the geo-point of the checkpoint.

pointAccuracyFloat
timestamp ⚠️DateTime

⚠️ DEPRECATED

Use createdAt instead. This field will be removed in a future version.

createdAtDateTime!

The date and time when the checkpoint was created.

ShipmentTrackingUpdated

Triggered whenever a shipment has new and updated tracking information.

FieldArgumentTypeDescription
subjectID!

The shipment's ID that has updated tracking information.

aidID
trackingUrlURL
trackingNumberString
trackingShipmentTracking
attributes[ICustomAttribute!]

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

createdByString
createdAtDateTime!

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.

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.

trackingShipmentTracking

Tracking data for the shipment, if available.

ShippitConnection

A connection between Shippit and Jungle!

FieldArgumentTypeDescription
idID!

The connection Id

path ⚠️ID!

⚠️ DEPRECATED

Use .id instead.

name