components:
  headers:
    xFabricRequestIdResponseHeader:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      required: false
      schema:
        type: string
  parameters:
    xFabricChannelId:
      description: >-
        x-fabric-channel-id identifies the sales channel where the API request
        is being made; primarily for multichannel use cases. The channel ids are
        12 corresponding to US and 13 corresponding to Canada. The default
        channel id is 12. This field is required.
      example: '12'
      in: header
      name: x-fabric-channel-id
      required: true
      schema:
        type: string
    xFabricChannelIdOptional:
      description: >-
        x-fabric-channel-id identifies the sales channel through which the API
        request is being made; primarily for multichannel use cases. It is an
        optional field. The default US channel is 12 while the default Canada
        channel is 13.
      example: '12'
      in: header
      name: x-fabric-channel-id
      required: false
      schema:
        type: string
    xFabricChannelIds:
      description: >-
        x-fabric-channel-id identifies the sales channel where the API request
        is being made; primarily for multichannel use cases. The channel ids are
        12 corresponding to US and 13 corresponding to Canada. The default
        channel id is 12. This field is required. A comma separated list of
        sales channel IDs. This comma separated list of sales channel IDs are
        required when using multiple channels.
      example: 12, 13, 16
      in: header
      name: x-fabric-channel-ids
      required: false
      schema:
        type: string
    xFabricChannelIdsOptional:
      description: >-
        x-fabric-channel-id identifies the sales channel through which the API
        request is being made; primarily for multichannel use cases. It is an
        optional field. The default US channel is 12 while the default Canada
        channel is 13. This field is optional. **Note:** Use `xFabricChannelIds`
        for multiple channels, and `xFabricChannelId` for a single channel.
      example: 12, 13, 16
      in: header
      name: x-fabric-channel-ids
      required: false
      schema:
        type: string
    xFabricRequestId:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      in: header
      name: x-fabric-request-id
      required: false
      schema:
        type: string
    xFabricTenantId:
      description: >-
        A header used by fabric to identify the tenant making the request. You
        must include tenant id in the authentication header for an API request
        to access any of fabric’s endpoints. You can retrieve the tenant id ,
        which is also called account id, from
        [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
        This header is required.
      example: 5f328bf0b5f328bf0b5f328b
      in: header
      name: x-fabric-tenant-id
      required: true
      schema:
        type: string
  schemas:
    acknowledgePackageTrackingRequest:
      description: Acknowledgement for package tracking
      properties:
        attributes:
          additionalProperties:
            description: Additional custom attribute mappings.
            type: object
          description: Custom attribute mappings.
          type: object
        eventType:
          description: Event type for which acknowledgement is received
          enum:
            - ORDER_CREATE_IN_PTS
            - ORDER_CANCELLED_IN_PTS
            - SHIPMENT_CREATE_IN_PTS
            - SHIPMENT_CANCELLED_IN_PTS
            - TRANSFER_CREATE_IN_PTS
            - TRANSFER_CANCELLED_IN_PTS
            - TRANSFER_SHIPMENT_CREATE_IN_PTS
            - TRANSFER_SHIPMENT_CANCELLED_IN_PTS
          example: ORDER_CREATE_IN_PTS
          type: string
      required:
        - eventType
      type: object
    addPaymentLogRequest:
      type: object
      description: Request to add a payment log entry for a specific payment in an order
      properties:
        type:
          type: string
          description: Transaction type such as CAPTURE, VOID, REFUND, AUTH, REAUTH, etc.
          example: CAPTURE
        amount:
          type: number
          description: Transaction amount for the payment operation
          example: 60
        amountInCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        paymentId:
          type: string
          description: >-
            Merchant-provided unique identifier for a payment based on payment
            connector
          example: 820180910982102800
        paymentLogId:
          type: string
          description: ID generated to uniquely identify the payment log
          example: 671faad5-c530-4361-94a8-6b81614dfe30
        status:
          type: string
          description: Payment status such as 200, 400, etc.
          example: 200
        data:
          $ref: '#/components/schemas/paymentDetails'
          description: Payment details object containing response information
        attributes:
          type: object
          description: Merchant-defined custom attributes
          example:
            key: value
    address:
      description: Address details
      properties:
        addressLine1:
          description: Address line 1
          example: 123 Main St.
          type: string
        addressLine2:
          description: Address line 2
          example: Suite 100
          type: string
        addressLine3:
          description: Address line 3
          example: Seventh floor
          type: string
        addressLine4:
          description: Address line 4
          example: 'Attention: Pat E. Kake'
          type: string
        city:
          description: City name
          example: Seattle
          type: string
        countryCode:
          description: ISO 3166-1 alpha-2 based country code
          example: US
          type: string
        email:
          description: Contact person's email
          example: test@example.com
          type: string
        latitude:
          description: >-
            Address latitude, used with `longitude` to specify the address
            location. Decimal degrees format; negative is degrees
            South.**Note:**Value must be between -90 and 90, both inclusive.
          example: 47.6205
          format: double
          type: number
        longitude:
          description: >-
            Address longitude, used with `latitude` to specify the address
            location. Decimal degrees format; negative is degrees South.
            **Note:**Value must be between -180 and 180, both inclusive.
          example: -122.3493
          format: double
          type: number
        name:
          $ref: '#/components/schemas/orderContactName'
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        postalCode:
          description: Postal or ZIP code
          example: '98121'
          type: string
        region:
          description: Region or state
          example: WA
          type: string
        type:
          description: Address type
          example: Home
          type: string
      required:
        - addressLine1
        - city
        - countryCode
        - latitude
        - longitude
        - postalCode
        - region
        - type
      type: object
    adjustmentDetail:
      description: Price adjustment details object.
      properties:
        adjustmentCounter:
          description: Sequential or incremental counter for price adjustment
          example: 1
          format: int32
          type: integer
        amount:
          description: Adjustment amount
          example: 2.4
          format: double
          type: number
        amountInCurrencies:
          description: >-
            The adjustment amount, itemized by each currency used within the
            order.
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info in key-value pairs.
          example:
            number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        cancelQuantity:
          description: Cancel quantity
          example: 2
          format: int32
          type: integer
        invoiceQuantity:
          description: Total quantity invoiced
          example: 10
          format: int32
          type: integer
        notes:
          description: Placeholder for additional info, if any.
          example: Any additional info
          type: string
        quantity:
          description: Adjustment quantity
          example: 2
          format: int32
          type: integer
        reasonCode:
          description: Reason code
          example: RFC
          type: string
        returnQuantity:
          default: 0
          description: Returned quantity of given item
          example: 1
          format: int32
          type: integer
        subReasonCode:
          description: Subreason code
          example: Late shipping
          type: string
      type: object
    amountInCurrency:
      description: Amount in currency object details.
      properties:
        amount:
          description: The amount displayed in the primary currency.
          example: 123.45
          format: double
          type: number
        currency:
          description: Currency in ISO-4217
          example: USD
          type: string
        group:
          description: >-
            A unique identifier for currencies. All calculations and invoicing
            are based on this identifier. For example, the `Shopper` group uses
            USD, while the `Retailer` group uses EUR.
          example: SHOPPER
          type: string
      required:
        - currency
        - group
      type: object
    amountInCurrencyResource:
      description: Amount in currency object details.
      properties:
        amount:
          description: The amount displayed in the primary currency.
          example: 123.45
          format: double
          type: number
        currency:
          description: Currency in ISO-4217
          example: USD
          type: string
        group:
          description: >-
            A unique identifier for currencies. All calculations and invoicing
            are based on this identifier. For example, the `Shopper` group uses
            USD, while the `Retailer` group uses EUR.
          example: SHOPPER
          type: string
      required:
        - currency
        - group
      type: object
    apiResponse:
      description: Response message
      properties:
        message:
          description: Response message
          example: OK
          type: string
      type: object
    appeasementEligibilityItemResource:
      description: >-
        An object that contains properties and information on an item's
        eligibility for appeasement.
      properties:
        lineItemId:
          description: The system generated item sequence ID.
          example: 6f25bf01-ae4e-4e7f-96b9-0579a40a1a7d
          type: string
        quantity:
          description: The eligible quantity for appeasement.
          example: 2
          format: int32
          type: integer
        refundAmount:
          description: The maximum eligible refund amount for an appeasement item.
          example: 20.5
          type: number
        sku:
          description: The unique identifier of item. Stock Keeping Unit (SKU).
          example: P1234
          type: string
        refundAmountInCurrencies:
          type: array
          description: >
            A list of refund amounts, each represented in a specific currency.  

            Each item includes the monetary value and its associated currency
            code,  

            following the structure defined in the `amountInCurrencyResource`
            schema.  

            This allows multi-currency refunds to be accurately represented and
            processed.
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
      type: object
    appeasementEligibilityResponse:
      description: >-
        A response object that contains properties and information on an item's
        eligibility for appeasement.
      properties:
        eligibleItems:
          description: >-
            An array of containing an item's eligibility for returns,
            cancellations, or exchanges.
          items:
            $ref: '#/components/schemas/appeasementEligibilityItemResource'
          type: array
        eligibleReasonCodes:
          description: An array containing the reason codes for the returns.
          items:
            $ref: '#/components/schemas/reasonCodeAndDescription'
          type: array
        orderId:
          description: The fabric system generated 24-character order ID.
          example: 62f3982438bcab1951be0a19
          type: string
        orderNumber:
          description: A unique order number.
          example: '309019176'
          type: string
        period:
          description: >-
            The return, exchange, or cancellation time window set in your
            policy.
          example: 30D00H00M
          type: string
        policyType:
          description: >-
            The policy type that determines the eligibility of an exchange,
            return, appeasement or cancellation. If omitted, the default policy
            is used.
          example: Company Policy 2023
          type: string
        remainingRefundableAmount:
          description: The order's remaining refundable amount excluding items refunds.
          example: 30.5
          type: number
        remainingRefundableAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        totalRefundableAmount:
          description: The total refundable amount for the order.
          example: 130.7
          type: number
        totalRefundableAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
      type: object
    appeasementResponse:
      description: Appeasement info
      properties:
        orderNumber:
          description: >-
            Merchant-defined order identifier. If omitted, this is generated by
            fabric's sequence generator using Configuration service
          example: '12'
          type: string
        totalAmountRefunded:
          description: Total refunded amount
          example: 25.5
          format: double
          type: number
        totalAmountRefundedInCurrencies:
          description: >
            The total amount that has been refunded, represented in one or more
            currencies.  

            Each entry provides the total refunded value and its corresponding
            currency code,  

            using the structure defined in the `amountInCurrency` schema.  

            This field enables tracking of cumulative refunds across multiple
            currencies.
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
      type: object
    auditLog:
      description: Audit log to capture change history
      properties:
        amount:
          description: Amount for which audit is done
          example: 2.4
          format: double
          type: number
        attributes:
          description: Custom attributes
          example:
            key: value
          type: object
        auditId:
          description: System-generated audit ID (UUID format)
          example: a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111
          type: string
        auditType:
          description: Audit type such as cancel, return, etc.
          example: CANCEL
          type: string
        auditedAt:
          description: Audit time (UTC)
          example: '2023-03-12T09:24:54.804Z'
          format: date-time
          type: string
        employeeId:
          description: Employee (ID or name) who made the last update
          example: '6227'
          type: string
        isSuccess:
          default: false
          description: >-
            true: Update operation (any update to the service) is successful 
            false: Update operation has failed
          example: true
          type: boolean
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it during order creation, in UUID
            format.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        lineItemNumber:
          description: Item identifier
          example: 1
          format: int32
          type: integer
        note:
          description: Additional info, if any
          example: Note
          type: string
        paymentToken:
          $ref: '#/components/schemas/orderPaymentToken'
        policyCode:
          description: >-
            Configurable in Copilot as per requirement. If omitted, default
            policy is used.
          example: POS
          type: string
        quantity:
          description: Ordered quantity of given item
          example: 1
          format: int32
          type: integer
        reasonCode:
          description: Merchant-defined reason code, varies from merchant to merchant
          example: Scratched item
          type: string
        sku:
          description: Stock keeping unit (SKU), unique item identifier
          example: SKU0023
          type: string
        source:
          description: >-
            Merchant-defined source from where the update was initiated. There
            are no predefined values; possible values could be Customer Service
            Representative (CSR), Point-of-Sale (POS), etc.
          example: POS
          type: string
        subReasonCode:
          description: >-
            Merchant-defined sub reason code; provides more clarity to audit
            reason
          example: Scratched item
          type: string
        updatedFields:
          description: Audit log for change history
          items:
            $ref: '#/components/schemas/orderAuditLogUpdatedField'
          type: array
      type: object
    cancellationItemResource:
      description: >-
        A resource used to capture detailed cancellation information at the item
        level.
      properties:
        amount:
          description: Amount
          example: '-20.'
          format: double
          type: number
        amountInCurrencies:
          description: >-
            The amount associated with the cancellation, itemized by each
            currency used within the original order.
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        attributes:
          description: Custom attributes
          type: object
        cancellationCounter:
          description: An identifier used for cancellations.
          example: 1
          type: string
        invoicedAmount:
          description: Invoiced amount
          example: '-20.'
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            description: >-
              The invoiced amount, itemized by each currency used within a
              specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        payments:
          items:
            $ref: '#/components/schemas/paymentReference'
          type: array
        quantity:
          description: The total quantity of an item for this cancellation request.
          example: 10
          format: int32
          type: integer
        reasonCode:
          description: Reason code
          example: Order line cancel
          type: string
        refunds:
          items:
            $ref: '#/components/schemas/refundDetailResource'
          type: array
        source:
          description: >-
            An optional field used to determine the source that initiated the
            API request.
          example: CSR
          type: string
        status:
          description: Cancellation status
          enum:
            - PROCESSING
            - COMPLETED
            - REJECTED
          example: PROCESSING
          type: string
        subReasonCode:
          description: Sub reason code
          example: Late shipping
          type: string
      type: object
    cancellationResource:
      description: Cancellation resource
      properties:
        amount:
          description: Amount
          example: '-20.'
          format: double
          type: number
        amountInCurrencies:
          items:
            description: >-
              The total amount, itemized by each currency used within a specific
              order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        attributes:
          description: Custom attributes
          example:
            number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        cancellationCounter:
          description: An identifier used for cancellations.
          example: 1
          type: string
        invoicedAmount:
          description: Invoiced amount
          example: '-20.'
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            description: >-
              The invoiced amount will be displayed in all currencies used for
              the order. If only a single currency was used, then only that
              currency will be shown.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        payments:
          items:
            $ref: '#/components/schemas/paymentReference'
          type: array
        reasonCode:
          description: Reason code
          example: Order Line Cancel
          type: string
        refunds:
          items:
            $ref: '#/components/schemas/refundDetailResource'
          type: array
        source:
          description: >-
            An optional field used to determine the source that initiated the
            API request.
          example: CSR
          type: string
        status:
          description: Cancellation Status
          enum:
            - PROCESSING
            - COMPLETED
            - REJECTED
          example: PROCESSING
          type: string
        subReasonCode:
          description: Sub reason code
          example: Late shipping
          type: string
      type: object
    createOrderRequest:
      description: The object containing details related to order creation.
      properties:
        adjustmentTotal:
          description: Total price adjustments for all items of the order.
          example: 123.45
          format: double
          type: number
        adjustmentTotalInCurrencies:
          items:
            description: >-
              The total adjustments made to the prices of all items in an order,
              itemized by each currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        adjustments:
          description: >-
            Price adjustments are made to modify product prices during order
            creation, aiming to incentivize shoppers by offering discounts and
            promotions based on specified criteria. Price adjustments are also
            made to apply coupons that the shopper has used.
          items:
            $ref: '#/components/schemas/adjustmentDetail'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            fraudCheckStatus: UPDATED
            fraudStatus: FRAUD_PASS
          type: object
        cartId:
          description: >-
            Unique identifier of a cart, either from fabric Cart or an external
            cart service. It is used for linking an order to a specific cart. If
            available, it is also used for inventory reservation from cart
            workflow.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        currencies:
          $ref: '#/components/schemas/currencies'
          description: The supported currency groups you defined.
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        customer:
          $ref: '#/components/schemas/invoiceCustomer'
        discounts:
          description: Discounts
          items:
            $ref: '#/components/schemas/orderDiscountRequest'
          type: array
        employeeId:
          description: Employee (ID or name) who initiated the order creation request
          example: 62272e917b12209e68751d94
          type: string
        feeTotal:
          description: Total item fee = `orderedQuantity` * Item Fee Total
          example: 12.34
          format: double
          type: number
        feeTotalInCurrencies:
          items:
            description: >-
              The total fee for an item, calculated as the `orderedQuantity`
              multiplied by the `Item Fee Total`, itemized by each currency used
              within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        fees:
          description: Fees
          items:
            $ref: '#/components/schemas/orderFeeDetail'
          type: array
        items:
          description: Items
          items:
            $ref: '#/components/schemas/orderItemRequest'
          maxItems: 2147483647
          minItems: 1
          type: array
        notes:
          description: >-
            Additional info, if any. To be used by customer service
            representative (CSR) only
          items:
            $ref: '#/components/schemas/orderNote'
          type: array
        orderDiscount:
          description: Order discount = `summationOfAll(itemDiscountTotal)`
          example: 1.23
          format: double
          type: number
        orderDiscountInCurrencies:
          items:
            description: >-
              The total discount applied to the order, calculated as the sum of
              all `itemDiscountTotal` values, itemized by each currency used
              within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        orderNumber:
          description: >-
            Merchant-defined order identifier. If omitted, this is generated by
            fabric's sequence generator using Configuration service.
          example: '309019176'
          type: string
        orderExternalId:
          type: string
          description: >
            A merchant-defined external order identifier.  

            This field is optional and can be used to reference the order in
            external 

            systems such as an ERP, OMS, or CRM.
          example: 191763090_O1231
        orderSubtotal:
          description: Recalculated order subtotal = `summationOfAll(itemSubTotal)`
          example: 123.45
          format: double
          type: number
        orderSubtotalInCurrencies:
          items:
            description: >-
              The updated subtotal for the entire order, calculated as the sum
              of all `itemSubTotal` values, itemized by each currency used
              within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        orderTotal:
          description: >-
            Total amount to be charged for the order = `orderSubTotal` -
            `orderDiscountTotal` + `orderFeeTotal` + `orderTaxTotal`.
          example: 146.9
          format: double
          type: number
        orderTotalInCurrencies:
          items:
            description: >-
              The total amount to be charged for an order, calculated as
              `orderSubTotal` - `orderDiscountTotal` + `orderFeeTotal` +
              `orderTaxTotal`, itemized by each currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        orderedAt:
          description: >-
            Merchant-defined order creation time in UTC. It is mandatory in the
            request body of Create Order endpoint - `POST /orders`.
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        payments:
          description: Payments
          items:
            $ref: '#/components/schemas/orderPaymentRequest'
          type: array
        retail:
          $ref: '#/components/schemas/orderRetail'
        shipInfo:
          description: Shipping info
          items:
            $ref: '#/components/schemas/orderShipInfo'
          maxItems: 2147483647
          minItems: 1
          type: array
        statusCode:
          description: Status code. Primarily used for Point-of-Sale (POS) orders.
          example: ORDER_CREATED
          type: string
        statusDescription:
          description: Description corresponding to `statusCode`
          example: Order Created
          type: string
        subtype:
          description: Order subtype, for additional classification
          enum:
            - IOS
            - ANDROID
            - INTERNATIONAL
          example: INTERNATIONAL
          type: string
        taxTotal:
          description: >-
            Total tax on order =
            `summationOfAll(itemTaxTotal)+summationOfAll(tax[].value)`
          example: 12.34
          format: double
          type: number
        taxTotalInCurrencies:
          items:
            description: >-
              The total tax on an order, calculated as the sum of all
              `itemTaxTotal` values and all `tax[].value` values, itemized by
              each currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        type:
          description: >-
            Order type. It is critical for order life cycle as it indicates the
            workflow that varies with the type. For example, Storefront orders
            have different workflows than Call Center orders. fabric Orders
            service offers standard configurations for Storefront, Call Center,
            Point of Sale, iOS, Android, and International.
          enum:
            - WEB
            - CSC
            - MOBILE_APP
            - POS
          example: WEB
          type: string
        requestContext:
          $ref: '#/components/schemas/requestReferenceContextResource'
          description: Request reference context information
      required:
        - items
        - orderNumber
        - statusCode
      type: object
    creditsEligibilityResponse:
      description: Credits eligibility model
      properties:
        description:
          description: Description provided while requesting credits (for reference)
          example: Policy used to add credits
          type: string
        eligibleReasonCodes:
          description: Reason codes to support credits request
          items:
            $ref: '#/components/schemas/reasonCodeAndDescription'
          type: array
        orderId:
          description: 24-character system-generated order ID
          example: 62f3982438bcab1951be0a19
          type: string
        policyName:
          description: Merchant-given policy name.
          example: Credits policy
          type: string
        policyType:
          description: Policy type used to check credits eligibility
          example: credits
          type: string
      type: object
    creditsRequest:
      description: Request for credits
      properties:
        amount:
          description: Credits amount
          example: 21.5
          format: double
          type: number
        amountInCurrencies:
          description: >
            A list of amounts represented in different currencies.  

            Each item includes a monetary value and its corresponding currency
            code,  

            following the structure defined in the `amountInCurrency` schema.  

            This field is used to represent multi-currency totals or balances.
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info in key-value pairs.
          example:
            giftCardNumber: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        employeeId:
          description: Employee (ID or name) who initiated a the credits request
          example: '12312232'
          type: string
        note:
          description: Note
          example: Credit request initiated
          type: string
        paymentCounter:
          description: >-
            A sequential or incremental counter associated with a payment for an
            order. Applicable in refund scenarios to identify the specific
            payment for refund.
          example: 1
          format: int32
          type: integer
        policyCode:
          description: >-
            Merchant-defined policy code, varies from merchant to merchant. If
            omitted, the default policy is used.
          example: RC1
          type: string
        reasonCode:
          description: Reason code
          example: EC
          type: string
        source:
          description: Source of credits request
          example: CSR
          type: string
        subReasonCode:
          description: Subreason code
          example: ACC
          type: string
        type:
          description: Credit type. Currently, supports only Gift Card
          enum:
            - GIFT_CARD
          example: GIFT_CARD
          type: string
      required:
        - amount
        - currency
        - reasonCode
        - source
        - type
      type: object
    creditsResponse:
      description: Credit response
      properties:
        amount:
          description: Credits amount
          example: 21.5
          format: double
          type: number
        amountInCurrencies:
          description: >
            A list of amounts represented in different currencies.  

            Each item includes a monetary value and its corresponding currency
            code,  

            following the structure defined in the `amountInCurrency` schema.  

            This field is used to represent multi-currency totals or balances.
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info in key-value pairs.
          example:
            giftCardNumber: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        createdAt:
          description: Credits creation time, in UTC format
          example: '2022-07-11T15:03:14.642Z'
          format: date-time
          type: string
        creditId:
          description: Unique UUID of credit
          example: a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111
          type: string
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        employeeId:
          description: Employee (ID or name) who initiated a the credits request
          example: '12312232'
          type: string
        note:
          description: Note
          example: Credit request initiated
          type: string
        paymentCounter:
          description: >-
            A sequential or incremental counter associated with a payment for an
            order. Applicable in refund scenarios to identify the specific
            payment for refund.
          example: 1
          format: int32
          type: integer
        policyCode:
          description: >-
            Merchant-defined policy code, varies from merchant to merchant. If
            omitted, the default policy is used.
          example: RC1
          type: string
        reasonCode:
          description: Reason code
          example: EC
          type: string
        source:
          description: Source of credits request
          example: CSR
          type: string
        statusCode:
          description: Credit status
          enum:
            - PENDING
            - CONFIRMED
            - FAILED
            - CANCELED
          example: PENDING
          type: string
        subReasonCode:
          description: Subreason code
          example: ACC
          type: string
        type:
          description: Credit type. Currently, supports only Gift Card
          enum:
            - GIFT_CARD
          example: GIFT_CARD
          type: string
        updatedAt:
          description: Time of last update to credits, in UTC format.
          example: '2022-07-11T15:03:14.642Z'
          format: date-time
          type: string
      required:
        - amount
        - currency
        - reasonCode
        - source
        - type
      type: object
    currencies:
      description: currencies
      properties:
        groups:
          items:
            $ref: '#/components/schemas/currencyGroup'
          type: array
        primaryCurrency:
          description: Primary currency for order
          example: SHOPPER
          type: string
      type: object
    currencyGroup:
      description: CurrencyGroup object details.
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            fxId: ID123
          type: object
        conversionRate:
          description: conversion rate
          example: 1
          format: double
          type: number
        currency:
          description: Currency in ISO-4217
          example: USD
          type: string
        group:
          description: >-
            A unique identifier for currencies. All calculations and invoicing
            are based on this identifier. For example, the `Shopper` group uses
            USD, while the `Retailer` group uses EUR.
          example: SHOPPER
          type: string
      required:
        - currency
        - group
      type: object
    customerResponse:
      description: Response for customer update request
      properties:
        failedCount:
          description: Failed count
          example: 2
          format: int32
          type: integer
        failedOrderIds:
          description: OrderIds of orders for which update failed
          example:
            - 123k4h123k
            - 123k4h124k
          items:
            description: OrderIds of orders for which update failed
            example: '["123k4h123k","123k4h124k"]'
            type: string
          type: array
        successCount:
          description: Success count
          example: 18
          format: int32
          type: integer
        totalRecordCount:
          description: Total record count
          example: 10
          format: int32
          type: integer
      type: object
    eligibilityResponse:
      description: Eligibility details object.
      properties:
        eligibleReasonCodes:
          description: Reason codes for returns
          items:
            $ref: '#/components/schemas/reasonCodeAndDescription'
          type: array
        fees:
          description: Fee details
          items:
            $ref: '#/components/schemas/policyFeeResource'
          type: array
        items:
          description: Item's eligibility for return, cancellation, or exchange
          items:
            $ref: '#/components/schemas/itemEligibilityResource'
          type: array
        orderId:
          description: 24-character system-generated order ID
          example: 62f3982438bcab1951be0a19
          type: string
        period:
          description: Return, exchange or cancellation window as per merchant policy
          example: 30D00H00M
          type: string
        policyType:
          description: >-
            Policy type that determines eligibility of exchange, return, or
            cancellation. If omitted, the default policy is considered.
          example: Company Policy 2023
          type: string
      type: object
    errorResponse:
      description: Error response
      properties:
        errors:
          description: Errors
          items:
            $ref: '#/components/schemas/errorResponse'
          type: array
        message:
          description: Error message
          example: Bad request
          type: string
        type:
          description: Error type
          example: CLIENT_ERROR
          type: string
      type: object
    erroredField:
      description: >-
        An object containing information on error fields, error messages, and
        the amended status.
      properties:
        amended:
          description: A boolean that signifies if the error has been amended.
          example: false
          type: boolean
        errorMessage:
          description: The reason the error occurred.
          example: Invalid email address
          type: string
        fieldName:
          description: The name of the field where the error occurred.
          example: shipInfo.shipToAddress.email
          type: string
      required:
        - amended
        - errorMessage
        - fieldName
      type: object
    fraudCancelRequest:
      description: Fraud cancellation
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            salesRepId: '123456789'
          type: object
        employeeId:
          description: >-
            Employee (ID or name) who initiated the request of fraud
            cancellation
          example: '12312232'
          type: string
        note:
          description: Additional info, if any
          example: Fraud cancellation
          type: string
        reasonCode:
          description: Merchant-defined reason code for fraud cancellation
          example: Fraudulent order
          type: string
        subReasonCode:
          description: >-
            Subreason code for fraud cancellation, for another layer of
            classification
          example: Impersonation
          type: string
      required:
        - reasonCode
      type: object
    invoiceCustomer:
      description: Invoice customer
      properties:
        accountId:
          description: >-
            Customer's loyalty account ID or external identifier that is used to
            track their loyalty program activity and rewards earned.
          example: 62272e917b12209e68751d94
          type: string
        company:
          description: Shopper's company name. This may be used for company discounts.
          example: Demo Inc
          type: string
        email:
          description: Contact person's email
          example: test@example.com
          type: string
        employeeId:
          description: Employee (ID or name) who initiated an update request
          example: 62272e917b12209e68751d94
          type: string
        name:
          $ref: '#/components/schemas/orderContactName'
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        userId:
          description: >-
            Identifier of the logged in user who initiated the request. This
            could be from either fabric Identity service or an external Identity
            service.
          example: 62272e917b12209e68751d94
          type: string
      type: object
    itemEligibilityResource:
      description: Item's eligibility for return, cancellation, or exchange
      properties:
        eligibleQuantity:
          description: >-
            Quantity of the given item eligible for return, cancellation, or
            exchange
          example: 10
          format: int32
          type: integer
        isEligible:
          description: >-
            true: Item is eligible for return or exchange  false: Item is not
            eligible for return or exchange
          example: true
          type: boolean
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it during order creation, in UUID
            format.
          example: 62f3dfc438bcab1951be0a19
          type: string
        sku:
          description: Stock keeping unit (SKU), unique identifier of item
          example: P1234
          type: string
      type: object
    itemFeeDetails:
      description: Item fees object containing item fee details.
      properties:
        amount:
          description: Tax amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            description: >-
              The total tax amount, itemized by each currency used within the
              order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        attributes:
          additionalProperties:
            description: >-
              Merchant-defined custom attributes. This is a placeholder for
              additional info (in key-value pairs).
            type: object
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          type: object
        currency:
          default: USD
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        invoiceQuantity:
          description: >-
            Total quantity invoiced. If customer placed order for 10 quantity of
            an item and only 2 got shipped then 2 is the `invoiceQuantity`
          example: 10
          format: int32
          type: integer
        name:
          description: Applied tax name
          example: STATE
          type: string
        quantity:
          description: Total number of items in the order
          example: 12
          format: int32
          type: integer
        refundAmount:
          description: Total refund amount
          example: 21.5
          format: double
          type: number
        refundAmountInCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        taxCode:
          description: Tax code applied
          example: FR01
          type: string
      type: object
    itemFulfillmentResource:
      type: object
      description: Item fulfillment model
      properties:
        isFulfillable:
          type: boolean
          default: 'true'
          description: >-
            Indicates whether the item can be fulfilled based on its current
            state and configuration.
          example: true
        isInventoryManaged:
          type: boolean
          default: 'true'
          description: >-
            To identify if an inventory is managed or not for the respective
            item
          example: true
        locationNumber:
          type: string
          description: Location number
          example: 123
        shipFromAddress:
          $ref: '#/components/schemas/address'
        trackingDetails:
          $ref: '#/components/schemas/trackingDetailsResource'
          description: Tracking details for the shipment
        attributes:
          type: object
          additionalProperties:
            type: object
          description: Custom attributes for this item
          example:
            attribute1: value
    markItemsAsShippedRequest:
      type: object
      description: Request to mark items as shipped directly on an order
      properties:
        shippingDetails:
          $ref: >-
            #/components/schemas/markItemsAsShippedRequestShippingDetailsResource
          description: Details for the shipment
        items:
          type: array
          items:
            $ref: '#/components/schemas/markItemsAsShippedRequestShippedItemResource'
      required:
        - items
    markItemsAsShippedRequestShippedItemResource:
      type: object
      description: Item to be marked as shipped
      properties:
        lineItemId:
          type: string
          description: Line item ID
          example: 18b09fca-9374-4250-ab7a-8153ec723089
        attributes:
          type: object
          additionalProperties:
            type: object
          description: Custom attributes for this item
          example:
            attribute1: value
      required:
        - lineItemId
    markItemsAsShippedRequestShippingDetailsResource:
      type: object
      description: Shipping details
      properties:
        locationNumber:
          type: string
          description: Location number for the shipment
          example: 123A
        shipFromAddress:
          $ref: '#/components/schemas/address'
          description: Ship from address information
        trackingDetails:
          $ref: '#/components/schemas/trackingDetailsResource'
          description: Tracking details for the shipment
    orderAppeasementDetail:
      description: The order appeasement details object containing appeasement details.
      properties:
        amount:
          description: >-
            Merchant-defined appeasement amount, which should not exceed
            (`charged amount` - `already refunded amount`).
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            description: >-
              The appeasement amount specified by the merchant, which must not
              be greater than the difference between the charged amount and any
              amounts already refunded, itemized by each currency used within
              the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        appeasementCounter:
          description: >-
            Sequential or incremental counter for appeasement. Used for keeping
            track of duplicates in the request. If omitted in the request, it is
            automatically generated and will not be used to check duplicates.
            Multiple appeasement calls for the same order can cause repetition
            of appeasement counter and may cause the request to be rejected
            completely.
          example: 1
          format: int32
          type: integer
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info in key: value pairs
          example:
            number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        invoicedAmount:
          description: >-
            System-generated amount from Invoice service based on requested
            `amount`
          example: 34.56
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            description: >-
              System-generated amount from Invoice service based on requested
              `amount` in all currencies used by an order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        payments:
          items:
            $ref: '#/components/schemas/orderAppeasementPaymentInfo'
          type: array
        reasonCode:
          description: >-
            Merchant-defined appeasement reason code; varies from merchant to
            merchant.
          example: Incorrect Item
          type: string
        refunds:
          items:
            $ref: '#/components/schemas/refundDetailResource'
          type: array
        source:
          description: >-
            An optional field used to determine the source that initiated the
            API request.
          example: CSR
          type: string
        subReasonCode:
          description: Subreason code for appeasement, for another layer of classification
          example: Late shipping
          type: string
      type: object
    orderAppeasementPaymentInfo:
      description: Order appeasement payment info
      properties:
        paymentCounter:
          description: Payment counter to identify which payment to refund.
          example: 1
          format: int32
          type: integer
        refundAmount:
          description: Refund amount for appeasements.
          example: 34.56
          format: double
          type: number
        refundAmountInCurrencies:
          items:
            description: >-
              The refund amount specifically for appeasements, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
      type: object
    orderAttributesUpdateRequest:
      description: An object containing order attributes update request details.
      properties:
        attributes:
          additionalProperties:
            description: An object containing your custom attributes.
            example:
              fraudCheckStatus: UPDATED
              loyaltyStatus: 'N'
            type: object
          description: An object containing your custom attributes.
          example:
            fraudCheckStatus: UPDATED
            loyaltyStatus: 'N'
          type: object
        keysToRemove:
          description: A list of keys to be removed.
          items:
            type: string
          type: array
      required:
        - attributes
      type: object
    orderAuditLogUpdatedField:
      description: Audit log for change history
      properties:
        fieldName:
          description: Field or property name that was updated
          example: UOM
          type: string
        fieldOriginalValue:
          description: Original value of `fieldName` before it was updated
          example: PK
          type: string
      type: object
    orderCancelLineItem:
      description: An object containing the cancellation details of an item.
      properties:
        attributes:
          description: Custom attributes
          example:
            number: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        itemUnitNumber:
          description: Item unit number cancelled.
          example: 1
          format: int32
          type: integer
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it (in UUID format) during order
            creation.
          example: '12'
          type: string
        quantity:
          description: Quantity of given item to be cancelled
          example: 1
          format: int32
          minimum: 1
          type: integer
        reasonCode:
          description: >-
            Merchant-defined reason code for item cancellation; varies from
            merchant to merchant
          example: Incorrect item
          type: string
        subReasonCode:
          description: >-
            Subreason code for item cancellation, for another layer of
            classification.
          example: Not the right color
          type: string
      required:
        - itemUnitNumber
        - lineItemId
        - quantity
      type: object
    orderCancellationRequest:
      description: Order cancellation request
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            isPerishable: 'false'
          type: object
        employeeId:
          description: Employee (ID or name) who initiated the order cancellation request
          example: '12312232'
          type: string
        items:
          description: Cancellation request
          items:
            $ref: '#/components/schemas/orderCancelLineItem'
          type: array
        note:
          description: Additional notes, if any
          example: This is a note
          type: string
        policyCode:
          description: >-
            Merchant-defined policy code, varies from merchant to merchant. If
            omitted, the default policy is used.
          example: RC1
          type: string
        reasonCode:
          description: Reason code for cancellation, varies from merchant to merchant
          example: Incorrect order
          type: string
        releaseSoftReservation:
          type: boolean
        source:
          description: >-
            Merchant-defined source from where the cancellation request was
            initiated. There are no pre-defined values; possible values could be
            Customer Service Representative (CSR), point-of-sale (POS), etc.
          example: CSR
          type: string
        subReasonCode:
          description: >-
            Subreason code for order cancellation, for another layer of
            classification
          example: Incorrect specification
          type: string
        requestContext:
          $ref: '#/components/schemas/requestReferenceContextResource'
          description: Request reference context information
      required:
        - reasonCode
      type: object
    orderContactName:
      description: Contact person's name
      properties:
        firstName:
          description: Contact person's first name
          example: Alex
          type: string
        lastName:
          description: Contact person's last name
          example: Doe
          type: string
        middleName:
          description: Contact person's middle name or initial
          example: E
          type: string
      type: object
    orderContactPhone:
      description: Contact person's phone details.
      properties:
        number:
          description: Contact person's phone number
          example: 123-456-7890
          type: string
        type:
          description: Contact number type
          enum:
            - MOBILE
            - HOME
            - BUSINESS
          example: MOBILE
          type: string
      type: object
    orderCreateAppeasementRequest:
      description: Appeasement request
      properties:
        appeasements:
          description: >-
            Order-level appeasement details. At least one order-level or
            item-level appeasement must be added.
          items:
            $ref: '#/components/schemas/orderAppeasementDetail'
          type: array
        customer:
          $ref: '#/components/schemas/invoiceCustomer'
        items:
          description: >-
            Item-level appeasements. At least one order-level or item-level
            appeasement must be added.
          items:
            $ref: '#/components/schemas/orderLineItemAppeasement'
          type: array
        orderExternalId:
          type: string
          description: >
            A merchant-defined external order identifier.  

            This field is optional and can be used to reference the order in
            external 

            systems such as an ERP, OMS, or CRM.
          example: 191763090_O1231
        source:
          description: >-
            Merchant-defined source from where the appeasement request was
            initiated. There are no pre-defined values; possible values are
            Customer Service Representative (CSR), point-of-sale (POS), etc.
          example: Storefront
          type: string
        userId:
          description: >-
            Identifier of the logged in user who initiated the request. This
            could be from either fabric Identity service or an external Identity
            service.
          example: '12'
          type: string
        requestContext:
          $ref: '#/components/schemas/requestReferenceContextResource'
          description: Request reference context information
      required:
        - source
        - userId
      type: object
    orderCreditUpdateRequest:
      description: >-
        An object containing update credits details. This is only triggered on
        request.
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            giftCardNumber: XlQZTmFDFtPFGMxJP6oiAqN3vo+qKZ
          type: object
        creditId:
          description: Unique UUID of credit
          example: a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111
          type: string
        note:
          description: Placeholder for additional information, if any.
          example: Credit request initiated
          type: string
        statusCode:
          description: Credit status
          enum:
            - PENDING
            - CONFIRMED
            - FAILED
            - CANCELED
          example: PENDING
          type: string
      required:
        - creditId
        - statusCode
      type: object
    orderCreditsRequest:
      description: Credits request
      properties:
        credits:
          items:
            $ref: '#/components/schemas/creditsRequest'
          type: array
      required:
        - credits
      type: object
    orderCreditsResponse:
      description: Credits response
      properties:
        credits:
          items:
            $ref: '#/components/schemas/creditsResponse'
          type: array
      type: object
    orderDiscount:
      description: An object containing all the discount details for an order.
      properties:
        amount:
          description: Discounted amount for the given `quantity` within an order.
          example: 2.99
          format: double
          type: number
        amountInCurrencies:
          items:
            description: >-
              Discounted amount for the given `quantity`, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        invoiceQuantity:
          description: >-
            Total quantity invoiced. If customer placed order for 10 quantity of
            an item and only 2 got shipped, then 2 is the `invoiceQuantity`.
          example: 10
          format: int32
          type: integer
        promotionCode:
          description: >-
            Promotion code used by shoppers to take advantage of an ongoing
            promotion.
          example: HNY2022
          type: string
        promotionId:
          description: >-
            Unique promotion ID either from fabric Offers service or external
            Offers service. When fabric Offers service is used, this is the
            24-character system-generated promotion ID returned in the response
            of create promotion endpoint.
          example: HNY2022
          type: string
        promotionName:
          description: Promotion name
          example: New Year
          type: string
        quantity:
          description: >-
            Number of discounted items in an order such as buy 2 get 1 free. In
            this case 1 is the discounted quantity.
          example: 1
          format: int32
          type: integer
        unit:
          description: Indicates whether the discount is in amount or percentage
          example: AMOUNT_OFF
          type: string
        value:
          description: Value corresponding to `unit`
          example: 10
          format: int32
          type: integer
      type: object
    orderDiscountRequest:
      description: Order discount
      properties:
        amount:
          description: The discount amount applied to a specific quantity of items.
          example: 2.4
          format: double
          type: number
        amountInCurrencies:
          items:
            description: >-
              The discount amount applied to a specific quantity of items,
              itemized by each currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        promotionCode:
          description: >-
            Promotion code used by shoppers to take advantage of an ongoing
            promotion.
          example: HNY2022
          type: string
        promotionId:
          description: >-
            Unique promotion ID either from fabric Offers service or external
            Offers service. When fabric Offers service is used, this is the
            24-character system-generated promotion ID returned in the response
            of Create promotion endpoint.
          example: HNY2022
          type: string
        promotionName:
          description: Promotion name
          example: New Year
          type: string
        quantity:
          description: Discounted quantity of given item
          example: 2
          format: int32
          type: integer
        type:
          description: Promotion type. There are no pre-defined values.
          example: promotion
          type: string
        unit:
          description: Discount offer - dollar value or percentage
          example: AMOUNT_OFF
          type: string
        value:
          description: Discount value in amount or percentage
          example: 2
          format: int32
          type: integer
      type: object
    orderFeeDetail:
      description: An object containing an orders fee details.
      properties:
        amount:
          description: Tax amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            description: >-
              The total tax amount, itemized by each currency used within the
              order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        attributes:
          additionalProperties:
            description: >-
              Merchant-defined custom attributes. This is a placeholder for
              additional info (in key-value pairs).
            type: object
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          type: object
        currency:
          default: USD
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        invoicedAmount:
          description: >-
            System-generated amount from Invoice service based on requested
            `amount`
          example: 34.56
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            description: >-
              A System-generated amount returned from the Invoice service based
              on requested `amount` in all currencies used by an order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        name:
          description: Applied tax name
          example: STATE
          type: string
        rate:
          description: Rate
          example: 10
          format: double
          type: number
        rateType:
          description: Rate type
          example: PERCENTAGE
          type: string
        taxCode:
          description: Tax code applied
          example: FR01
          type: string
      type: object
    orderItem:
      description: An object containing an orders item details.
      properties:
        adjustments:
          description: >-
            Price adjustments are made to modify product prices during order
            creation, aiming to incentivize shoppers by offering discounts and
            promotions based on specified criteria. Price adjustments are also
            made to apply coupons that the shopper has used.
          items:
            $ref: '#/components/schemas/adjustmentDetail'
          type: array
        appeasementTotal:
          description: >-
            Appeasement total = `summationOfAll(appeasements[].amount and
            items[].appeasements[].amount)`
          example: 5.5
          format: double
          type: number
        appeasementTotalInCurrencies:
          items:
            description: >-
              The total appeasement amount, calculated as the sum of all
              `appeasements[].amount` and `items[].appeasements[].amount`
              values, expressed in all currencies used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        appeasements:
          description: Appeasement info
          items:
            $ref: '#/components/schemas/orderAppeasementDetail'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            colorCode: '001'
            isDonation: 'false'
            style: '570223020'
          type: object
        backOrderedQuantity:
          description: Backordered quantity of given item
          example: 10
          format: int32
          type: integer
        cancellations:
          items:
            $ref: '#/components/schemas/cancellationItemResource'
          type: array
        cancelledAmount:
          description: >-
            Cancelled amount is either voided (payment is only authorized but
            not captured at checkout) or refunded (amount is authorized and
            captured at checkout).
          example: 12.4
          format: double
          type: number
        cancelledAmountInCurrencies:
          items:
            description: >-
              The total amount cancelled, itemized by each currency used within
              the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        cancelledQuantity:
          description: Cancelled quantity of an item
          example: 10
          format: int32
          type: integer
        channelId:
          description: Sales channel ID
          example: WHBM
          type: string
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        deliveredQuantity:
          description: Delivered quantity of an item
          example: 10
          format: int32
          type: integer
        discounts:
          description: Discount details
          items:
            $ref: '#/components/schemas/orderDiscount'
          type: array
        employeeId:
          description: Employee (ID or name) who initiated the request
          example: 5345HJH
          type: string
        exchangeQuantity:
          description: System-generated item quantity that are exchanged
          example: 13
          format: int32
          type: integer
        fees:
          description: Fee details
          items:
            $ref: '#/components/schemas/itemFeeDetails'
          type: array
        fulfillment:
          $ref: '#/components/schemas/itemFulfillmentResource'
        hasInfiniteConsent:
          description: >-
            Applicable for backorder and preorder scenarios where customer
            consents for further delay in delivery of preordered and backordered
            items than the initial estimate. **true:** Customer consents for
            delayed delivery. **false:** Customer does not consent for delayed
            delivery.
          example: true
          type: boolean
        invoiceTotal:
          description: Invoice total is updated once invoice created
          example: 800
          format: double
          type: number
        invoiceTotalInCurrencies:
          items:
            description: >-
              The total amount to be charged for the invoice, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        invoicedQuantity:
          description: Invoiced quantity of an item
          example: 10
          format: int32
          type: integer
        isBackorder:
          description: >-
            Merchant-defined value. **true:** Backordered item. **false:**
            Ordered item.
          example: true
          type: boolean
        isDonation:
          description: '**true:** Item is a donation. **false:** Item is not a donation.'
          example: true
          type: boolean
        isExchangeItem:
          description: >-
            Merchant-defined value for exchange scenarios. **true:** Item is an
            exchange. **false:** Item is not an exchange.
          example: true
          type: boolean
        isGifting:
          description: '**true:** Item is a gift. **false:** Item is not a gift.'
          example: true
          type: boolean
        isPreorder:
          description: >-
            Merchant-defined value. **true:** Pre-ordered item. **false:**
            Ordered item.
          example: true
          type: boolean
        isFulfillable:
          type: boolean
          description: >
            Determines whether an **Allocation** document must be created before
            fulfillment.  

            - If `false`, the allocation step is skipped and the process
            continues directly to **Invoice & Payment Capture**.  

            - If omitted, the system defaults to `true`.
          example: true
          default: true
        isInventoryManaged:
          type: boolean
          description: >
            Indicates whether the **On-Hand / Available to Purchase** quantity
            is managed in fabric OMS.  

            - If `false`, inventory management is bypassed and no inventory
            document is created in OMS.  

            - If omitted, the system defaults to `true`.
          example: true
          default: true
        itemAdjustmentTotal:
          description: Total price adjustment made to the item.
          example: 123.45
          format: double
          type: number
        itemAdjustmentTotalInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemDiscountsTotal:
          description: >-
            Item's total discount = `summationOfAll(discounts[].amount)'. Refer
            to `amount` in `orderDiscount`.
          example: 80
          format: double
          type: number
        itemDiscountsTotalInCurrencies:
          items:
            description: >-
              The total discount applied to an item, calculated as the sum of
              all `discounts[].amount` values, expressed in all currencies used
              within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemFeeTotal:
          description: >-
            Recalculated item's fee = `summationOfAll(itemFeeTotal)`. Refer to
            `amount` in `itemFeeDetails`
          example: 200
          format: double
          type: number
        itemFeeTotalInCurrencies:
          items:
            description: >-
              The updated fee for an item, calculated as the sum of all
              `itemFeeTotal` values, expressed in all currencies used within the
              order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemId:
          description: >-
            System-generated unique identifier of item from fabric Products
            (PIM) service
          example: 1234
          format: int32
          type: integer
        itemName:
          description: Item name
          example: Item
          type: string
        itemShippingTotal:
          description: Merchant-defined item's shipping total
          example: 10
          format: double
          type: number
        itemShippingTotalInCurrencies:
          items:
            description: >-
              The updated total shipping cost for an item, expressed in all
              currencies used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemSubtotal:
          description: >-
            Recalculated item's subtotal = `itemUnitPrice x (orderedQuantity -
            cancelledQuantity)`
          example: 600
          format: double
          type: number
        itemSubtotalInCurrencies:
          items:
            description: >-
              The updated subtotal for an item, calculated as `itemUnitPrice x
              (orderedQuantity - cancelledQuantity)`, itemized by each currency
              used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemSubtype:
          description: Subtype of `type`, for another layer of classification.
          example: Borderfree
          type: string
        itemTaxTotal:
          description: Recalculated total tax on item = `summationOfAll(itemTaxTotal)`
          example: 80
          format: double
          type: number
        itemTaxTotalInCurrencies:
          items:
            description: >-
              The updated total tax on an item, calculated as the sum of all
              `itemTaxTotal` values, itemized by each currency used within the
              order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemTotal:
          description: >-
            Recalculated item's total cost = `itemSubTotal - itemDiscountTotal 
            + itemTaxTotal + itemFeeTotal`.
          example: 800
          format: double
          type: number
        itemTotalInCurrencies:
          items:
            description: >-
              The updated total cost of an item, calculated as `itemSubTotal -
              itemDiscountTotal + itemTaxTotal + itemFeeTotal`, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemUnitPrice:
          description: Item's unit price
          example: 10
          format: double
          type: number
        itemUnitPriceInCurrencies:
          items:
            description: >-
              The price of a single unit of an item, itemized by each currency
              used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it (in UUID format) during order
            creation.
          example: d538b1f1-0e45-43c6-bfc6-9666fc1188ca
          type: string
        lineItemNumber:
          description: Merchant-defined line item number to identify each item in an order
          example: 1
          format: int32
          type: integer
        lineOrderStatus:
          description: >-
            System-generated status for each item in the orders - SHIPPED,
            RETURNED, CANCELLED, EXCHANGED, VALID, and the like
          example: VALID
          type: string
        notes:
          description: >-
            For additional information, to be used by Customer Service
            Representative (CSR) only
          items:
            $ref: '#/components/schemas/orderNote'
          type: array
        orderedQuantity:
          description: Ordered quantity of given item
          example: 60
          format: int32
          type: integer
        orderedQuantityToShip:
          description: >-
            Quantity of given item that is yet to ship, out of the initially
            allocated quantity. For example, if a customer orders four units of
            an item, inventory will reserve four units of the item. If only two
            units are currently available and are shipped, the remaining two
            units will be considered as the `pendingShippedQuantity`.
          example: 10
          format: int32
          type: integer
        originalDiscounts:
          description: >-
            System-generated total discount, auto-filled by Orders service when
            the order is placed.
          example: 50
          format: double
          type: number
        originalDiscountsInCurrencies:
          items:
            description: >-
              The initial discounts applied, itemized by each currency used
              within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalFeeTotal:
          description: >-
            System-generated fee total, auto-filled by fabric Orders when the
            order is placed. This is saved for reference in case the value
            changes later.
          example: 300
          format: double
          type: number
        originalFeeTotalInCurrencies:
          items:
            description: >-
              The initial total fee amount, itemized by each currency used
              within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalItemAdjustmentTotalInCurrencies:
          items:
            description: >-
              The initial total value of item adjustments, itemized by each
              currency used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalItemSubtotal:
          description: >-
            System-generated total discount, auto-filled by Orders service when
            the order is placed.
          example: 800
          format: double
          type: number
        originalItemSubtotalInCurrencies:
          items:
            description: >-
              The initial subtotal for an item, itemized by each currency used
              within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalItemTotal:
          description: >-
            System-generated item total cost, auto-filled by Orders service when
            the order is placed
          example: 500
          format: double
          type: number
        originalItemTotalInCurrencies:
          items:
            description: >-
              The initial total cost of an item, itemized by each currency used
              within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalOutstandingItemTotalInCurrencies:
          items:
            description: >-
              The initial outstanding total cost of items that had not yet been
              paid for, itemized by each currency used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalShippingTotal:
          description: >-
            System-generated total shipping cost, auto-filled by Orders service
            when the order is placed.
          example: 80
          format: double
          type: number
        originalShippingTotalInCurrencies:
          items:
            description: >-
              The initial total shipping cost, itemized by each currency used
              within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalTaxTotal:
          description: >-
            System-generated total tax, auto-filled by Orders service when the
            order is placed.
          example: 90
          format: double
          type: number
        originalTaxTotalInCurrencies:
          items:
            description: >-
              The initial total tax amount, itemized by each currency used
              within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        outstandingItemTotalInCurrencies:
          items:
            description: >-
              The remaining total cost of items that have not yet been paid for,
              itemized by each currency used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        parentLineItemNumber:
          description: >-
            Applicable in exchange scenarios. Item being returned is the
            `parentLineItemNumber`.
          example: 12
          format: int32
          type: integer
        pendingExchangeQuantity:
          description: System-generated item quantity pending for exchange
          example: 12
          format: int32
          type: integer
        pendingReturnQuantity:
          description: >-
            Quantity of an item awaiting approval for return. For example, when
            customer initiates return request for 2 units of an item, the
            request will be initially in a pending status because they are
            awaiting approval from merchant. They are referred to as
            `pendingReturnQuantity`.
          example: 10
          format: int32
          type: integer
        pendingShippedBackOrderQuantity:
          description: >-
            Backordered quantity that is yet to be shipped. For example, If a
            customer places a backorder for four units of an item, inventory
            will reserve four units of the item to ship when they become
            available. If only two units are available and are shipped, the
            remaining two backordered units will be considered as the
            `pendingShippedBackOrderQuantity`.
          example: 10
          format: int32
          type: integer
        processingReturnQuantity:
          description: >-
            Quantity of an item currently being processed for return. For
            example, when merchant approves return of 1 out of 2 units of an
            item, then 1 is the `processingReturnQuantity`
          example: 10
          format: int32
          type: integer
        quantityInStatus:
          $ref: '#/components/schemas/quantityInStatus'
        refundAmount:
          description: Merchant-defined total refund amount
          example: 21.5
          format: double
          type: number
        refundAmountInCurrencies:
          items:
            description: >-
              The total refund amount, itemized by each currency used within a
              specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        rejectedReturnQuantity:
          description: >-
            Quantity of an item rejected in return request. For example, For
            example, when merchant rejects return of 1 out of 2 units of an
            item, then 1 is the `rejectedReturnQuantity`.
          example: 10
          format: int32
          type: integer
        reshippedQuantity:
          description: Reshipped quantity of given item (in case of lost shipment)
          example: 10
          format: int32
          type: integer
        returnedQuantity:
          description: Returned quantity of given item
          example: 10
          format: int32
          type: integer
        returns:
          description: Order return details
          items:
            $ref: '#/components/schemas/orderReturns'
          type: array
        shipToId:
          description: >-
            System-generated ship-to ID (UUID) associated with `shipInfo`,
            generated from CnC service. **Note**: An order can have multiple
            ship-to (delivery) locations and items going to the one location
            will have the same `shipToId`.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        shippedQuantity:
          description: Shipped quantity of an item
          example: 10
          format: int32
          type: integer
        sku:
          description: Stock keeping unit (SKU), unique identifier of item
          example: P1234
          type: string
        taxCode:
          description: Applicable tax code, varies from state to state
          example: FR01
          type: string
        taxDetails:
          description: Tax details
          items:
            $ref: '#/components/schemas/taxDetail'
          type: array
        type:
          description: >-
            Order type. Critical in order life cycle as it indicates the
            workflow that varies with the type. For example, Storefront orders
            have a different workflow than Call Center orders. fabric Orders
            service offers default configurations for Storefront, Call Center,
            Point of Sale, iOS, Android, and International.
          example: WEB_SHIP
          type: string
        uom:
          description: >-
            Unit in which a product is sold or measured. It is important to
            accurately fulfill orders and ensure customers receive the correct
            quantity of products they have ordered. The possible values are EA
            (Each) or GAL (Gallon), DZ (Dozen), etc.
          example: EA
          type: string
        vendorId:
          description: >-
            Vendor ID. Applicable in drop shipping to indicate vendor
            responsible for given item.
          example: P1234
          type: string
      required:
        - itemId
        - lineItemId
        - lineItemNumber
        - shipToId
        - sku
      type: object
    orderItemRequest:
      description: Order item model
      properties:
        adjustments:
          description: >-
            Price adjustments are made to modify product prices during order
            creation, aiming to incentivize shoppers by offering discounts and
            promotions based on specified criteria. Price adjustments are also
            made to apply coupons that the shopper has used.
          items:
            $ref: '#/components/schemas/adjustmentDetail'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info in key: value pairs
          example:
            colorCode: '001'
            isDonation: 'false'
            style: '570223020'
          type: object
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        discounts:
          items:
            $ref: '#/components/schemas/orderDiscountRequest'
          type: array
        employeeId:
          description: Employee (ID or name) who initiated the request
          example: 62272e917b12209e68751d94
          type: string
        fees:
          items:
            $ref: '#/components/schemas/taxDetail'
          type: array
        fulfillment:
          $ref: '#/components/schemas/itemFulfillmentResource'
        isBackorder:
          description: '**true:** Backordered item. **false:** Ordered item.'
          example: true
          type: boolean
        isDonation:
          description: 'true: Item is a donation <br> false: Item is not a donation'
          example: true
          type: boolean
        isPreorder:
          description: '**true:** Preordered item. **false:** Ordered item.'
          example: true
          type: boolean
        itemAdjustmentTotalInCurrencies:
          items:
            description: >-
              The total value of item adjustments, itemized by each currency
              used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemDiscountsTotal:
          description: >-
            Item's total discount = `summationOfAll(discounts[].amount)'. Refer
            to `amount` in `orderDiscount`.
          example: 10
          format: double
          type: number
        itemDiscountsTotalInCurrencies:
          items:
            description: >-
              The total discount applied to items, itemized by each currency
              used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemFeeTotal:
          description: >-
            Recalculated item's fee = `summationOfAll(fees[].amount)`. Refer to
            `amount` in `itemFeeDetails`.
          example: 10
          format: double
          type: number
        itemFeeTotalInCurrencies:
          items:
            description: >-
              The updated fee for an item, itemized by each currency used within
              a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemId:
          description: Unique identifier of item from fabric Products (PIM) service.
          example: 1234
          format: int32
          type: integer
        itemName:
          description: Item name
          example: Item
          type: string
        itemSubtotal:
          description: >-
            Recalculated item's subtotal - `Item unit price x (orderedQuantity -
            cancelledQuantity)`
          example: 600
          format: double
          type: number
        itemSubtotalInCurrencies:
          items:
            description: >-
              The updated subtotal for an item, itemized by each currency used
              within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemSubtype:
          description: Subtype of `type`, for another layer of classification.
          example: Borderfree
          type: string
        itemTaxTotal:
          description: Recalculated total tax on item = `summationOfAll(itemTaxTotal)`
          example: 10
          format: double
          type: number
        itemTaxTotalInCurrencies:
          items:
            description: >-
              The updated total tax applied to an item, itemized by each
              currency used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemTotal:
          description: >-
            Recalculated item's total cost = `itemSubTotal - itemDiscountTotal 
            + itemTaxTotal + itemFeeTotal`.
          example: 10
          format: double
          type: number
        itemTotalInCurrencies:
          items:
            description: >-
              The updated total cost of an item, itemized by each currency used
              within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        itemUnitPrice:
          description: Item's unit price
          example: 10
          format: double
          type: number
        itemUnitPriceInCurrencies:
          items:
            description: >-
              The price of a single unit of an item, itemized by each currency
              used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric auto-generates this value during order creation, in
            UUID format.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        lineItemNumber:
          description: Merchant-defined line item number to identify each item in an order.
          example: 1
          format: int32
          type: integer
        notes:
          description: >-
            Notes section to be used by customer service representative (CSR)
            only
          items:
            $ref: '#/components/schemas/orderNote'
          type: array
        orderedQuantity:
          description: Ordered quantity of given item
          example: 60
          format: int32
          type: integer
        segment:
          description: Segment
          example: P1234
          type: string
        shipToId:
          description: >-
            System-generated UUID associated with `shipInfo`, generated from CnC
            service. **Note**: An order can have multiple ship-to (delivery)
            locations and items going to the same location have one `shipToId`.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        sku:
          description: Stock keeping unit (SKU), unique identifier of item.
          example: P1234
          type: string
        taxCode:
          description: Applicable tax code, varies from state to state
          example: FR01
          type: string
        taxDetails:
          items:
            $ref: '#/components/schemas/taxDetail'
          type: array
        type:
          description: >-
            Identify order type whether it's a pickup, web ship, or
            international order.
          example: WEB_SHIP
          type: string
        uom:
          description: >-
            Unit in which a product is sold or measured. It is important for
            accurately fulfilling orders and ensuring customers receive the
            correct quantity of products they have ordered. The possible values
            are EA (Each) or GAL (Gallon), DZ (Dozen), etc.
          example: EA
          type: string
        vendorId:
          description: Vendor ID
          example: P1234
          type: string
      required:
        - itemId
        - lineItemId
        - lineItemNumber
        - shipToId
        - sku
      type: object
    orderLineItemAppeasement:
      description: >-
        An object broken down by the item-level containing appeasement details
        for each item.
      properties:
        appeasements:
          description: >-
            Item-level appeasements. **Note**: If the same appeasement counter
            is found twice at order level as well as item-level appeasement,
            item-level appeasement request is considered as duplicate. However,
            if the same appeasement counter is found under different items,
            then, it is not considered as duplicates.
          items:
            $ref: '#/components/schemas/orderAppeasementDetail'
          type: array
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it (in UUID format) during order
            creation.
          example: d538b1f1-0e45-43c6-bfc6-9666fc1188ca
          type: string
      required:
        - appeasements
        - lineItemId
      type: object
    orderNote:
      description: Note for attention
      properties:
        createdAt:
          description: Time note was created (UTC)
          example: '2022-05-12T09:30:31.198Z'
          type: string
        notes:
          description: Additional info about the order, if any
          example: Fragile - handle with care
          type: string
        user:
          description: >-
            Customer Service Representative or Employee (ID or name) who created
            the note
          example: 62272e917b12209e68751d94
          type: string
      type: object
    orderPayment:
      description: An object containing an orders payment details.
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            captureCurrencyCode: USD
            payerId: M7AWTK3YK3B46
            referenceId: 4DY41894J2904533S
          type: object
        authorizationAttempts:
          description: >-
            An integer representing the number of payment authorization
            attempts.
          example: 0
          format: int64
          type: integer
        authorizedAmount:
          description: Amount authorized to be debited from the given `paymentMethod`
          example: 123.2
          format: double
          type: number
        authorizedAmountInCurrencies:
          items:
            description: >-
              The amount authorized for debit from the specified payment method,
              itemized by each currency used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        billToAddress:
          $ref: '#/components/schemas/address'
        chargedAmount:
          description: Amount charged to the given `paymentMethod`
          example: 60
          format: double
          type: number
        chargedAmountInCurrencies:
          items:
            description: >-
              The amount charged to the specified payment method, itemized by
              each currency used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        isFinalCapture:
          description: >-
            **true:** Payment is final capture. **false:** Payment is not a
            final capture.
          example: false
          type: boolean
        isPartialCapture:
          description: >-
            **true:** Payment is partial capture. **false:** Payment is full
            capture.
          example: false
          type: boolean
        paidAt:
          description: >-
            System-generated time when payment was captured at shipment. In case
            of payment captured at checkout, this is a merchant-defined value
            given during order creation.
          example: '2022-01-27T16:15:58-05:00'
          format: date-time
          type: string
        paymentCounter:
          description: >-
            A sequential or incremental counter associated with a payment for an
            order. Applicable in refund scenarios to identify the specific
            payment for refund.
          example: 1
          format: int32
          type: integer
        paymentIdentifier:
          $ref: '#/components/schemas/orderPaymentIdentifier'
        paymentLogs:
          description: Payment details
          items:
            $ref: '#/components/schemas/paymentResponse'
          type: array
        paymentMethod:
          description: Payment method such as PayPal or credit card
          example: CREDIT_CARD
          type: string
        paymentProvider:
          description: Payment provider
          example: stripe
          type: string
        paymentStatus:
          description: >-
            Payment status. There are no pre-defined values; possible values are
            Paid, Partially Paid, Authorized, and Error.
          example: Paid
          type: string
        paymentToken:
          $ref: '#/components/schemas/orderPaymentToken'
        reauthorizationAttempts:
          description: >-
            An integer representing the number of payment reauthorization
            attempts.
          example: 0
          format: int64
          type: integer
        refundAmount:
          description: Merchant-defined refund amount
          example: 21.5
          format: double
          type: number
        refundAmountInCurrencies:
          items:
            description: >-
              The merchant specified refund amount, itemized by each currency
              used within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
      type: object
    orderPaymentAuthorizationResource:
      description: The Order Payment Authorization request object.
      properties:
        orderNumber:
          description: The merchant-defined order identifier.
          example: '309019176'
          type: string
        payments:
          description: An array containing the payments object.
          items:
            $ref: '#/components/schemas/paymentAuthorizationResource'
          type: array
      required:
        - orderNumber
      type: object
    orderPaymentIdentifier:
      description: >-
        An object containing the details of payment modes and payment
        identifiers.
      properties:
        cardIdentifier:
          description: Last 4 digits of the card
          example: '3456'
          type: string
        expirationMonth:
          description: Card expiration month
          example: '12'
          type: string
        expirationYear:
          description: Card expiration year
          example: '2029'
          type: string
        fabricPaymentReference:
          description: >-
            System-generated UUID referenced internally for Invoice and Orders
            services.
          example: f886c96c-5f65-11ed-9b6a-0242ac120002
          type: string
        paymentId:
          description: >-
            Merchant provided unique identifier for a payment based on payment
            connector. When omitted, it is a fabric-generated UUID.
          example: 62272e917b12209e68751d94
          type: string
      type: object
    orderPaymentRequest:
      description: An object containing the payment details for an order.
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            captureCurrencyCode: USD
            payerId: M7AWTK3YK3B46
            referenceId: 4DY41894J2904533S
          type: object
        authorizationExpirationDate:
          description: Expiration time for authorization
          example: '2022-01-27T16:15:58-05:00'
          format: date-time
          type: string
        authorizedAmount:
          description: Amount authorized to be debited from the given `paymentMethod`
          example: 123.2
          format: double
          type: number
        authorizedAmountInCurrencies:
          items:
            description: >-
              The authorized debit amount from the specified payment method,
              broken down by each currency used in the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        billToAddress:
          $ref: '#/components/schemas/address'
        chargedAmount:
          description: Charged amount
          example: 60
          format: double
          type: number
        chargedAmountInCurrencies:
          items:
            description: >-
              The total amount charged, itemized by each currency used within a
              specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        paidAt:
          description: >-
            System-generated time of payment capture at shipment. When payment
            is captured at checkout, this is a merchant-defined value during
            order creation.
          example: '2022-01-27T16:15:58-05:00'
          format: date-time
          type: string
        paymentCounter:
          description: >-
            A sequential or incremental counter associated with a payment for an
            order. Applicable in refund scenarios to identify the specific
            payment for refund.
          example: 1
          format: int32
          type: integer
        paymentIdentifier:
          $ref: '#/components/schemas/orderPaymentIdentifier'
        paymentMethod:
          description: Payment method
          example: CREDIT_CARD
          type: string
        paymentProvider:
          description: Payment provider
          example: stripe
          type: string
        paymentStatus:
          description: >-
            Payment status. There are no pre-defined values; possible values are
            Paid, Partially Paid, Authorized, and Error.
          example: Paid
          type: string
        paymentToken:
          $ref: '#/components/schemas/orderPaymentToken'
      type: object
    orderPaymentToken:
      description: An object containing the order payment token details.
      properties:
        paymentType:
          description: >-
            Payment type, for example, credit card payment providers can be
            Visa, Mastercard, American express, etc.
          example: VISA
          type: string
        token:
          description: Payment token provided by payment provider
          example: pi_34tr6787rt
          type: string
      type: object
    orderPickup:
      description: An object containing the order pickup details.
      properties:
        email:
          description: Contact person's email
          example: test@example.com
          type: string
        name:
          $ref: '#/components/schemas/orderContactName'
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        pickupType:
          description: Order pickup type
          enum:
            - PRIMARY
            - ALTERNATE
          example: PRIMARY
          type: string
      type: object
    orderRefund:
      description: Order refund
      properties:
        amount:
          description: Merchant-defined refund amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        conversion:
          description: Conversion required for currency
          example: 1
          format: double
          type: number
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
      required:
        - amount
      type: object
    orderResponse:
      description: An object containing order details.
      properties:
        adjustmentTotal:
          description: The total amount of price adjustments for all items of the order.
          example: 123.45
          format: double
          type: number
        adjustmentTotalInCurrencies:
          items:
            description: >-
              The total price adjustments applied to all items within an order,
              itemized by each currency used in that order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        adjustments:
          description: >-
            Price adjustments refer to changes or modifications made to the
            listed price of a product. A Customer Sales Representative (CSR)
            makes the price adjustments to provide discounts, promotional
            offers, or coupons that the shopper used.
          items:
            $ref: '#/components/schemas/adjustmentDetail'
          type: array
        allocatedAt:
          description: >-
            System-generated order allocation time (UTC) once the order is
            allocated using Allocation service
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        appeasementTotal:
          description: Final appeasement amount
          example: 12.34
          format: double
          type: number
        appeasementTotalInCurrencies:
          items:
            description: >-
              The final appeasement amount, itemized by each currency used
              within a specific order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        appeasements:
          items:
            $ref: '#/components/schemas/orderAppeasementDetail'
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            fraudCheckStatus: UPDATED
            loyaltyStatus: 'N'
          type: object
        auditLogs:
          items:
            $ref: '#/components/schemas/auditLog'
          type: array
        cancelTotal:
          description: >-
            Amount to be returned after order cancellation, calculated as
            `cancelledQuantity / orderedQuantity * itemTotal`
          example: 12.34
          format: double
          type: number
        cancelTotalInCurrencies:
          items:
            description: >-
              The total amount to be returned to the customer following an order
              cancellation, itemized by each currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        cancellations:
          items:
            $ref: '#/components/schemas/cancellationResource'
          type: array
        cancelledAt:
          description: >-
            System-generated order cancellation time in UTC. This is returned in
            the response of Cancel order by ID - `POST
            /orders/{orderId}/actions/cancel` or Cancel order by order number -
            `POST /orders/order-number/{orderNumber}/actions/cancel` once the
            order is successfully cancelled.
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        cartId:
          description: >-
            Unique cart identifier, either from fabric Cart service or an
            external Cart service. It is used for linking an order to a specific
            cart. If available, it is also used for inventory reservation from
            cart workflow.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        channelId:
          description: Sales channel ID
          example: '12'
          type: string
        createdAt:
          description: Order creation time (UTC)
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        currencies:
          $ref: '#/components/schemas/currencies'
          description: The supported currency groups you defined.
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        customer:
          $ref: '#/components/schemas/invoiceCustomer'
        discounts:
          items:
            $ref: '#/components/schemas/orderDiscount'
          type: array
        employeeId:
          description: Employee (ID or name) who initiated the request
          example: '43278'
          type: string
        erroredFields:
          items:
            $ref: '#/components/schemas/erroredField'
          type: array
        feeTotal:
          description: >-
            Recalculated total fee, calculated as `orderedQuantity*
            itemFeeTotal`
          example: 12.34
          format: double
          type: number
        feeTotalInCurrencies:
          items:
            description: >-
              The updated total fee amount for an order, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        fees:
          items:
            $ref: '#/components/schemas/orderFeeDetail'
          type: array
        invoiceTotal:
          description: >-
            Total payment captured by fabric Invoice service. If merchant is
            using third-party service, then this amount will be null. For
            partial payment scenarios, this value will be different from
            `orderTotal`.
          example: 12.34
          format: double
          type: number
        invoiceTotalInCurrencies:
          items:
            description: >-
              The total payment captured by fabric's Invoice service, itemized
              by each currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        items:
          description: Item details
          items:
            $ref: '#/components/schemas/orderItem'
          maxItems: 2147483647
          minItems: 1
          type: array
        notes:
          items:
            $ref: '#/components/schemas/orderNote'
          type: array
        orderDiscount:
          description: Recalculated order discount
          example: 1.23
          format: double
          type: number
        orderDiscountInCurrencies:
          items:
            description: >-
              The updated total discount applied to the order, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        orderId:
          description: 24-character system-generated order ID
          example: 5349b4ddd2781d08c09890f4
          type: string
        orderNumber:
          description: >-
            Merchant-defined order identifier. If omitted, this is generated by
            fabric's sequence generator using Configuration service
          example: '309019176'
          type: string
        orderExternalId:
          type: string
          description: >
            A merchant-defined external order identifier.  

            This field is optional and can be used to reference the order in
            external 

            systems such as an ERP, OMS, or CRM.
          example: 191763090_O1231
        orderReleasedAt:
          description: >-
            Order released time (UTC). When an order is placed, its status is On
            Hold by default and the duration of hold may vary from merchant to
            merchant (~1 min). After the hold period, the order is released from
            hold.
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        orderSubtotal:
          description: Recalculated `orderSubtotal` - `summationOfAll(itemSubTotal)`
          example: 123.45
          format: double
          type: number
        orderSubtotalInCurrencies:
          items:
            description: >-
              The updated subtotal for the entire order, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        orderTotal:
          description: >-
            Total amount to be charged for the order = `orderSubTotal` -
            `orderDiscountTotal` + `orderFeeTotal` + `orderTaxTotal`
          example: 146.9
          format: double
          type: number
        orderTotalInCurrencies:
          items:
            description: >-
              The total amount to be charged for the order, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        orderedAt:
          description: >-
            Merchant-defined order creation time in UTC. It is mandatory in the
            request body of Create Order endpoint - `POST /orders`.
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        originalAdjustmentTotal:
          description: Original adjustment total
          example: 123.45
          format: double
          type: number
        originalAdjustmentTotalInCurrencies:
          items:
            description: >-
              The initial total value of adjustments made to an order, itemized
              by each currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalDiscount:
          description: >-
            System-generated total discount, auto-filled by Orders service when
            the order is placed. This is saved for reference in case the value
            changes later.
          example: 1.45
          format: double
          type: number
        originalDiscountInCurrencies:
          items:
            description: >-
              The initial discount applied to an order, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalFeeTotal:
          description: >-
            System-generated total fees, auto-filled by Orders service when the
            order is placed.
          example: 12.34
          format: double
          type: number
        originalFeeTotalInCurrencies:
          items:
            description: >-
              The initial total fee amount, itemized by each currency used
              within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalOrderTotal:
          description: >-
            System-generated order total, auto-filled by Orders service when the
            order is placed. This is saved for reference in case the
            `orderTotal` changes later.
          example: 146.9
          format: double
          type: number
        originalOrderTotalInCurrencies:
          items:
            description: >-
              The initial total cost of the entire order, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalSubtotal:
          description: >-
            System-generated order subtotal, auto-filled by Orders service when
            the order is placed. This is saved for reference in case the value
            changes later.
          example: 113.45
          format: double
          type: number
        originalSubtotalInCurrencies:
          items:
            description: >-
              The initial subtotal of the entire order, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        originalTaxTotal:
          description: >-
            System-generated total tax, auto-filled by Orders service when the
            order is placed.
          example: 12.34
          format: double
          type: number
        originalTaxTotalInCurrencies:
          items:
            description: >-
              The initial total tax amount for an order, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        payments:
          items:
            $ref: '#/components/schemas/orderPayment'
          type: array
        retail:
          $ref: '#/components/schemas/orderRetail'
        returnTotal:
          description: >-
            Return total of order, for return scenarios, calculated as
            `summationOfAll(itemReturnTotal)`
          example: 12.34
          format: double
          type: number
        returnTotalInCurrencies:
          items:
            description: >-
              The total amount returned for an order, itemized by each currency
              used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        returns:
          items:
            $ref: '#/components/schemas/orderReturnsInfo'
          type: array
        shipInfo:
          items:
            $ref: '#/components/schemas/orderShipInfo'
          maxItems: 2147483647
          minItems: 1
          type: array
        statusCode:
          description: >-
            Status code. There are no pre-defined values; possible values are -
            ORDER_ALLOCATED ("Order Allocated"), ORDER_SHIPPED ("Order
            Shipped"), ORDER_PARTIALLY_SHIPPED ("Order Partially Shipped"),
            ORDER_PICKED_UP ("Order Picked Up"), ORDER_PARTIALLY_PICKED_UP
            ("Order Partially Picked Up"), ORDER_DELIVERED ("Order Delivered"),
            ORDER_PARTIALLY_DELIVERED ("Order Partially Delivered"),
            ORDER_RETURNED ("Order Returned"), ORDER_HOLD_EXTERNAL ("Order on
            Hold") etc.
          example: ORDER_CREATED
          type: string
        statusDescription:
          description: Human-readable brief description based on `statusCode`
          example: Order Created
          type: string
        subtype:
          description: Order subtype, for further classification
          enum:
            - IOS
            - ANDROID
            - INTERNATIONAL
          example: INTERNATIONAL
          type: string
        taxTotal:
          description: >-
            Recalculated total tax on order
            `summationOfAll(itemTaxTotal)+summationOf(tax[].value)`
          example: 12.34
          format: double
          type: number
        taxTotalInCurrencies:
          items:
            description: >-
              The updated total tax amount, itemized by each currency used
              within that order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        type:
          description: >-
            Order type is critical for the order life cycle as it indicates the
            workflow. For example, storefront orders have a different workflow
            than call center orders. fabric Orders service offers standard
            configurations for storefront, call center, point of sale, iOS,
            Android, and international.
          enum:
            - WEB
            - CSC
            - MOBILE_APP
            - POS
          example: WEB
          type: string
        transactionLogs:
          type: array
          items:
            $ref: '#/components/schemas/requestReferenceContextResource'
        updatedAt:
          description: Time of last update to order (UTC)
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        version:
          description: >-
            Current version of order document. Indicates the number of times the
            order is updated by any operation.
          example: 2
          format: int64
          type: integer
      required:
        - channelId
        - items
        - orderNumber
        - shipInfo
        - statusCode
        - version
      type: object
    orderRetail:
      description: >-
        Optionally used as reference, for orders created from Point-of-Sale
        systems
      properties:
        cashierId:
          description: Merchant-defined cashier ID during order creation
          example: C-123
          type: string
        locationNumber:
          description: >-
            Unique value to identify ship-from or Buy Online Pickup from Store
            location. This must be the locationNumber stored in the fabric
            Location service.
          example: WH334
          type: string
        registerId:
          description: Merchant-defined register ID during order creation
          example: '113'
          type: string
        transactionId:
          description: >-
            Transaction ID such as the Point-of-Sale system's version of the
            `orderId`.
          example: '328942333412'
          type: string
      type: object
    orderReturnRequest:
      description: Return request
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info in key: value pairs
          example:
            fraudCheckSessionId: 59f1d2b88de74aef96d3ec900ad548e0
            fraudStatus: FRAUD_PASS
          type: object
        credits:
          items:
            $ref: '#/components/schemas/creditsRequest'
          type: array
        employeeId:
          description: Employee (ID or name) who initiated the request
          example: 62272e917b12209e68751d94
          type: string
        fees:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        isExchange:
          default: false
          description: >-
            **true:** Return includes one or more exchanges. **false:** Only
            returns, no exchange.
          example: false
          type: boolean
        items:
          description: Item details
          items:
            $ref: '#/components/schemas/returnItem'
          type: array
        reasonCode:
          description: Merchant-defined reason code for return
          example: Incorrect item
          type: string
        refunds:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        returnedAt:
          description: Merchant-defined time for return (UTC)
          example: '2022-07-11T15:03:14.642Z'
          format: date-time
          type: string
        source:
          description: >-
            Merchant-defined source from where the return request was initiated.
            There are no pre-defined values; possible values are Customer
            Service Representative (CSR), point-of-sale (POS), etc.
          example: CSR
          type: string
        totalRefundAmount:
          description: Merchant-defined total refund amount
          example: 21.5
          format: double
          type: number
        requestContext:
          $ref: '#/components/schemas/requestReferenceContextResource'
          description: Request reference context information
      required:
        - items
        - source
      type: object
    orderReturns:
      description: An object containing the order return details.
      properties:
        attributes:
          additionalProperties:
            description: Attributes
            example:
              transactionId: 0R12TQ46
            type: object
          description: Attributes
          example:
            transactionId: 0R12TQ46
          type: object
        exchangeLineItemId:
          description: Exchange line item ID
          example: 62f3dfc438bcab1951be0a19
          type: string
        fees:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        invoicedAmount:
          description: >-
            System-generated amount from Invoice service based on requested
            `amount`
          example: 11.29
          format: double
          type: number
        isExchangeItemReturned:
          default: false
          description: >-
            **true:** Item received for exchange is returned. **false:** Item
            received for exchange is not returned.
          example: true
          type: boolean
        reasonCode:
          description: Merchant-defined reason code for return
          example: Incorrect item
          type: string
        refundAmount:
          description: Refund amount
          example: 11.29
          format: double
          type: number
        refunds:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        returnRequestCounter:
          description: Unique, sequential, or incremental counter for return request
          example: 1
          format: int32
          type: integer
        returnsReceivedAt:
          description: >-
            System-generated time of returned item that has come back to the
            facility (UTC)
          example: '2022-09-14T14:07:36.861Z'
          format: date-time
          type: string
        shipmentId:
          description: 24-character system-generated shipment ID
          example: 62b37697c67b204dd18a7465
          type: string
        shipmentInvoice:
          $ref: '#/components/schemas/shipmentInvoiceResource'
        shipmentLineItemId:
          description: Unique identifier for each item in the shipment
          example: '234'
          type: string
        shipmentQuantity:
          default: 0
          description: Shipped quantity of given item
          example: 1
          format: int32
          type: integer
        source:
          description: >-
            An optional field used to determine the source that initiated the
            API request.
          example: CSR
          type: string
      type: object
    orderReturnsInfo:
      description: Order returns info
      properties:
        attributes:
          additionalProperties:
            description: Attributes
            example:
              transactionId: 0R12TQ46
            type: object
          description: Attributes
          example:
            transactionId: 0R12TQ46
          type: object
        fees:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        invoicedAmount:
          description: System-generated invoiced amount for the return request
          example: 11.29
          format: double
          type: number
        invoicedAmountInCurrencies:
          items:
            description: >-
              The invoiced amount is displayed in all currencies used for the
              order. If only a single currency was used, then only that currency
              will be shown.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        paymentCounterRefundDetails:
          items:
            $ref: '#/components/schemas/paymentCounterRefundInfo'
          type: array
        refunds:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        returnCounter:
          description: Unique, sequential or incremental counter for return request
          example: 1
          format: int32
          type: integer
        totalRefundAmount:
          description: Merchant-defined total refund amount for the return request
          example: 11.29
          format: double
          type: number
        totalRefundAmountInCurrencies:
          items:
            description: >-
              The total amount refunded, itemized by each currency used within
              the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
      type: object
    orderSearchFilter:
      description: Search filter
      discriminator:
        mapping:
          EQ: '#/components/schemas/valueSearchFilter'
          GT: '#/components/schemas/valueSearchFilter'
          GTE: '#/components/schemas/valueSearchFilter'
          IN: '#/components/schemas/valuesSearchFilter'
          LT: '#/components/schemas/valueSearchFilter'
          LTE: '#/components/schemas/valueSearchFilter'
          NEQ: '#/components/schemas/valueSearchFilter'
          NIN: '#/components/schemas/valuesSearchFilter'
        propertyName: condition
      properties:
        condition:
          default: EQ
          description: SearchCondition to apply filter
          enum:
            - EQ
            - NEQ
            - IN
            - NIN
            - LT
            - GT
            - LTE
            - GTE
          example: EQ
          type: string
        field:
          description: Field name
          example: order.orderId
          pattern: ^order\.[a-zA-Z.\-_]*
          type: string
        group:
          default: Default
          description: The group name.
          example: GroupA
          type: string
      required:
        - condition
        - field
      type: object
    orderSearchRequest:
      description: Filter conditions with sort option
      example:
        filters:
          - field: order.type
            value: WEB
          - condition: IN
            field: order.items.type
            values:
              - WEB_SHIP
              - WEB_PICKUP
              - WEB_SDD
        sort: '-order.createdAt'
      properties:
        filters:
          items:
            oneOf:
              - $ref: '#/components/schemas/valueSearchFilter'
              - $ref: '#/components/schemas/valuesSearchFilter'
          maxItems: 50
          minItems: 0
          type: array
        sort:
          default: '-order.createdAt'
          description: >-
            Field or property name to sort the results. + represents ascending
            and - represents descending order of sorting.
          example: +order.createdAt
          pattern: (^[+-]order\.[a-zA-Z.\-_]*)(,([+-]order\.[a-zA-Z.\-_]*)){0,}
          type: string
      required:
        - filters
      type: object
    orderShipInfo:
      description: An object containing an orders shipment details.
      properties:
        attributes:
          description: >-
            User defined custom attributes. This is a placeholder for additional
            info (in key-value pairs).
          example:
            giftMessage: '[]'
          type: object
        discounts:
          items:
            $ref: '#/components/schemas/shippingDiscount'
          type: array
        estimatedDeliveryDate:
          description: Estimated delivery time (UTC) provided by carrier
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        estimatedShipDate:
          description: Estimated shipping time (UTC) provided by merchant
          example: '2022-05-12T09:30:31.198Z'
          format: date-time
          type: string
        isInvoiced:
          default: false
          description: >-
            **true:** At least one captured invoice is created by Invoice
            service. **false:** Captured invoice is not created.
          example: true
          type: boolean
        locationNumber:
          description: >-
            Unique value to identify ship-from or Buy Online Pickup from Store
            location. This must be the locationNumber stored in the fabric
            Location service.
          example: WH334
          type: string
        pickups:
          description: Order pickup details
          items:
            $ref: '#/components/schemas/orderPickup'
          type: array
        shipMethod:
          description: Shipping method
          example: Parcel post delivery
          type: string
        shipToAddress:
          $ref: '#/components/schemas/address'
        shipToDiscount:
          description: Merchant-defined shipping discount amount
          example: 12.6
          format: double
          type: number
        shipToDiscountInCurrencies:
          items:
            description: >-
              The shipping discount applied to an order, itemized by each
              currency used within that order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        shipToId:
          description: >-
            System-generated UUID associated with `shipInfo`, generated from CnC
            service. **Note**: An order can have multiple ship-to (delivery)
            locations and items going to the same location have one `shipToId`.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          type: string
        shipToPrice:
          description: Merchant-defined shipping cost
          example: 20
          format: double
          type: number
        shipToPriceInCurrencies:
          items:
            description: >-
              The total shipping cost, itemized by each currency used within the
              order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        shipToTaxTotal:
          description: Total shipping tax
          example: 12.6
          format: double
          type: number
        shipToTaxTotalInCurrencies:
          items:
            description: >-
              The total tax applied to shipping costs, itemized by each currency
              used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        shipToType:
          description: >-
            Type of shipping address. There are no pre-defined values; the
            possible values are SDD (same day delivery), point-of-sale (POS),
            etc.
          example: SHIP_TO_ADDRESS
          type: string
        shipToUnitPrice:
          description: A number indicating the ship to unit price.
          example: 20
          format: double
          type: number
        shipToUnitPriceInCurrencies:
          items:
            description: >-
              The unit price for shipping, itemized by each currency used within
              the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        shipmentInstructions:
          description: Shipment instructions
          example: Handle with care
          type: string
        taxCode:
          description: Applicable tax code, varies from state to state
          example: FR01
          type: string
        taxDetails:
          items:
            $ref: '#/components/schemas/taxDetail'
          type: array
      required:
        - shipToId
      type: object
    orderStatusUpdateRequest:
      type: object
      description: Request to update order status using state machine
      properties:
        statusCode:
          type: string
          description: Action code representing the next step in the flow
          example: RELEASE_HOLD_EXTERNAL
        statusDescription:
          type: string
          description: Optional description for the status update
          example: Order created and ready for processing
      required:
        - statusCode
    orderUpdatePaymentStatusConnectorInfo:
      description: Order update payment status request connector info model
      properties:
        connectorName:
          description: Connector name
          example: checkout
          type: string
        eventId:
          description: Event ID
          example: abc12345
          type: string
        paymentMethodType:
          description: Payment method type
          example: Visa
          type: string
      type: object
    orderUpdatePaymentStatusRequestBalances:
      description: Order update payment status request balances model
      properties:
        authorized:
          description: Authorized amount
          example: 123.2
          format: double
          type: number
        capturable:
          description: Amount authorized but pending to be captured
          example: 12.2
          format: double
          type: number
        captured:
          description: Captured amount
          example: 13.2
          format: double
          type: number
        refundable:
          description: Refundable amount. That is, pending refund.
          example: 23.22
          format: double
          type: number
        refunded:
          description: Refunded amount
          example: 3.2
          format: double
          type: number
      type: object
    pagination:
      description: Pagination response
      properties:
        count:
          description: Total number of search results
          example: 1000
          format: int32
          type: integer
        limit:
          default: 10
          description: Maximum number of records per page
          example: 10
          format: int32
          maximum: 100
          minimum: 1
          type: integer
        offset:
          default: 0
          description: >-
            Number of records to skip before returning all records. For example,
            `offset=20, limit=10` returns records 21-30.
          example: 1
          format: int32
          minimum: 0
          type: integer
      type: object
    paymentAuthorizationRequest:
      description: Payment Authorization request model
      properties:
        force:
          default: false
          description: >-
            Ignore validation rules and force request to call the payment
            authorization
          example: false
          type: boolean
        orders:
          description: orders object
          items:
            $ref: '#/components/schemas/orderPaymentAuthorizationResource'
          type: array
        sync:
          default: false
          description: Process request in synchronous mode
          example: false
          type: boolean
      type: object
    paymentAuthorizationResource:
      description: Order payment authorization request model
      properties:
        paymentCounter:
          description: Identify the specific payment for authorization.
          example: 1
          format: int32
          type: integer
      type: object
    paymentAuthorizationResponse:
      description: Response model for Payment Authorization request
      properties:
        orders:
          description: orders object
          items:
            $ref: '#/components/schemas/orderPaymentAuthorizationResource'
          type: array
      type: object
    paymentCounterRefundInfo:
      description: An object containing payment counter refund details.
      properties:
        amount:
          description: Final refunded amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            description: >-
              the payment counter refund amount, itemized by each currency used
              within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        paymentCounter:
          description: Unique incremented number for this payment object.
          example: 1
          format: int32
          type: integer
      type: object
    paymentDetails:
      description: An object containing payment details.
      properties:
        body:
          $ref: '#/components/schemas/paymentDetailsResponseBody'
        paymentStatusCode:
          description: >-
            Status code for payment. There are no pre-defined values; possible
            values are 200, 400, 402, etc.
          example: '200'
          type: string
      type: object
    paymentReference:
      description: Payment details for order
      properties:
        paymentCounter:
          description: >-
            A sequential or incremental counter associated with a payment for an
            order. Applicable in refund scenarios to identify the specific
            payment for refund.
          example: 1
          format: int32
          type: integer
        amount:
          description: Payment refund amount
          example: 60
          format: double
          type: number
        amountInCurrencies:
          items:
            description: Payment refund amount in currencies
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
    paymentDetailsResponseBody:
      description: Payment info
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            key: value
          type: object
        errors:
          description: Error details
          items:
            additionalProperties:
              description: Error map
              example:
                key: value
              type: object
            description: Error map
            example:
              key: value
            type: object
          type: array
        responseCode:
          description: Response code such as success, OK, or failure
          example: OK
          type: string
        status:
          description: Payment status such as Authorized, Captured, etc.
          example: Authorized
          type: string
        transactionId:
          description: >-
            Transaction ID such as the point-of-sale system's version of the
            `orderId`.
          example: '328942333412'
          type: string
        transactionTimestamp:
          description: Transaction time (UTC) when the payment was successful
          example: 2022-04-10T23:00:45:12.111Z
          type: string
      type: object
    paymentResponse:
      description: Payment information
      properties:
        amount:
          description: Transaction amount for the payment operation
          example: -12.4
          type: number
        amountInCurrencies:
          description: >-
            The details of the `CurrencyList`, itemized by each currency used
            within the order.
          items:
            $ref: '#/components/schemas/amountInCurrency'
          properties:
            empty:
              type: boolean
          type: array
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          example:
            key: value
          type: object
        data:
          $ref: '#/components/schemas/paymentDetails'
        id:
          description: ID provided by payment gateway in response to payment operation
          example: '328942333412'
          type: string
        paymentId:
          description: >-
            Merchant-provided unique identifier for a payment based on payment
            connector. When omitted, this value will be generated by fabric in
            UUID format.
          example: '328942333412'
          type: string
        paymentLogId:
          description: ID generated by fabric to uniquely identify the payment log
          example: '328942333412'
          type: string
        paymentLogRefId:
          description: Payment reference log ID with which this record is associated
          example: '328942333412'
          type: string
        status:
          description: Payment status such as Authorized, Captured, etc.
          example: Authorized
          type: string
        type:
          description: Transaction type such as VOID, CAPTURED, REDUND, etc.
          example: REFUND
          type: string
      type: object
    pickupRequest:
      description: An object containing pickup details.
      properties:
        email:
          description: Contact person's email
          example: test@example.com
          type: string
        name:
          $ref: '#/components/schemas/orderContactName'
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        pickupType:
          description: Order pickup type
          enum:
            - PRIMARY
            - ALTERNATE
          example: PRIMARY
          type: string
      type: object
    policyFeeResource:
      description: Policy fee
      properties:
        amount:
          description: Fee applicable for the policy
          example: 33.9
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        currency:
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        platinumFee:
          description: >-
            Fees applicable for return, cancellation, or exchange of an item as
            per the policy
          example: 33.9
          format: double
          type: number
      type: object
    quantityInStatus:
      description: Item quantity for each status
      properties:
        cancelled:
          description: Cancelled quantity of given item
          example: 10
          format: int32
          type: integer
        created:
          description: Ordered quantity of given item
          example: 10
          format: int32
          type: integer
        delivered:
          description: Delivered quantity of given item
          example: 10
          format: int32
          type: integer
        hold:
          description: Held quantity of given item
          example: 10
          format: int32
          type: integer
        pendingShipped:
          description: Pending quantity of given item
          example: 10
          format: int32
          type: integer
        returned:
          description: Returned quantity of given item
          example: 10
          format: int32
          type: integer
        shipped:
          description: Shipped quantity of given item
          example: 10
          format: int32
          type: integer
      type: object
    reasonCodeAndDescription:
      description: Return or exchange reason
      properties:
        code:
          description: >-
            Reason code for return, cancellation, or exchange. Values are
            configurable as per requirement.
          example: 1DMG
          type: string
        description:
          description: Brief description for the return `code`
          example: Damaged
          type: string
      type: object
    refundDetailResource:
      description: >-
        Used for credit rules. This resource captures the split of fees and tax
        refunds at the item and order level.
      properties:
        amount:
          description: Refund Amount
          example: '-10.'
          format: double
          type: number
        amountInCurrencies:
          items:
            description: >-
              The total refund amount, itemized by each currency used within the
              order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        name:
          description: The name of the fee or tax.
          example: Name
          type: string
        type:
          description: Type of refund
          example: ITEM
          type: string
      type: object
    returnFeeDetail:
      description: An object containing return fee details.
      properties:
        amount:
          description: Merchant-defined return amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        name:
          description: Fee name
          example: RETURN_FEE
          type: string
        reason:
          description: Merchant-defined return reason
          example: Return fee
          type: string
        type:
          description: Return fee type
          enum:
            - TAX
            - DISCOUNT
            - FEE
            - ITEM
            - ADJUSTMENT
          example: FEE
          type: string
      type: object
    returnItem:
      description: An object containing return details for an item.
      properties:
        attributes:
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info in key-value pairs.
          example:
            fraudCheckSessionId: 59f1d2b88de74aef96d3ec900ad548e0
            fraudStatus: FRAUD_PASS
          type: object
        exchange:
          $ref: '#/components/schemas/returnsExchangeData'
        fees:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        isPolicyOverride:
          description: '**true:** Disable policy check. **false:** Enable the policy check.'
          example: true
          type: boolean
        orderLineItemId:
          description: Unique identifier for each item in order
          example: '1'
          type: string
        quantity:
          description: Returned quantity of the given item
          example: 1
          format: int32
          type: integer
        reasonCode:
          description: Reason code for return, varies from merchant to merchant.
          example: Incorrect order
          type: string
        refundAmount:
          description: Merchant-defined total refund amount
          example: 21.5
          format: double
          type: number
        refundAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        refunds:
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        returnAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        returnType:
          description: Return type
          enum:
            - PENDING
            - PROCESSING
            - REJECTED
            - RECEIVED
          example: RECEIVED
          type: string
        scannedAt:
          description: Scanned time of return (UTC)
          example: '2022-07-11T15:03:14.642Z'
          format: date-time
          type: string
        shipmentId:
          description: 24-character system-generated shipment ID
          example: 62b37697c67b204dd18a7465
          type: string
        shipmentLineId:
          description: Unique identifier for each item in the shipment
          example: '12'
          type: string
        subReasonCode:
          description: Sub-reason code for return, for another layer of classification
          example: Incorrect specification
          type: string
      required:
        - orderLineItemId
        - quantity
        - returnType
        - scannedAt
        - shipmentId
        - shipmentLineId
      type: object
    returnItemResponse:
      description: Return details
      properties:
        lineItemId:
          description: >-
            Merchant-defined unique identifier for each item in an order. When
            omitted, fabric will generate it (in UUID format) during order
            creation.
          example: 62f3dfc438bcab1951be0a19
          type: string
        policyCode:
          description: >-
            Merchant-defined policy code, varies from merchant to merchant. If
            omitted, the default policy is used.
          example: policyCode
          type: string
        refundAmount:
          description: Merchant-defined total refund amount
          example: 21.5
          format: double
          type: number
        returnQuantity:
          description: Returned quantity of given item
          example: 2
          format: int32
          type: integer
        returnStatus:
          description: Return status
          enum:
            - VALID
            - POLICY_VIOLATION
            - PENDING
            - PROCESSING
            - REJECTED
          example: VALID
          type: string
      type: object
    returnOrderResponse:
      description: An object containing the details of a returned order.
      properties:
        items:
          description: Item details
          items:
            $ref: '#/components/schemas/returnItemResponse'
          type: array
        refundStatus:
          description: Refund status
          enum:
            - REFUND_INITIATED
            - REFUND_SUCCESS
            - REFUND_FAILURE
            - REFUND_PENDING
          example: REFUND_INITIATED
          type: string
        totalRefundAmount:
          description: Merchant-defined total refund amount
          example: 21.5
          format: double
          type: number
        totalRefundAmountInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
      type: object
    returnsExchangeData:
      description: Item exchange and return details.
      properties:
        isRefundingDisabled:
          description: '**true:** Refund is disabled. **false:** Refund is enabled.'
          example: true
          type: boolean
        items:
          description: Item to be shipped in exchange for returned item
          items:
            $ref: '#/components/schemas/returnsExchangeItem'
          type: array
        refund:
          $ref: '#/components/schemas/orderRefund'
      required:
        - items
      type: object
    returnsExchangeItem:
      description: Item details for return or exchange
      properties:
        initiateReshipment:
          description: >-
            **true:** Proceed with reshipment immediately, do not wait for
            return. **false:** Proceed with the reshipment after return is
            successful.
          example: true
          type: boolean
        itemId:
          description: Unique identifier of item from fabric Products (PIM) service
          example: 1234
          format: int32
          type: integer
        itemUnitPrice:
          description: Item's unit price
          example: 10
          format: double
          type: number
        itemUnitPriceInCurrencies:
          items:
            $ref: '#/components/schemas/amountInCurrency'
          type: array
        quantity:
          description: Number of items to be exchanged.
          example: 10
          format: int32
          type: integer
        sku:
          description: Stock Keeping Unit (SKU), unique identifier of item
          example: P1234
          type: string
      required:
        - itemId
        - quantity
        - sku
      type: object
    requestReferenceContextResource:
      type: object
      description: Request reference context information
      properties:
        id:
          type: string
          description: System-generated unique identifier (UUID format)
          example: a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111
        type:
          type: string
        requestId:
          type: string
          description: request id
          readOnly: true
        requestTime:
          type: string
          format: date-time
          description: System-generated order creation time
          example: '2022-04-12T09:30:31.198Z'
        attributes:
          type: object
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key: value pairs).
          example:
            attribute: 'N'
            someFlag: true
    searchResponse:
      description: Search response
      properties:
        data:
          items:
            $ref: '#/components/schemas/orderResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/pagination'
      type: object
    shipmentInvoiceResource:
      description: Shipment Invoice resource
      properties:
        invoiceId:
          description: Unique Id of the invoice
          example: 62ff5c0bec0aed3c86202c32
          type: string
        invoiceNumber:
          description: Unique number of the invoice
          example: '23940791'
          type: string
        invoicedAt:
          description: Date when order invoiced
          example: '2022-08-01T20:03:28.483971941Z'
          format: date-time
          type: string
      required:
        - invoiceId
      type: object
    shippingDiscount:
      description: An object containing shipping discount details.
      properties:
        amount:
          description: Discounted amount for the given `quantity`
          example: 2.99
          format: double
          type: number
        amountInCurrencies:
          items:
            description: >-
              The discounted amount for the specified quantity, itemized by each
              currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        promotionCode:
          description: >-
            Promotion code used by shoppers to take advantage of an ongoing
            promotion.
          example: SHIPFREE
          type: string
        promotionId:
          description: >-
            Unique promotion ID either from fabric Offers service or an external
            Offers service. When fabric Offers service is used, this is the
            24-character system-generated promotion ID returned in the response
            of the create promotion endpoint.
          example: SHIPFREE
          type: string
        promotionName:
          description: Promotion name
          example: Free Shipping
          type: string
        quantity:
          description: >-
            Number of discounted items in an order such as `buy 2 get 1 free`.
            In this case `1` is the discounted quantity.
          example: 1
          format: int32
          type: integer
        unit:
          description: Indicates whether the discount is in amount or percentage
          example: AMOUNT_OFF
          type: string
        value:
          description: Value corresponding to `unit`
          example: 10
          format: int32
          type: integer
      type: object
    taxDetail:
      description: An object containing tax information.
      properties:
        amount:
          description: Tax amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          items:
            description: The tax amount, itemized by each currency used within the order.
            $ref: '#/components/schemas/amountInCurrencyResource'
          type: array
        attributes:
          additionalProperties:
            description: >-
              Merchant-defined custom attributes. This is a placeholder for
              additional info (in key-value pairs).
            type: object
          description: >-
            Merchant-defined custom attributes. This is a placeholder for
            additional info (in key-value pairs).
          type: object
        currency:
          default: USD
          description: Three-letter currency code as defined by ISO-4217
          example: USD
          type: string
        name:
          description: Applied tax name
          example: STATE
          type: string
        rate:
          description: Rate
          example: 10
          format: double
          type: number
        rateType:
          description: Rate type
          example: PERCENTAGE
          type: string
        taxCode:
          description: Tax code applied
          example: FR01
          type: string
      type: object
    trackingDetailsResource:
      type: object
      description: Tracking details
      properties:
        trackingNumber:
          type: string
          description: Tracking number
          example: 1ZH4E331YW37690225
        trackingURL:
          type: string
          description: Tracking URL
          example: https://www.ups.com/track?tracknum=1ZH4E331YW37690225
    updateShipToAddressRequest:
      type: object
      description: Request to update ship-to address for a specific shipToId
      properties:
        name:
          $ref: '#/components/schemas/orderContactName'
        email:
          type: string
          description: Contact person's email
          example: test@example.com
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        type:
          type: string
          description: Address type
          example: Home
        addressLine1:
          type: string
          description: Address line 1
          example: 123
        addressLine2:
          type: string
          description: Address line 2
          example: Suite 100
        addressLine3:
          type: string
          description: Address line 3
          example: Seventh floor
        addressLine4:
          type: string
          description: Address line 4
          example: 'Attention: Pat E. Kake'
        city:
          type: string
          description: City name
          example: Seattle
        region:
          type: string
          description: Region or state
          example: WA
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 based country code
          example: US
        postalCode:
          type: string
          description: Postal or ZIP code
          example: 98121
        latitude:
          type: number
          format: double
          description: >-
            Address latitude, used with `longitude` to specify the address
            location. Decimal degrees format; negative is degrees
            South.<br>**Note:**Value must be between -90 and 90, both inclusive.
          example: 47.6205
        longitude:
          type: number
          format: double
          description: >-
            Address longitude, used with `latitude` to specify the address
            location. Decimal degrees format; negative is degrees
            South.<br>**Note:**Value must be between -180 and 180, both
            inclusive.
          example: -122.3493
        attributes:
          type: object
          description: >-
            User defined custom attributes. This is a placeholder for additional
            info (in key: value pairs).
          example:
            giftMessage: '[]'
      required:
        - addressLine1
        - city
        - countryCode
        - latitude
        - longitude
        - postalCode
        - region
        - type
    updateCustomerRequest:
      description: Update customer info request
      properties:
        accountId:
          description: >-
            Customer's loyalty account ID or external identifier that is used to
            track their loyalty program activity and rewards earned.
          example: 62272e917b12209e68751d94
          type: string
        company:
          description: Shopper's company name. This may be used for company discounts.
          example: Demo Inc
          type: string
        email:
          description: Contact person's email
          example: test@example.com
          type: string
        employeeId:
          description: Employee (ID or name) who initiated an update request
          example: 62272e917b12209e68751d94
          type: string
        name:
          $ref: '#/components/schemas/orderContactName'
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        userId:
          description: >-
            Identifier of the logged in user who initiated the request. This
            could be from either fabric Identity service or an external Identity
            service.
          example: 62272e917b12209e68751d94
          type: string
      type: object
    updatePaymentBillToAddressRequest:
      type: object
      description: Request to update bill-to address for a specific payment in an order.
      properties:
        name:
          $ref: '#/components/schemas/orderContactName'
        email:
          type: string
          description: Contact person's email
          example: test@example.com
        phone:
          $ref: '#/components/schemas/orderContactPhone'
        type:
          type: string
          description: Address type
          example: Home
        addressLine1:
          type: string
          description: Address line 1
          example: 123
        addressLine2:
          type: string
          description: Address line 2
          example: Suite 100
        addressLine3:
          type: string
          description: Address line 3
          example: Seventh floor
        addressLine4:
          type: string
          description: Address line 4
          example: 'Attention: Pat E. Kake'
        city:
          type: string
          description: City name
          example: Seattle
        region:
          type: string
          description: Region or state
          example: WA
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 based country code
          example: US
        postalCode:
          type: string
          description: Postal or ZIP code
          example: 98121
        latitude:
          type: number
          format: double
          description: >-
            Address latitude, used with `longitude` to specify the address
            location. Decimal degrees format; negative is degrees
            South.<br>**Note:**Value must be between -90 and 90, both inclusive.
          example: 47.6205
        longitude:
          type: number
          format: double
          description: >-
            Address longitude, used with `latitude` to specify the address
            location. Decimal degrees format; negative is degrees
            South.<br>**Note:**Value must be between -180 and 180, both
            inclusive.
          example: -122.3493
        attributes:
          type: object
          description: >-
            User defined custom attributes. This is a placeholder for additional
            info (in key: value pairs).
          example:
            giftMessage: '[]'
      required:
        - addressLine1
        - city
        - countryCode
        - latitude
        - longitude
        - postalCode
        - region
        - type
    updateOrderFeesAndTaxesRequest:
      type: object
      properties:
        feeTotal:
          type: number
        feeTotalInCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/orderFeeDetail'
        taxTotal:
          type: number
        taxTotalInCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        items:
          type: array
          items:
            $ref: >-
              #/components/schemas/updateOrderFeesAndTaxesRequestUpdateItemFeesAndTaxesResource
        shipInfo:
          type: array
          items:
            $ref: >-
              #/components/schemas/updateOrderFeesAndTaxesRequestUpdateShipInfoFeesAndTaxesResource
    updateOrderFeesAndTaxesRequestUpdateItemFeesAndTaxesResource:
      type: object
      properties:
        lineItemId:
          type: string
        itemTaxTotal:
          type: number
        itemTaxTotalInCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/taxDetail'
        itemFeeTotal:
          type: number
        itemFeeTotalInCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/itemFeeDetails'
    updateOrderFeesAndTaxesRequestUpdateShipInfoFeesAndTaxesResource:
      type: object
      properties:
        shipToId:
          type: string
        shipToTaxTotal:
          type: number
        shipToTaxTotalInCurrencies:
          type: array
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/taxDetail'
    updatePaymentRequest:
      description: Update payment status model
      properties:
        balances:
          $ref: '#/components/schemas/orderUpdatePaymentStatusRequestBalances'
        connectorInfo:
          $ref: '#/components/schemas/orderUpdatePaymentStatusConnectorInfo'
        paymentIdentifier:
          description: Payment identifier
          example: '12321343223'
          type: string
        status:
          description: Payment status such as Authorized, Captured, etc.
          example: Authorized
          type: string
      required:
        - paymentIdentifier
      type: object
    valueSearchFilter:
      allOf:
        - $ref: '#/components/schemas/orderSearchFilter'
        - properties:
            value:
              description: Search criteria using a single value
              example: ORDER_CREATE
              oneOf:
                - description: Target record's non-numeric identifier
                  example: ORDER_CREATE
                  type: string
                - description: Target record's numeric identifier
                  example: 112233
                  format: int64
                  type: number
                - description: Target record's numeric identifier
                  example: 1122.33
                  format: double
                  type: number
          type: object
      description: >-
        Criteria to find orders by a single value. Condition between `field` and
        `value` is anything except IN and NIN when `valueSearchFilter` is used.
      required:
        - condition
        - field
      type: object
    valuesSearchFilter:
      allOf:
        - $ref: '#/components/schemas/orderSearchFilter'
        - properties:
            values:
              items:
                description: Search criteria using multiple values
                example: ORDER_CREATE
                oneOf:
                  - description: Target record's non-numeric identifier
                    example: ORDER_CREATE
                    type: string
                  - description: Target record's numeric identifier
                    example: 112233
                    format: int64
                    type: number
                  - description: Target record's numeric identifier
                    example: 1122.33
                    format: double
                    type: number
              maxItems: 25
              minItems: 1
              type: array
          type: object
      description: >-
        Criteria to find orders using multiple values. Condition between `field`
        and `values` is either IN or NIN when `valuesSearchFilter` is used.
      required:
        - condition
        - field
      type: object
  securitySchemes:
    authorization:
      bearerFormat: JWT
      scheme: bearer
      type: http
externalDocs:
  description: Find out more about fabric Orders (also called OMS)
  url: https://developer.fabric.inc/v3/docs/orders-overview
info:
  contact:
    email: support@fabric.inc
    name: fabric Support Team
  description: >-
    fabric **Orders** API is a scalable multi-tenant service designed to
    streamline your order management process. Orders API is a REST and JSON
    driven interface enabling retailers to create orders directly from online
    Storefronts and Point-of-Sale systems, and serve as records of purchase
    transactions to permit retailers to operate against a standard schema with
    varied purchase channels. <p> fabric Orders API creates orders real time in
    the orders database, unifying the order data for users to streamline order
    lifecycle orchestration and customer service operations. It offers a range
    of features including the ability to create orders, get orders, update
    pickup details, and track orders, as well as search for existing orders.
    Also, the Orders API makes it easy to check eligibility of return, cancel,
    and exchange requests as well process them, if eligible. In addition, you
    can flag fraudulent orders based on due diligence, and either release them
    from hold or cancel them altogether. The appeasement feature helps you
    resolve any issues that may arise with an order and keep your customers
    happy. </p>
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
  termsOfService: https://fabric.inc/terms-of-use
  title: fabric Orders API
  version: 3.0.0
  x-audience: external-public
openapi: 3.0.1
x-mint:
  mcp:
    enabled: true
paths:
  /orders:
    post:
      description: >-
        This endpoint creates a new order in the fabric Orders (OMS) system,
        regardless of whether it originates from fabric CnC service or an
        external system. The response includes an order ID, which is required
        for subsequent calls such as updating pickup information, getting order
        details, verifying eligibility for order cancellations, returns,
        exchanges, as well as creating appeasements, and processing order
        returns, cancellations, and exchanges.
      operationId: createOrder
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/createOrderRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: Created
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Create new order
      tags:
        - Orders
  /orders/actions/authorize-payments:
    post:
      description: >-
        This endpoint is used synchronously or asynchronously for authorizing
        order payments pending for authorization.
      operationId: authorizeOrderPayments
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/paymentAuthorizationRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/paymentAuthorizationResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Authorize order payments
      tags:
        - Payments
  /orders/{orderIdentifierType}/{orderIdentifierValue}/actions/update-status:
    post:
      tags:
        - Orders
      summary: Update an order’s status with state transition
      description: >-
        Performs a state transition on an order using the order state machine.
        The provided status code must correspond to a valid action available
        from the order’s current state. Orders that are already in or beyond the
        **ORDER_ALLOCATED** state cannot be updated using this endpoint.
      operationId: updateOrderStatus
      parameters:
        - name: orderIdentifierType
          in: path
          description: >-
            The type of identifier used to locate the order. Supported values
            are `order-id`, `order-number`, and `order-external-id`.
          required: true
          schema:
            type: string
          example: ORDER0001
        - name: orderIdentifierValue
          in: path
          description: >-
            The value of the order identifier corresponding to the specified
            `orderIdentifierType`.
          required: true
          schema:
            type: string
          example: ORDER0001
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderStatusUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Order not found
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdentifierType}/{orderIdentifierValue}/actions/update-fees-and-taxes:
    post:
      tags:
        - Orders
      summary: Update order fees and taxes
      description: >-
        Recalculates and updates fee and tax totals for an existing order. The
        request payload allows you to provide updated fee and tax values at the
        order, item, and ship-to levels. Only fields included in the payload are
        applied. Use `overrideAllArrayFields` to control whether array fields in
        the payload replace the existing arrays or are merged.
      operationId: updateFeesAndTaxes_1
      parameters:
        - name: orderIdentifierType
          in: path
          description: >-
            The type of identifier used to locate the order. Supported values:
            `order-id`, `order-number`, `order-external-id`.
          required: true
          schema:
            type: string
          example: order-id
        - name: orderIdentifierValue
          in: path
          description: >-
            The value of the order identifier that corresponds to
            `orderIdentifierType`.
          required: true
          schema:
            type: string
          example: 5349b4ddd2781d08c09890f4
        - name: overrideAllArrayFields
          in: query
          description: >-
            Controls how array fields in the request body are applied. When
            true, arrays provided in the payload replace the existing arrays on
            the order. When false, array updates are merged/partially applied
            based on the service's update behavior.
          required: false
          schema:
            type: boolean
            default: true
          example: true
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateOrderFeesAndTaxesRequest'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdentifierType}/{orderIdentifierValue}/ship-info/{shipToId}/ship-to-address:
    put:
      tags:
        - Orders
      summary: Update a ship-to address for a specific shipToId
      description: >-
        Updates the ship-to address for a specific `shipToId` on an order. Only
        the address fields present in the payload are updated. If address
        enrichment (for example Google Maps) is configured, address validation
        and automatic latitude/longitude enrichment may run. If you are using
        Geography and Zones, the fulfillment zone is updated and a soft
        reservation is triggered to move inventory to the correct network.
      operationId: updateShipToAddress
      parameters:
        - name: orderIdentifierType
          in: path
          description: >-
            The type of identifier used to locate the order. Supported values:
            `order-id`, `order-number`, `order-external-id`.
          required: true
          schema:
            type: string
          example: order-id
        - name: orderIdentifierValue
          in: path
          description: >-
            The value of the order identifier that corresponds to the
            `orderIdentifierType`.
          required: true
          schema:
            type: string
          example: ORDER0001
        - name: shipToId
          in: path
          description: >-
            Unique identifier (UUID) of the ship-to location within the order
            (`shipInfo`).
          required: true
          schema:
            type: string
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateShipToAddressRequest'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                message: Order or shipToId not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdentifierType}/{orderIdentifierValue}/payments/{paymentCounter}/bill-to-address:
    put:
      tags:
        - Orders
      summary: Update bill-to address for a specific payment
      description: >-
        Updates the bill-to address for a specific payment on an order,
        identified by `paymentCounter`. Only address fields included in the
        payload are updated.
      operationId: updatePaymentBillToAddress
      parameters:
        - name: orderIdentifierType
          in: path
          description: >-
            The type of identifier used to locate the order. Supported values:
            `order-id`, `order-number`, `order-external-id`.
          required: true
          schema:
            type: string
          example: order-id
        - name: orderIdentifierValue
          in: path
          description: >-
            The value of the order identifier that corresponds to
            `orderIdentifierType`.
          required: true
          schema:
            type: string
          example: 5349b4ddd2781d08c09890f4
        - name: paymentCounter
          in: path
          description: >-
            The sequential counter identifying the specific payment within the
            order (used to select which payment's bill-to address to update).
          required: true
          schema:
            type: integer
            format: int32
          example: 1
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updatePaymentBillToAddressRequest'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                message: Order or payment not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdentifierType}/{orderIdentifierValue}/payments/{paymentCounter}/payment-logs:
    put:
      tags:
        - Orders
      summary: Add a payment log entry for a specific payment
      description: >-
        Adds a new payment log entry to the logs for a specific payment on an
        order, identified by `paymentCounter`. Payment logs capture when a
        payment is charged or credited, and include provider response details
        and metadata. Only fields present in the payload are applied.
      operationId: addPaymentLog
      parameters:
        - name: orderIdentifierType
          in: path
          description: >-
            The type of identifier used to locate the order. Supported values:
            `order-id`, `order-number`, `order-external-id`.
          required: true
          schema:
            type: string
          example: order-id
        - name: orderIdentifierValue
          in: path
          description: >-
            The value of the order identifier that corresponds to
            `orderIdentifierType`.
          required: true
          schema:
            type: string
          example: 5349b4ddd2781d08c09890f4
        - name: paymentCounter
          in: path
          description: >-
            The sequential counter identifying the specific payment within the
            order (used to select which payment to attach the log to).
          required: true
          schema:
            type: integer
            format: int32
          example: 1
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/addPaymentLogRequest'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                message: Order or payment not found
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdType}/{orderIdValue}/actions/update-attributes:
    post:
      tags:
        - Orders
      summary: Update order attributes by order identifier
      description: >
        Updates order attributes, typically used by the integration layer to
        modify 

        or synchronize external system–related information.  


        **Note:**  

        - Use this endpoint if you have the order ID, order number, or external
        order ID.  

        - If you only have an order number, set `orderIdType` to `order-number`.
      operationId: updateOrderAttributesByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-id`  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-id
              - order-number
              - order-external-id
          example: order-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: ORDER0001
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderAttributesUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/actions/update-customer:
    post:
      description: >-
        In many scenarios, customer details may change over time. For example, a
        customer might change their email, phone, or company affiliation. <p> By
        providing the order IDs and the updated customer details, this endpoint
        facilitates updating customer info for the given order IDs. This ensures
        order-related communication reaches the customer and they get timely
        customer service. </p>
      operationId: updateCustomerInfoInOrderList
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updateCustomerRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/customerResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Update customer details for given order IDs
      tags:
        - Orders
  /orders/order-number/{orderNumber}:
    get:
      description: >-
        As a merchant, you may need to review or monitor an order to answer
        customer inquiries, resolve a complaint or for analytics and reporting.
        With this endpoint, you can get order details by order number. <p>
        **Note**: If you do not have the order number, use the corresponding
        order ID-based endpoint - `GET /orders/{orderId}`. </p>
      operationId: getOrderByNumber
      parameters:
        - description: Merchant-defined order identifier
          example: Order-320000001
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order with orderNumber is not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get order by order number
      tags:
        - Orders
  /orders/order-number/{orderNumber}/actions/cancel:
    post:
      description: >
        Cancels an order when a customer's cancellation request is determined to
        be eligible.  

        This endpoint processes the cancellation based on the provided **order
        number**.  


        **Note:**  

        - Use this endpoint only if you have the order number.  

        - If you have the order ID or external order ID instead, use the
        corresponding 
          identifier-based endpoint: `POST /orders/{orderIdType}/{orderIdValue}/actions/cancel`.
      operationId: cancelOrderByOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: 123k4h123k
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCancellationRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '412':
          content:
            application/json:
              example:
                message: >-
                  Order can't be cancelled as there is no line item available
                  for cancellation
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Precondition failed
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Cancel order by order number
      tags:
        - Cancellations
  /orders/{orderIdType}/{orderIdValue}/actions/create-appeasement:
    post:
      tags:
        - Appeasements
      summary: Create an appeasement by order identifier
      description: >
        Creates an appeasement (such as a partial refund or credit) when a
        customer is dissatisfied 

        with their shopping experience. This endpoint allows you to initiate an
        appeasement 

        request by providing an order identifier.


        **Note:**  

        - Use this endpoint if you have the order ID, order number, or external
        order ID.  

        - If you only have an order number, you can still use this endpoint by
        setting `orderIdType` to `order-number`.
      operationId: createAppeasementByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-id`  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-id
              - order-number
              - order-external-id
          example: order-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: ORDER0001
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCreateAppeasementRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appeasementResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Not found
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdType}/{orderIdValue}/actions/check-appeasement-eligibility:
    post:
      tags:
        - Appeasements
      summary: Check appeasement eligibility by order identifier
      description: >
        Checks whether a given order is eligible for an appeasement (such as a
        partial refund or credit).  

        This endpoint evaluates eligibility based on the provided order
        identifier.


        **Note:**  

        - Use this endpoint if you have the order ID, order number, or external
        order ID.  

        - If you only have an order number, set `orderIdType` to `order-number`.
      operationId: checkAppeasementEligibilityByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-id`  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-id
              - order-number
              - order-external-id
          example: order-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: ORDER0001
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appeasementEligibilityResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Order not found
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/order-number/{orderNumber}/actions/check-appeasement-eligibility:
    post:
      description: >-
        This endpoint checks for the appeasement eligibility of an order by
        order number.
      operationId: checkAppeasementEligibilityByOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: ORDER0000111
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appeasementEligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Check appeasement eligibility by order number
      tags:
        - Appeasements
  /orders/order-number/{orderNumber}/actions/check-cancel-eligibility:
    post:
      description: >-
        Either customer may initiate cancellation due to an incorrect order
        placement or as a merchant, you may initiate cancellation due to product
        unavailability, pricing errors, payment failure, or shipping
        restrictions. Before processing cancellation, its crucial to determine
        the eligibility of the cancellation request. <p> This endpoint gets the
        eligibility of the cancellation request by order number. You can
        additionally specify `lineItemIds` to get the eligibility of specific
        line items.</p> <p> **Note**: If you do not have order number, use the
        corresponding order ID-based endpoint -
        `/orders/{orderId}/actions/check-cancel-eligibility`.</p>
      operationId: getCancelOrderEligibilityByOrderNumber
      parameters:
        - description: The merchant-defined order identifier.
          example: 123k4h123k
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - description: >-
            The merchant-defined cancellation policy. When omitted, the default
            policy is used.
          in: query
          name: policyName
          required: false
          schema:
            type: string
        - description: >-
            The line item IDs. If specified, you'll get cancellation eligibility
            of the given line items. If omitted, you'll get cancellation
            eligibility of each item in the order.
          in: query
          name: lineItemIds
          required: false
          schema:
            items:
              type: string
            type: array
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/eligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get order cancellation eligibility by order number
      tags:
        - Cancellations
  /orders/{orderIdType}/{orderIdValue}/actions/create-credits:
    post:
      tags:
        - Credits
      summary: Create credits by order identifier
      description: >
        Creates credits for an order when you want to issue compensation to a
        customer.  

        This endpoint allows you to initiate a credit request using an order
        identifier.


        **Note:**  

        - Use this endpoint if you have the order ID, order number, or external
        order ID.  

        - If you only have an order number, set `orderIdType` to `order-number`.
      operationId: createCreditsByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-id`  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-id
              - order-number
              - order-external-id
          example: order-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: ORDER0001
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCreditsRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderCreditsResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Not found
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdType}/{orderIdValue}/actions/check-credits-eligibility:
    post:
      tags:
        - Credits
      summary: Check credits eligibility by order identifier
      description: >
        Checks whether an order is eligible for credits (for example, gift cards
        or store credits) 

        in scenarios such as damaged products, late deliveries, or other
        qualifying 

        conditions defined by your business policies.  


        This endpoint allows you to verify eligibility using an order
        identifier, helping 

        businesses manage credits effectively and provide appropriate
        compensation to 

        customers.  


        **Note:**  

        - Use this endpoint if you have the order ID, order number, or external
        order ID.  

        - If you only have an order number, set `orderIdType` to `order-number`.
      operationId: checkCreditsEligibilityByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-id`  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-id
              - order-number
              - order-external-id
          example: order-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: ORDER0001
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/creditsEligibilityResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Not found
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdType}/{orderIdValue}/actions/update-credit-status:
    post:
      tags:
        - Credits
      summary: Update credit status by order identifier
      description: >
        Updates the status of credits associated with an order.  

        This endpoint can also be used to add notes or update additional 

        attributes related to a credit.  


        **Note:**  

        - Use this endpoint if you have the order ID, order number, or external
        order ID.  

        - If you only have an order number, set `orderIdType` to `order-number`.
      operationId: updateCreditStatusByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-id`  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-id
              - order-number
              - order-external-id
          example: order-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: ORDER0001
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCreditUpdateRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/creditsResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Not found
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/order-number/{orderNumber}/actions/check-credits-eligibility:
    post:
      description: >-
        When processing refunds, credits such as a gift card may be offered to
        customers for various reasons such as damaged products, late deliveries,
        or other qualifying factors as per your policy. <p> This endpoint checks
        the credits eligibility by order number, allowing you to manage credits
        effectively and provide appropriate compensation to eligible customers.
        </p>
      operationId: getCreditsEligibilityByOrderNumber
      parameters:
        - description: >-
            The merchant-defined order identifier provided by the Create Order -
            `POST /orders` endpoint.
          example: ORDER000001
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/creditsEligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Check credits eligibility by order number
      tags:
        - Credits
  /orders/{orderIdType}/{orderIdValue}/actions/submit-return-request:
    post:
      tags:
        - Returns
      summary: Submit return request by order identifier
      description: >
        Submits a return request for an order once it has been determined that
        the 

        customer's return request is eligible.  

        This endpoint processes the return request using the specified order
        identifier.  


        **Note:**  

        - Use this endpoint if you have the order number or external order ID.  

        - If you only have an order number, set `orderIdType` to
        `order-number`.  

        - If you only have an external order ID, set `orderIdType` to
        `order-external-id`.
      operationId: submitReturnRequestByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-number
              - order-external-id
          example: order-external-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: bef5680-u1245678
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderReturnRequest'
        required: true
      responses:
        '201':
          description: Return request accepted
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/returnOrderResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example: '{"message": "Order not found, "type":"CLIENT_ERROR"" }'
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdType}/{orderIdValue}/actions/check-exchange-eligibility:
    post:
      tags:
        - Returns
      summary: Check order exchange eligibility by order identifier
      description: >
        Determines whether an item or order is eligible for exchange.  

        Customers may request an exchange due to size, fit, color, or style
        preferences.  

        This endpoint verifies eligibility according to your defined business
        policies.  


        You can also specify a `lineItemId` to check exchange eligibility for a
        specific 

        item. If omitted, eligibility is checked for each item in the order.  


        **Note:**  

        - Use this endpoint if you have the order number or external order ID.  

        - If you only have an order number, set `orderIdType` to
        `order-number`.  

        - If you only have an external order ID, set `orderIdType` to
        `order-external-id`.
      operationId: checkExchangeEligibilityByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-number
              - order-external-id
          example: order-external-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: bef5680-u1245678
        - name: policyName
          in: query
          description: |
            The merchant-defined exchange policy to apply.  
            If omitted, the default policy is used.
          required: false
          schema:
            type: string
          example: RETURNS_POLICY_1
        - name: lineItemId
          in: query
          description: |
            A single line item ID.  
            - If specified, eligibility is checked only for that item.  
            - If omitted, eligibility is checked for each item in the order.
          required: false
          schema:
            type: string
          example: 62f3dfc438bcab1951be0a19
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/eligibilityResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Order with <orderId> is not found
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdType}/{orderIdValue}/actions/check-return-eligibility:
    post:
      tags:
        - Returns
      summary: Check return eligibility by order identifier
      description: >
        Determines whether one or more items in an order are eligible for
        return.  

        Customers may request a return because items did not meet expectations
        or 

        they simply changed their mind.  


        This endpoint verifies eligibility according to your defined return
        policies.  

        You can also specify a `lineItemId` to check return eligibility for a
        specific 

        item. If omitted, eligibility is checked for each item in the order.  


        **Note:**  

        - Use this endpoint if you have the order number or external order ID.  

        - If you only have an order number, set `orderIdType` to
        `order-number`.  

        - If you only have an external order ID, set `orderIdType` to
        `order-external-id`.
      operationId: checkReturnEligibilityByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-number
              - order-external-id
          example: order-external-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: bef5680-u1245678
        - name: policyName
          in: query
          description: |
            The merchant-defined return policy to apply.  
            If omitted, the default policy is used.
          required: false
          schema:
            type: string
          example: RETURNS_POLICY_1
        - name: lineItemId
          in: query
          description: |
            A single line item ID.  
            - If specified, eligibility is checked only for that item.  
            - If omitted, eligibility is checked for each item in the order.
          required: false
          schema:
            type: string
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/eligibilityResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Order not found
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/order-number/{orderNumber}/actions/check-exchange-eligibility:
    post:
      description: >
        Determines whether an order or specific items within an order are
        eligible for exchange.  

        Customers may request an exchange due to size, fit, color, or style
        preferences.  

        This endpoint checks exchange eligibility using the **order number**.  


        You can also specify a `lineItemId` to check eligibility for a specific
        item.  

        If omitted, eligibility is checked for each item in the order.  


        **Note:**  

        - Use this endpoint only if you have the order number.  

        - If you have an order ID instead, use the identifier-based endpoint:  
          `POST /orders/{orderIdType}/{orderIdValue}/actions/check-exchange-eligibility`.
      operationId: getOrderExchangeEligibilityByOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: Order-320000001
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - description: >-
            Merchant-defined exchange policy. When omitted, the default policy
            is considered.
          example: RETURNS_POLICY_1
          in: query
          name: policyName
          required: false
          schema:
            type: string
        - description: >-
            Line item ID. If specified, gets exchange eligibility of the given
            line item. If omitted, gets exchange eligibility of each item in the
            order.
          example: 62f3dfc438bcab1951be0a19
          in: query
          name: lineItemId
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/eligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order with <orderId> is not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get order exchange eligibility by order number
      tags:
        - Returns
  /orders/order-number/{orderNumber}/actions/check-return-eligibility:
    post:
      description: >
        Determines whether one or more items in an order are eligible for
        return.  

        Customers may request a return if items do not meet expectations or if
        they 

        have simply changed their mind.  

        This endpoint checks return eligibility using the **order number**.  


        You can also specify a `lineItemId` to check eligibility for a specific
        item.  

        If omitted, eligibility is checked for each item in the order.  


        **Note:**  

        - Use this endpoint only if you have the order number.  

        - If you have an order ID instead, use the identifier-based endpoint:  
          `POST /orders/{orderIdType}/{orderIdValue}/actions/check-return-eligibility`.
      operationId: getOrderReturnsEligibilityByOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: Order-320000001
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - description: >-
            Merchant-defined return policy. When omitted, the default policy is
            considered.
          example: RETURNS_POLICY_1
          in: query
          name: policyName
          required: false
          schema:
            type: string
        - description: >-
            Line item ID. If specified, you'll get the return eligibility of the
            given line item ID. If omitted, you'll get the return eligibility of
            each item in the order.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          in: query
          name: lineItemId
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/eligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get return eligibility by order number
      tags:
        - Returns
  /orders/order-number/{orderNumber}/actions/create-appeasement:
    post:
      description: >-
        When customer is dissatisfied with their shopping experience, you may
        want to offer an appeasement amount to keep them happy. <p> This
        endpoint is used to create appeasement request by order number.</p> <p>
        **Note**: If you do not have an order number, use the corresponding
        order ID-based endpoint - `POST
        /orders/{orderId}/actions/create-appeasement`</p>
      operationId: createAppeasementByOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: 123k4h123k
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCreateAppeasementRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appeasementResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Create appeasement by order number
      tags:
        - Appeasements
  /orders/order-number/{orderNumber}/actions/create-credits:
    post:
      description: The following endpoint is used to create credits using an order number.
      operationId: createCreditByOrderNumber
      parameters:
        - description: >-
            The merchant-defined order identifier provided during the Create
            Order - `POST /orders` endpoint.
          example: ORDER0001
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCreditsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderCreditsResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Create credits by order number
      tags:
        - Credits
  /orders/order-number/{orderNumber}/actions/fraud-cancel:
    post:
      description: >-
        If an order is suspected to be fraudulent, it is immediately placed on
        hold for verification. After verification, if its confirmed as
        fraudulent, this endpoint is used to cancel the order by order number.
        <p> **Note**: If you do not have an order number, use the corresponding
        order ID-based endpoint - `POST
        /orders/{orderId}/actions/fraud-cancel`.</p>
      operationId: fraudOrderCancelbyOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: 123k4h123k
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fraudCancelRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: An order with the orderNumber specified was not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Cancel fraud order by order number
      tags:
        - Frauds
  /orders/order-number/{orderNumber}/actions/fraud-release:
    post:
      description: >-
        If an order is suspected to be fraudulent, it is immediately placed on
        hold for verification. After verification, if it is confirmed as
        non-fraudulent, this endpoint is used to release the order from hold, by
        order number so that it can be processed. <p> **Note**: When you do not
        have an order number, use the corresponding order ID-based endpoint -
        `POST /orders/{orderId}/actions/fraud-release`.</p>
      operationId: releaseFraudHoldByOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: 123k4h123k
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: An order with the orderNumber specified was not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Release fraud order
      tags:
        - Frauds
  /orders/order-number/{orderNumber}/actions/package-tracking-acknowledge:
    put:
      description: >-
        This endpoint gets acknowledgement of package tracking by order number.
        <p> **Note**: If you do not have order number, use the corresponding
        order ID-based endpoint - `PUT
        /orders/{orderId}/actions/package-tracking-acknowledge`.</p>
      operationId: acknowledgeTrackingDetailsByOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: 309019176
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/acknowledgePackageTrackingRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: An order with the specified orderNumber was not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get acknowledgement for package tracking by order number
      tags:
        - Tracking
  /orders/order-number/{orderNumber}/actions/submit-return-request:
    post:
      description: >-
        When the customers return request is determined to be eligible, this
        endpoint is used to process the return request. <p> **Note**: If you do
        not have the order number, but have order ID, use Return order by order
        ID endpoint - `POST
        /orders/{orderId}/actions/submit-return-request`.</p>
      operationId: returnsOrderByOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: Order-20000001
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderReturnRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/returnOrderResponse'
          description: Return request accepted
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example: '{"message": "Order not found, "type":"CLIENT_ERROR"" }'
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Order return by order number
      tags:
        - Returns
  /orders/order-number/{orderNumber}/actions/update-attributes:
    post:
      description: The following endpoint is used to update attributes by order number.
      operationId: updateOrderAttributesByOrderNumber
      parameters:
        - description: >-
            The merchant-defined order identifier provided during the Create
            Order - `POST /orders` endpoint.
          example: Order-320000001
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderAttributesUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Update Shipping information for an existing order by order number
      tags:
        - Orders
  /orders/order-number/{orderNumber}/actions/update-credit-status:
    post:
      description: >-
        The update credit status endpoint is used to update the credits status,
        notes, and additional credit attributes.
      operationId: updateCreditByOrderNumber
      parameters:
        - description: >-
            The merchant-defined order identifier provided during the Create
            Order - `POST /orders` endpoint.
          example: ORDER0001
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCreditUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/creditsResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Update credit status by order number
      tags:
        - Credits
  /orders/order-number/{orderNumber}/actions/update-payment-status:
    post:
      description: >-
        This endpoint is used sync order payments when transactions happen
        externally. Additionally, used for updating order payment status and the
        amount, whether it is captured, refunded or void amount. <p> If you
        don't have order number, use the corresponding order ID-based endpoint -
        POST /orders/{orderId}/actions/update-payment-status. </p>
      operationId: updatePaymentStatusByOrderNumber
      parameters:
        - description: Merchant-defined order identifier
          example: 123k4h123k
          in: path
          name: orderNumber
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updatePaymentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Update status of order payment by order number
      tags:
        - Payments
  /orders/search:
    post:
      description: >-
        Search and retrieve orders using filter parameters such as order `type`,
        status, date range, and more. This endpoint allows customers and
        merchants to query past orders for review, analysis, or support. <p>
        Filters must be provided in the request body. You can paginate results
        using `offset` and `limit`. If pagination parameters are not specified,
        the default response returns up to 10 orders. </p>
      operationId: getOrdersByQuery
      parameters:
        - description: >-
            Number of records to skip before returning records. For example,
            When `offset=20`, `limit=10` returns records 21-30.
          example: 0
          in: query
          name: offset
          schema:
            default: 0
            type: number
        - description: Maximum number of records per page
          example: 10
          in: query
          name: limit
          schema:
            default: 10
            example: 10
            type: number
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderSearchRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/searchResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Search for Orders
      tags:
        - Orders
  /orders/{orderId}:
    get:
      description: >-
        As a merchant, you may need to review or monitor an order to answer
        customer inquiries, resolve a complaint, or for analytics and reporting.
        With this endpoint, you can get order details by order ID. <p> **Note**:
        If you do not have the order ID, use the corresponding order
        number-based endpoint - `GET /orders/order-number/{orderNumber}`.</p>
      operationId: getOrder
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order endpoint - `POST /orders`.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order with orderId is not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get order by order ID
      tags:
        - Orders
  /orders/{orderIdType}/{orderIdValue}/actions/cancel:
    post:
      tags:
        - Cancellations
      summary: Cancel order by order identifier
      description: >
        Cancels an order when a customer's cancellation request is determined to
        be eligible.  

        This endpoint processes the cancellation based on the provided order
        identifier.  


        **Note:**  

        - Use this endpoint if you have the order ID, order number, or external
        order ID.  

        - If you only have an order number, set `orderIdType` to `order-number`.
      operationId: cancelOrderByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-id`  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-id
              - order-number
              - order-external-id
          example: order-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: ORDER0001
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCancellationRequest'
        required: true
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Order not found
                type: CLIENT_ERROR
        '412':
          description: Precondition failed
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: >-
                  Order cannot be cancelled as there is no line item available
                  for cancellation
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderIdType}/{orderIdValue}/actions/check-cancel-eligibility:
    post:
      tags:
        - Cancellations
      summary: Check order cancellation eligibility by order identifier
      description: >
        Determines whether an order is eligible for cancellation.  

        - Customers may initiate cancellations due to incorrect order
        placement.  

        - Merchants may initiate cancellations due to product unavailability,
        pricing errors, payment failures, or shipping restrictions.  


        You can also specify `lineItemIds` to check cancellation eligibility for
        specific line items.  

        If not provided, eligibility is checked for each item in the order.  


        **Note:**  

        - Use this endpoint if you have the order ID, order number, or external
        order ID.  

        - If you only have an order number, set `orderIdType` to `order-number`.
      operationId: checkCancelEligibilityByOrderIdentifier
      parameters:
        - name: orderIdType
          in: path
          description: |
            The type of order identifier used to locate the order.  
            Supported values:  
            - `order-id`  
            - `order-number`  
            - `order-external-id`
          required: true
          schema:
            type: string
            enum:
              - order-id
              - order-number
              - order-external-id
          example: order-id
        - name: orderIdValue
          in: path
          description: The value of the specified order identifier.
          required: true
          schema:
            type: string
          example: ORDER0001
        - name: policyName
          in: query
          description: >
            The merchant-defined cancellation policy to use when evaluating
            eligibility.  

            If omitted, the default policy is applied.
          required: false
          schema:
            type: string
        - name: lineItemIds
          in: query
          description: >
            One or more line item IDs.  

            - If specified, eligibility is checked only for the given line
            items.  

            - If omitted, eligibility is checked for each item in the order.
          required: false
          schema:
            type: array
            items:
              type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/eligibilityResponse'
        '400':
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4003
                message: 'Mandatory param(s): `requiredField1` is/are missing'
                errors:
                  - type: CLIENT_ERROR
                    errorCode: SERVICE-4002
                    message: Invalid value(s) specified for 'requiredField.field3'
                    errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: CLIENT_ERROR
                errorCode: SERVICE-4001
                message: Unauthorized request
                errors: []
                context:
                  service: orders
                  endpoint: POST /v3/orders/OrderId_12345
        '404':
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                message: Not found
                type: CLIENT_ERROR
        '500':
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/errorResponse'
              example:
                type: SERVER_ERROR
                errorCode: SERVICE-5000
                message: Internal server error
                errors: []
                context:
                  service: inventories
                  endpoint: POST /v3/inventories/actions/find-by-geography
  /orders/{orderId}/actions/cancel:
    post:
      description: >-
        When customers order cancellation request is determined to be eligible,
        this endpoint processes the cancellation by order ID. <p> **Note**: If
        you do not have the order number, use the corresponding order
        number-based endpoint - `POST
        /orders/order-number/{orderNumber}/actions/cancel`.</p>
      operationId: cancelOrder
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCancellationRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '412':
          content:
            application/json:
              example:
                message: >-
                  Order can't be cancelled as there is no line item available
                  for cancellation
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Precondition failed
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Cancel order by order ID
      tags:
        - Cancellations
  /orders/{orderId}/actions/check-appeasement-eligibility:
    post:
      description: >-
        This endpoint checks for the appeasement eligibility of an order by
        orderId.
      operationId: checkAppeasementEligibilityByOrderId
      parameters:
        - description: >-
            The merchant-defined order identifier provided during the Create
            Order - `POST /orders` endpoint.
          example: ORDER0000111
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appeasementEligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Check appeasement eligibility by order ID
      tags:
        - Appeasements
  /orders/{orderId}/actions/check-cancel-eligibility:
    post:
      description: >
        Determines whether an order is eligible for cancellation.  

        - Customers may initiate cancellation due to incorrect order
        placement.  

        - Merchants may initiate cancellation due to product unavailability,
        pricing errors, 
          payment failures, or shipping restrictions.  

        This endpoint checks cancellation eligibility using the **order ID**.  

        You can also specify `lineItemIds` to check eligibility for specific
        line items.  

        If omitted, eligibility is checked for each item in the order.  


        **Note:**  

        - Use this endpoint only if you have the order ID.  

        - If you have an order number instead, use the order number–based
        endpoint:  
          `POST /orders/order-number/{orderNumber}/actions/check-cancel-eligibility`.
      operationId: getCancelOrderEligibility
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - description: >-
            Merchant-defined cancellation policy. When omitted, the default
            policy is considered.
          in: query
          name: policyName
          required: false
          schema:
            type: string
        - description: >-
            Line item IDs. If specified, gets eligibility of exchange for the
            given line items. If omitted, gets eligibility of exchange for each
            item in the order.
          in: query
          name: lineItemIds
          required: false
          schema:
            items:
              type: string
            type: array
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/eligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get order cancellation eligibility by order ID
      tags:
        - Cancellations
  /orders/{orderId}/actions/check-credits-eligibility:
    post:
      description: >-
        In case of refund scenarios, credits such as gift card may be offered to
        customers for various reasons such as damaged products, later
        deliveries, or other qualifying factors as per your policy. <p> This
        endpoint checks the credits eligibility by order ID, allowing businesses
        to manage credits effectively and provide appropriate compensation to
        eligible customers.</p>
      operationId: getCreditsEligibility
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/creditsEligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Check credits eligibility by order ID
      tags:
        - Credits
  /orders/{orderId}/actions/check-exchange-eligibility:
    post:
      description: >-
        Customers may want exchange an item because of size, color, or style
        preferences. Before processing exchange, its crucial to verify whether
        the item is eligible for exchange as per your policy. <p> This endpoint
        gets the eligibility of exchange request by order number. You can
        additionally specify `lineItemId` to get eligibility of a specific
        item.</p> <p> **Note**: If you do not have the order ID, but have the
        order number, use the order number-based endpoint - `POST
        /orders/order-number/{orderNumber}/actions/check-exchange-eligibility`.</p>
      operationId: getOrderExchangeEligibilityByOrderId
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - description: >-
            Merchant-defined exchange policy. When omitted, the default policy
            is considered.
          example: RETURNS_POLICY_1
          in: query
          name: policyName
          required: false
          schema:
            type: string
        - description: >-
            Line item ID. If specified, gets exchange eligibility of the given
            line item ID. If omitted, gets exchange eligibility of each item in
            the order.
          example: 62f3dfc438bcab1951be0a19
          in: query
          name: lineItemId
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/eligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order with orderId is not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get order exchange eligibility by order ID
      tags:
        - Returns
  /orders/{orderId}/actions/check-return-eligibility:
    post:
      description: >
        Determines whether one or more items in an order are eligible for
        return.  

        Customers may request a return if items do not meet expectations or if
        they 

        have simply changed their mind.  


        This endpoint checks return eligibility using the **order ID**.  

        You can also specify a `lineItemId` to check eligibility for a specific
        item.  

        If omitted, eligibility is checked for each item in the order.  


        **Note:**  

        - Use this endpoint only if you have the order ID.  

        - If you have an order number instead, use the order number–based
        endpoint:  
          `POST /orders/order-number/{orderNumber}/actions/check-return-eligibility`.
      operationId: getOrderReturnsEligibilityByOrderId
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - description: >-
            Merchant-defined return policy. When omitted, the default policy is
            considered.
          example: RETURNS_POLICY_1
          in: query
          name: policyName
          required: false
          schema:
            type: string
        - description: >-
            Line item ID. If specified, gets the return eligibility of the given
            line item ID. If omitted, gets the return eligibility of each item
            in the order.
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          in: query
          name: lineItemId
          required: false
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/eligibilityResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get eligibility of returns for items in an order by order ID
      tags:
        - Returns
  /orders/{orderId}/actions/create-appeasement:
    post:
      description: >-
        When customer is dissatisfied with their shopping experience, you may
        want to offer an appeasements amount such as partial refund to keep them
        happy. <p> This endpoint is used to create appeasement request by order
        ID </p> <p>. **Note**: If you do not have an order ID, but have an order
        number, use the order number-based endpoint - `POST
        /orders/order-number/{orderNumber}/actions/create-appeasement`.</p>
      operationId: createAppeasement
      parameters:
        - description: >-
            24-character system-generated ID. It is returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCreateAppeasementRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/appeasementResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Create appeasement by order ID
      tags:
        - Appeasements
  /orders/{orderId}/actions/create-credits:
    post:
      description: Use this endpoint to create credits by order ID.
      operationId: createCredits
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCreditsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderCreditsResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Create credits by order ID
      tags:
        - Credits
  /orders/{orderId}/actions/fraud-cancel:
    post:
      description: >-
        If an order is suspected to be fraudulent, it is immediately placed on
        hold for verification. After verification, if it is confirmed as
        fraudulent, this endpoint is used to cancel the order. <p> **Note**: If
        you do not have order ID, use the corresponding order number-based
        endpoint - `POST -
        /orders/order-number/{orderNumber}/actions/fraud-cancel` </p>
      operationId: fraudOrderCancelbyOrderId
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/fraudCancelRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: An order with the orderNumber specified was not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Cancel fraud order by order ID
      tags:
        - Frauds
  /orders/{orderId}/actions/fraud-release:
    post:
      description: >-
        If an order is suspected to be fraudulent, it is immediately placed on
        hold for verification. After verification, if it is confirmed as
        non-fraudulent, this endpoint is used to release the order from hold, by
        order ID, so that it can be processed. <p> **Note**: When you do not
        have order ID, use the corresponding order number-based endpoint - `POST
        /orders/order-number/{orderNumber}/actions/fraud-release`.</p>
      operationId: releaseFraudHoldByOrderId
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: An order with the orderNumber specified was not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Release fraud order by order ID
      tags:
        - Frauds
  /orders/{orderId}/actions/package-tracking-acknowledge:
    put:
      description: >-
        This endpoint gets acknowledgement of package tracking by order ID. <p>
        **Note**: If you do not have order ID, use the corresponding order
        number-based endpoint - `PUT
        /orders/order-number/{orderNumber}/actions/package-tracking-acknowledge`.</p>
      operationId: acknowledgeTrackingDetailsByOrderId
      parameters:
        - description: >-
            24-character system-generated ID. It is returned in the response of
            Create Order - `POST /orders` endpoint.
          example: as4refar4e309019176
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/acknowledgePackageTrackingRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: An order with the specified order ID was not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Get package tracking acknowledgement by order ID
      tags:
        - Tracking
  /orders/{orderId}/actions/submit-return-request:
    post:
      description: >-
        When customers return request is found to be eligible, this endpoint
        submits the return request by order ID. <p> **Note**: If you do not have
        order ID, use the corresponding order number-based endpoint- `POST
        /orders/order-number/{orderNumber}/actions/submit-return-request`.</p>
      operationId: returnsOrderByOrderId
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderReturnRequest'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/returnOrderResponse'
          description: Return request accepted
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Order return by order ID
      tags:
        - Returns
  /orders/{orderId}/actions/update-attributes:
    post:
      description: >-
        The update attributes endpoint is used to update order attributes using
        the order ID. Attributes can be updated in the integration layer to
        modify external system related information.
      operationId: updateOrderAttributesByOrderId
      parameters:
        - description: >-
            The merchant-defined order identifier provided during the Create
            Order - `POST /orders` endpoint.
          example: 123k4h123k
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderAttributesUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Update Order Attributes
      tags:
        - Orders
  /orders/{orderId}/actions/update-credit-status:
    post:
      description: >-
        Use this endpoint to update the credit status, as well as to add any
        associated notes and additional attributes.
      operationId: updateCredit
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/orderCreditUpdateRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/creditsResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Update credits by order ID
      tags:
        - Credits
  /orders/{orderId}/actions/update-payment-status:
    post:
      description: >-
        This endpoint is used sync order payments when transactions happen
        externally. Additionally, used for updating order payment status and the
        amount, whether it is captured, refunded or void amount. <p> If you
        don't have order ID, use the corresponding order number-based endpoint -
        POST
        /orders/order-number/{orderNumber}/actions/update-payment-status.</p>
      operationId: updatePaymentStatus
      parameters:
        - description: >-
            24-character system-generated ID. It is returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/updatePaymentRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Update order payment status by order ID
      tags:
        - Payments
  /orders/{orderId}/ship-info/{shipToId}/pickup:
    put:
      description: >-
        Customers can choose to either have their order delivered to them or opt
        to pick up from a store or warehouse. In a Buy Online Pickup in Store
        (BOPIS) scenario, there may be situations when the primary pickup person
        has changed. <p> This endpoint allows for the updating pickup person
        details in BOPIS, ensuring that the most up-to-date information is
        available.</p>
      operationId: updatePickInfo
      parameters:
        - description: >-
            24-character system-generated order ID returned in the response of
            Create Order - `POST /orders` endpoint.
          example: 5349b4ddd2781d08c09890f4
          in: path
          name: orderId
          required: true
          schema:
            type: string
        - description: Unique ID for the given `shipInfo`
          example: b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569
          in: path
          name: shipToId
          required: true
          schema:
            type: string
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xFabricRequestId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/pickupRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/orderResponse'
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '400':
          content:
            application/json:
              example:
                errors:
                  - message: Invalid request
                    type: CLIENT_ERROR
                message: Bad request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Bad request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '401':
          content:
            application/json:
              example:
                message: Unauthorized request
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '404':
          content:
            application/json:
              example:
                message: Order not found
                type: CLIENT_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Not found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
        '500':
          content:
            application/json:
              example:
                message: Internal server error
                type: SERVER_ERROR
              schema:
                $ref: '#/components/schemas/errorResponse'
          description: Internal server error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponseHeader'
      summary: Updates order pick-up details
      tags:
        - Orders
security:
  - authorization: []
servers:
  - description: Production
    url: https://api.fabric.inc/v3
tags:
  - description: These endpoints authorize order payments.
    name: Payments
  - description: These endpoints help create appeasement requests.
    name: Appeasements
  - description: >-
      Credits are refunds to customers, often in the form of gift cards or
      credit notes, when customers have made payments with cash or a card that
      has subsequently expired. Credits are provided during order returns and
      appeasements. Use these endpoints to create and manage credits.
    name: Credits
  - description: >-
      These endpoints check eligibility of order cancellation requests and if
      eligible, processes order cancellation.
    name: Cancellations
  - description: These endpoints track orders.
    name: Tracking
  - description: >-
      These endpoints create orders, update pickup details (for BOPIS scenarios)
      and get order details.
    name: Orders
  - description: >-
      These endpoints check eligibility of order return or exchanges requests
      and, if eligible, processes order return or exchanges.
    name: Returns
  - description: These endpoints deal with potential fraud orders.
    name: Frauds
