younifyd
Menu

fulfillmentOrderHold

Applies a fulfillment hold on a fulfillment order. As of the 2025-01 API version, the mutation can be successfully executed on fulfillment orders that are already on hold.

Use it in a workflow

  1. Add a step and choose the Shopify connector.
  2. Pick the fulfillmentOrderHold action (under Fulfillment).
  3. Fill in the fields below, then reference the result from later steps as {{fulfillmentorderhold.response.data}}.

Query

This is the mutation the action sends by default. Edit it in the step's Query field to change which fields come back.

graphql
mutation FulfillmentOrderHold($id: ID!, $fulfillmentHold: FulfillmentOrderHoldInput!) {
  fulfillmentOrderHold(id: $id, fulfillmentHold: $fulfillmentHold) {
    fulfillmentHold {
      displayReason
      handle
      heldByApp {
        apiKey
        appStoreAppUrl
        appStoreDeveloperUrl
        availableAccessScopes
        banner
        description
        developerName
        developerType
        developerUrl
        embedded
        failedRequirements
        features
        feedback
        handle
        icon
        id
        installUrl
        installation
        isPostPurchaseAppInUse
        launchUrl
        navigationItems
        optionalAccessScopes
        previouslyInstalled
        pricingDetails
        pricingDetailsSummary
        privacyPolicyUrl
        publicCategory
        published
        requestedAccessScopes
        screenshots
        shopifyDeveloped
        title
        uninstallMessage
        uninstallUrl
        webhookApiVersion
      }
      heldByRequestingApp
      id
      reason
      reasonNotes
    }
    fulfillmentOrder {
      assignedLocation {
        address1
        address2
        city
        countryCode
        location
        name
        phone
        province
        zip
      }
      channelId
      createdAt
      deliveryMethod {
        additionalInformation
        brandedPromise
        id
        maxDeliveryDateTime
        methodType
        minDeliveryDateTime
        presentedName
        serviceCode
        sourceReference
      }
      destination {
        address1
        address2
        city
        company
        countryCode
        email
        firstName
        id
        lastName
        location
        phone
        province
        zip
      }
      fulfillAt
      fulfillBy
      fulfillmentHolds {
        displayReason
        handle
        heldByApp
        heldByRequestingApp
        id
        reason
        reasonNotes
      }
      id
      internationalDuties {
        incoterm
      }
      order {
        additionalFees
        alerts
        app
        attribution
        billingAddress
        billingAddressMatchesShippingAddress
        canMarkAsPaid
        canNotifyCustomer
        cancelReason
        cancellation
        cancelledAt
        capturable
        cartDiscountAmount
        cartDiscountAmountSet
        cartToken
        channel
        channelInformation
        checkoutToken
        clientIp
        closed
        closedAt
        confirmationNumber
        confirmed
        createdAt
        currencyCode
        currentCartDiscountAmountSet
        currentShippingPriceSet
        currentSubtotalLineItemsQuantity
        currentSubtotalPriceSet
        currentTaxLines
        currentTotalAdditionalFeesSet
        currentTotalDiscountsSet
        currentTotalDutiesSet
        currentTotalPriceSet
        currentTotalTaxSet
        currentTotalWeight
        customAttributes
        customer
        customerAcceptsMarketing
        customerJourney
        customerJourneySummary
        customerLocale
        discountCode
        discountCodes
        displayAddress
        displayFinancialStatus
        displayFulfillmentStatus
        disputes
        dutiesIncluded
        edited
        email
        estimatedTaxes
        fulfillable
        fulfillmentsCount
        fullyPaid
        hasTimelineComment
        id
        landingPageDisplayText
        landingPageUrl
        legacyResourceId
        merchantBusinessEntity
        merchantEditable
        merchantEditableErrors
        merchantOfRecordApp
        name
        netPayment
        netPaymentSet
        note
        number
        originalTotalAdditionalFeesSet
        originalTotalDutiesSet
        originalTotalPriceSet
        paymentCollectionDetails
        paymentGatewayNames
        paymentTerms
        phone
        physicalLocation
        poNumber
        presentmentCurrencyCode
        processedAt
        productNetwork
        publication
        purchasingEntity
        referralCode
        referrerDisplayText
        referrerUrl
        refundDiscrepancySet
        refundable
        registeredSourceUrl
        requiresShipping
        restockable
        retailLocation
        returnStatus
        risk
        riskLevel
        shippingAddress
        shippingLine
        shopifyProtect
        sourceIdentifier
        sourceName
        staffMember
        subtotalLineItemsQuantity
        subtotalPrice
        subtotalPriceSet
        tags
        taxExempt
        taxLines
        taxesIncluded
        test
        totalCapturable
        totalCapturableSet
        totalCashRoundingAdjustment
        totalDiscounts
        totalDiscountsSet
        totalOutstandingSet
        totalPrice
        totalPriceSet
        totalReceived
        totalReceivedSet
        totalRefunded
        totalRefundedSet
        totalRefundedShippingSet
        totalShippingPrice
        totalShippingPriceSet
        totalTax
        totalTaxSet
        totalTipReceived
        totalTipReceivedSet
        totalWeight
        transactionsCount
        unpaid
        updatedAt
      }
      orderId
      orderName
      orderProcessedAt
      remainingLineItemsWeight {
        unit
        value
      }
      requestStatus
      status
      supportedActions {
        action
        externalUrl
      }
      updatedAt
    }
    remainingFulfillmentOrder {
      assignedLocation {
        address1
        address2
        city
        countryCode
        location
        name
        phone
        province
        zip
      }
      channelId
      createdAt
      deliveryMethod {
        additionalInformation
        brandedPromise
        id
        maxDeliveryDateTime
        methodType
        minDeliveryDateTime
        presentedName
        serviceCode
        sourceReference
      }
      destination {
        address1
        address2
        city
        company
        countryCode
        email
        firstName
        id
        lastName
        location
        phone
        province
        zip
      }
      fulfillAt
      fulfillBy
      fulfillmentHolds {
        displayReason
        handle
        heldByApp
        heldByRequestingApp
        id
        reason
        reasonNotes
      }
      id
      internationalDuties {
        incoterm
      }
      order {
        additionalFees
        alerts
        app
        attribution
        billingAddress
        billingAddressMatchesShippingAddress
        canMarkAsPaid
        canNotifyCustomer
        cancelReason
        cancellation
        cancelledAt
        capturable
        cartDiscountAmount
        cartDiscountAmountSet
        cartToken
        channel
        channelInformation
        checkoutToken
        clientIp
        closed
        closedAt
        confirmationNumber
        confirmed
        createdAt
        currencyCode
        currentCartDiscountAmountSet
        currentShippingPriceSet
        currentSubtotalLineItemsQuantity
        currentSubtotalPriceSet
        currentTaxLines
        currentTotalAdditionalFeesSet
        currentTotalDiscountsSet
        currentTotalDutiesSet
        currentTotalPriceSet
        currentTotalTaxSet
        currentTotalWeight
        customAttributes
        customer
        customerAcceptsMarketing
        customerJourney
        customerJourneySummary
        customerLocale
        discountCode
        discountCodes
        displayAddress
        displayFinancialStatus
        displayFulfillmentStatus
        disputes
        dutiesIncluded
        edited
        email
        estimatedTaxes
        fulfillable
        fulfillmentsCount
        fullyPaid
        hasTimelineComment
        id
        landingPageDisplayText
        landingPageUrl
        legacyResourceId
        merchantBusinessEntity
        merchantEditable
        merchantEditableErrors
        merchantOfRecordApp
        name
        netPayment
        netPaymentSet
        note
        number
        originalTotalAdditionalFeesSet
        originalTotalDutiesSet
        originalTotalPriceSet
        paymentCollectionDetails
        paymentGatewayNames
        paymentTerms
        phone
        physicalLocation
        poNumber
        presentmentCurrencyCode
        processedAt
        productNetwork
        publication
        purchasingEntity
        referralCode
        referrerDisplayText
        referrerUrl
        refundDiscrepancySet
        refundable
        registeredSourceUrl
        requiresShipping
        restockable
        retailLocation
        returnStatus
        risk
        riskLevel
        shippingAddress
        shippingLine
        shopifyProtect
        sourceIdentifier
        sourceName
        staffMember
        subtotalLineItemsQuantity
        subtotalPrice
        subtotalPriceSet
        tags
        taxExempt
        taxLines
        taxesIncluded
        test
        totalCapturable
        totalCapturableSet
        totalCashRoundingAdjustment
        totalDiscounts
        totalDiscountsSet
        totalOutstandingSet
        totalPrice
        totalPriceSet
        totalReceived
        totalReceivedSet
        totalRefunded
        totalRefundedSet
        totalRefundedShippingSet
        totalShippingPrice
        totalShippingPriceSet
        totalTax
        totalTaxSet
        totalTipReceived
        totalTipReceivedSet
        totalWeight
        transactionsCount
        unpaid
        updatedAt
      }
      orderId
      orderName
      orderProcessedAt
      remainingLineItemsWeight {
        unit
        value
      }
      requestStatus
      status
      supportedActions {
        action
        externalUrl
      }
      updatedAt
    }
    userErrors {
      code
      field
      message
    }
  }
}

Variables

Pass these as a JSON object in the step's Variables field.

idstringrequired

The ID of the fulfillment order on which a fulfillment hold is applied.

fulfillmentHoldobjectrequired

The details of the fulfillment hold applied on the fulfillment order.

reasonstringrequired

One ofAWAITING_PAYMENTHIGH_RISK_OF_FRAUDINCORRECT_ADDRESSINVENTORY_OUT_OF_STOCKUNKNOWN_DELIVERY_DATEONLINE_STORE_POST_PURCHASE_CROSS_SELLAWAITING_RETURN_ITEMSOTHER

reasonNotesstring
notifyMerchantboolean
externalIdstring
handlestring
fulfillmentOrderLineItemsarray<object>2 fields
json
{
  "id": "string",
  "fulfillmentHold": {
    "reason": "AWAITING_PAYMENT",
    "reasonNotes": "string",
    "notifyMerchant": false,
    "externalId": "string",
    "handle": "string",
    "fulfillmentOrderLineItems": [
      {
        "id": "string",
        "quantity": "string"
      }
    ]
  }
}

Response

Read the result with {{fulfillmentorderhold.response.data.data.fulfillmentOrderHold}}. If the API returns errors, the step fails and they are at {{fulfillmentorderhold.response.data.errors}}.

fulfillmentHoldobject
displayReasonstring
handlestring
heldByAppobject35 fields
heldByRequestingAppboolean
idstring
reasonstring

One ofAWAITING_PAYMENTHIGH_RISK_OF_FRAUDINCORRECT_ADDRESSINVENTORY_OUT_OF_STOCKUNKNOWN_DELIVERY_DATEONLINE_STORE_POST_PURCHASE_CROSS_SELLAWAITING_RETURN_ITEMSOTHER

reasonNotesstring
fulfillmentOrderobject
assignedLocationobject9 fields
channelIdstring
createdAtstring
deliveryMethodobject9 fields
destinationobject13 fields
fulfillAtstring
fulfillBystring
fulfillmentHoldsarray<object>
idstring
internationalDutiesobject1 fields
orderobject40 fields
orderIdstring
orderNamestring
orderProcessedAtstring
remainingLineItemsWeightobject2 fields
requestStatusstring

One ofUNSUBMITTEDSUBMITTEDACCEPTEDREJECTEDCANCELLATION_REQUESTEDCANCELLATION_ACCEPTEDCANCELLATION_REJECTEDCLOSED

statusstring

One ofOPENIN_PROGRESSCANCELLEDINCOMPLETECLOSEDSCHEDULEDON_HOLD

supportedActionsarray<object>
updatedAtstring
remainingFulfillmentOrderobject
assignedLocationobject9 fields
channelIdstring
createdAtstring
deliveryMethodobject9 fields
destinationobject13 fields
fulfillAtstring
fulfillBystring
fulfillmentHoldsarray<object>
idstring
internationalDutiesobject1 fields
orderobject40 fields
orderIdstring
orderNamestring
orderProcessedAtstring
remainingLineItemsWeightobject2 fields
requestStatusstring

One ofUNSUBMITTEDSUBMITTEDACCEPTEDREJECTEDCANCELLATION_REQUESTEDCANCELLATION_ACCEPTEDCANCELLATION_REJECTEDCLOSED

statusstring

One ofOPENIN_PROGRESSCANCELLEDINCOMPLETECLOSEDSCHEDULEDON_HOLD

supportedActionsarray<object>
updatedAtstring
userErrorsarray<object>
codeobject
fieldobject
messageobject

Need more? See the Shopify guide for connection setup and behaviour shared by every action.