> ## Documentation Index
> Fetch the complete documentation index at: https://developer.fabric.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Find shipments

> As merchants, you may want to view shipments of specific statuses, monitor progress of deliveries, and proactively manage situations to ensure timely deliveries. <p> This endpoint enables you to easily search for shipments based on the specified criteria in the request body. You can refine your search by specifying `limit` and `offset`. When they're not specified, by default you will get up to 10 records. In addition, you can `sort` results.</p>



## OpenAPI

````yaml shipments.openapi post /shipments/search
openapi: 3.0.1
info:
  contact:
    email: support@fabric.inc
    name: fabric Orders team
  description: >-
    fabric **Shipments** API is a multi-tenant service that enables you to
    manage shipments for existing 'Allocations.' Shipments serve as records of
    the locations from which an order was fulfilled. Typical user of fabric
    Shipments service is a Warehouse management service or Point of Sale
    service. <p> **Note**: Shipments API relies on the Allocation service to
    send allocation details to external merchant systems after an order is
    placed. Allocation is the prerequisite for using Shipments API.</p>
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
  termsOfService: https://fabric.inc/terms-of-use
  title: Orders - Shipments API
  version: 3.0.0
  x-audience: external-public
servers:
  - description: Production
    url: https://api.fabric.inc/v3
security:
  - authorization: []
tags:
  - description: >-
      fabric **Shipments** API is a multi-tenant service that enables you to
      manage shipments for existing 'Allocations.' Shipments serve as records of
      the locations from which an order was fulfilled. Typical user of fabric
      Shipments service is a Warehouse management service or Point of Sale
      service. <p> **Note**: Shipments API relies on the Allocation service to
      send allocation details to external merchant systems after an order is
      placed. Allocation is the prerequisite for using Shipments API.</p>
    name: Shipments
externalDocs:
  description: Find out more about fabric Orders (also called OMS)
  url: https://developer.fabric.inc/v3/docs/orders-overview
paths:
  /shipments/search:
    post:
      tags:
        - Shipments
      summary: Find shipments
      description: >-
        As merchants, you may want to view shipments of specific statuses,
        monitor progress of deliveries, and proactively manage situations to
        ensure timely deliveries. <p> This endpoint enables you to easily search
        for shipments based on the specified criteria in the request body. You
        can refine your search by specifying `limit` and `offset`. When they're
        not specified, by default you will get up to 10 records. In addition,
        you can `sort` results.</p>
      operationId: searchShipments
      parameters:
        - in: query
          name: fetchOnlyIds
          required: false
          schema:
            default: false
            type: boolean
        - description: >-
            The number of records to skip before returning all records. For
            example, `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/shipmentsSearchRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/shipmentsSearchResponse'
          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'
components:
  parameters:
    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
    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
    xFabricRequestId:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      in: header
      name: x-fabric-request-id
      required: false
      schema:
        type: string
  schemas:
    shipmentsSearchRequest:
      description: Sort and filter criteria for shipment search
      example:
        filters:
          - condition: EQ
            field: shipment.shipmentNum
            value: Shipment_112255
          - condition: IN
            field: shipment.cartons.cartonNum
            values:
              - Tracking_*
        sort: '-shipment.shipDate'
      properties:
        filters:
          items:
            oneOf:
              - $ref: '#/components/schemas/valueSearchFilter'
              - $ref: '#/components/schemas/valuesSearchFilter'
          maxItems: 50
          minItems: 0
          type: array
        sort:
          default: '-shipment.shipDate'
          description: >-
            Property name on which response needed to be sorted. **Note**: `-`
            refers to descending and `+` refers to ascending order
          example: '-shipment.shipDate'
          pattern: (^[+-]shipment\.[a-zA-Z.\-_]*)(,([+-]shipment\.[a-zA-Z.\-_]*)){0,}
          type: string
      required:
        - filters
      type: object
    shipmentsSearchResponse:
      description: Shipment search response
      properties:
        data:
          items:
            $ref: '#/components/schemas/shipmentResponse'
          type: array
        pagination:
          $ref: '#/components/schemas/pagination'
      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
    valueSearchFilter:
      allOf:
        - $ref: '#/components/schemas/shipmentSearchFilter'
        - 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: >-
        The criteria used to find shipments 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/shipmentSearchFilter'
        - 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: >-
        The search criteria when using multiple values. Condition between
        `field` and `values` is either IN or NIN when `valuesSearchFilter` is
        used.
      required:
        - condition
        - field
      type: object
    shipmentResponse:
      description: Shipment details
      properties:
        allocationId:
          description: >-
            System-generated allocation ID (UUID) from the Create allocation
            endpoint of fabric Allocation service. It refers to the given
            shipment. **Note**: Allocation occurs prior to Shipment Creation.
            `allocationId` is mandatory to create a Shipment.
          example: 6413e3d3fd03a35efccb426e
          type: string
        auditLogs:
          description: Audit log details
          items:
            $ref: '#/components/schemas/shipmentAuditLog'
          type: array
        cartons:
          description: Carton details
          items:
            $ref: '#/components/schemas/shipmentCarton'
          type: array
        createdAt:
          description: Shipment creation time (UTC)
          example: '2023-04-06T07:58:30.996Z'
          format: date-time
          type: string
        invoiceId:
          description: >-
            Invoice ID generated from fabric Invoice service during shipment
            creation. **Note**: Invoices are only created for Shipments where
            merchants have payment **Capture at Shipment** feature enabled. The
            value will be “Null” if merchants don't have “Capture at Shipment”
            feature enabled.
          example: 63ef4360aafa8a7f5247fe48
          type: string
        locationNumber:
          description: >-
            Unique value to identify ship-from location. This must be the
            `locationNumber` stored in the fabric Location service.
          example: WH334
          type: string
        locationType:
          description: Location type, such as distribution center (DC) or warehouse
          example: DC
          type: string
        masterTrackingNumber:
          description: Master tracking number for all cartons in the shipment
          example: TX112345678
          type: string
        orderNumbers:
          description: >-
            List of order numbers associated with a shipment. **Note**:
            Currently, a shipment can be associated with only one order. In the
            future, this property will support a scenario where a customer
            places a second order for the same product immediately after their
            first order. Multiple order numbers can be linked to one shipment in
            such cases.
          items:
            example: 309020213, 459020213
            type: string
          type: array
        poNumber:
          description: Merchant-defined purchase order number
          example: '1125'
          type: string
        recipients:
          description: Recipient details
          items:
            $ref: '#/components/schemas/shipmentRecipient'
          type: array
        reshipmentReasonCode:
          description: The reshipment reason code.
          example: Order is missing
          type: string
        scratchedItems:
          description: Details of scratched items
          items:
            $ref: '#/components/schemas/shipmentScratchedItem'
          type: array
        shipToAddress:
          $ref: '#/components/schemas/address'
        shipToId:
          description: >-
            Ship-to ID generated in the response of Create shipping endpoint of
            Shipping service
          example: '1'
          type: string
        shipmentId:
          description: System-generated shipment ID (UUID)
          example: 627963716b19511e8a3a631b
          type: string
        shipmentNumber:
          description: >-
            Merchant-defined unique shipment identifier. **Note**: It can be
            optionally generated by fabric by using resource generator feature
            in the Configuration service
          example: '78974156816152'
          type: string
        shipmentExternalId:
          type: string
          description: >-
            Unique shipment identifier defined by the merchant. This value can
            be used to track or reconcile shipments in external systems and
            serves as a reference between fabric and the merchant's order
            management or fulfillment system.
          example: 123k4h123k
        shippedAt:
          description: Order shipment time (UTC)
          example: '2023-04-06T07:58:30.996Z'
          format: date-time
          type: string
        statusCode:
          description: >-
            Current shipment status (fabric-defined codes). **Note**: For
            standard shipments, the status would be SHIPMENT_CREATED. For pickup
            shipment, the initial status would be PICKUP_CREATED and once the
            customer picks up, the status changes to PICKUP_COMPLETED
          enum:
            - SHIPMENT_CREATED
            - SHIPMENT_UPDATED
            - SHIPMENT_CANCELLED
            - PICKUP_CREATED
            - PICKUP_COMPLETED
            - SHIPMENT_DELIVERED
            - SHIPMENT_RETURN_PENDING
            - SHIPMENT_RETURN_RECEIVED
            - SHIPMENT_PARTIALLY_DELIVERED
          example: SHIPMENT_CREATED
          type: string
        subtype:
          description: >-
            Shipment subtype, for another layer of classification. There are no
            pre-defined values; the possible value is Cash On Delivery (COD)
          example: COD
          type: string
        totalCartons:
          description: >-
            Total number of cartons in the given shipment. There can be only one
            carton per trackingNumber.
          example: 2
          format: int64
          type: integer
        type:
          description: Shipment types
          enum:
            - STANDARD
            - RESHIP
            - RETURN
            - SCRATCH
            - PENDING_RETURN
            - PICKUP
            - TRANSFER
          example: STANDARD
          type: string
        updatedAt:
          description: Time of last update to shipment (UTC)
          example: '2023-04-06T07:58:30.996Z'
          format: date-time
          type: string
        vendorId:
          description: >-
            Vendor ID. Applicable in dropshipping scenarios to indicate the
            vendor responsible for the given item.
          example: '56'
          type: string
        version:
          description: >-
            The current version of the shipment document. This integer indicates
            the number of times the shipment has been updated by any operation.
          example: 2
          format: int64
          type: integer
      required:
        - version
      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: >-
            The 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
    shipmentSearchFilter:
      description: >-
        Criteria to find shipments. To search using a single value, the
        `valueSearchFilter` is considered. To search using multiple values,
        `valuesSearchFilter` is considered.
      discriminator:
        mapping:
          EQ:
            $ref: '#/components/schemas/valueSearchFilter'
          GT:
            $ref: '#/components/schemas/valueSearchFilter'
          GTE:
            $ref: '#/components/schemas/valueSearchFilter'
          IN:
            $ref: '#/components/schemas/valuesSearchFilter'
          LT:
            $ref: '#/components/schemas/valueSearchFilter'
          LTE:
            $ref: '#/components/schemas/valueSearchFilter'
          NEQ:
            $ref: '#/components/schemas/valueSearchFilter'
          NIN:
            $ref: '#/components/schemas/valuesSearchFilter'
        propertyName: condition
      properties:
        condition:
          default: EQ
          description: >-
            Filter conditions. EQ (Equal to): Searches for exact match. NEQ (Not
            equal to): Searches by excluding the specified value. IN: Search for
            multiple values. NIN (Not IN): Excludes the specified values in the
            search. LT (Less than): Searches for values that are less than the
            specified value. GT (Greater than):  Search for values that are
            greater than the specified value. LTE (Less than or equal to):
            Searches for values that are less than or equal to the specified
            value. GTE (Greater than or equal to): Searches for values that are
            greater than or equal to the specified value.
          enum:
            - EQ
            - NEQ
            - IN
            - NIN
            - LT
            - GT
            - LTE
            - GTE
          example: LT
          type: string
        field:
          description: Field name
          example: shipment.shipmentNum
          pattern: ^shipment\.[a-zA-Z.\-_]*
          type: string
        group:
          default: Default
          description: Group name
          example: GroupA
          type: string
      required:
        - condition
        - field
      type: object
    shipmentAuditLog:
      description: Details for updating shipment
      properties:
        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
        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
        note:
          description: Additional info, if any
          example: Note
          type: string
        reasonCode:
          description: Merchant-defined reason code, varies from merchant to merchant
          example: Scratched item
          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
    shipmentCarton:
      description: Carton details
      properties:
        cartonNumber:
          description: >-
            Merchant-defined unique identifier. This can optionally be generated
            by fabric by using the resource generator feature of the
            Configuration service.
          example: '1'
          type: string
        cartonType:
          description: Carton type
          example: Package
          type: string
        estimatedDeliveryDate:
          description: >-
            Estimated delivery date given by carrier based on several factors
            including selected shipping method and delivery location (UTC).
          example: '2023-04-26T07:58:30.996Z'
          format: date-time
          type: string
        estimatedShipmentDate:
          description: >-
            Estimated ship date given by seller based on availability of items,
            their processing time, delivery location, and selected shipping
            method (UTC).
          example: '2023-03-25T07:58:30.996Z'
          format: date-time
          type: string
        items:
          description: Carton item details
          items:
            $ref: '#/components/schemas/shipmentItem'
          type: array
        promisedDeliveryDate:
          description: Promised delivery date given by seller (UTC)
          example: '2023-03-26T07:58:30.996Z'
          format: date-time
          type: string
        shipmentCarrier:
          description: Shipment carrier name
          example: FEDEX
          type: string
        shipmentMethod:
          description: Shipment method
          example: ground
          type: string
        tracking:
          description: Carton tracking details
          items:
            $ref: '#/components/schemas/trackingResource'
          type: array
        trackingNumber:
          description: Carton tracking number. There is a single tracking number per carton
          example: 1Z999AA10123456784
          type: string
        trackingURL:
          description: Carton tracking URL
          example: https://example.com/tracking
          type: string
        weight:
          description: Carton weight
          example: 500 grams
          type: string
      type: object
    shipmentRecipient:
      description: Shipment recipient details
      properties:
        email:
          description: Recipient's email
          example: support@example.inc
          type: string
        name:
          $ref: '#/components/schemas/orderContactName'
        phone:
          $ref: '#/components/schemas/orderContactPhone'
      type: object
    shipmentScratchedItem:
      description: >-
        Customer may cancel allocation line items as part of the shipment post
        request. In fabric Shipments service, this is called 'Scratched Items'
        or 'scratchedItems'.
      properties:
        itemId:
          description: Unique item identifier
          example: 100043
          format: int32
          type: integer
        lineItemId:
          description: >-
            Unique number assigned by merchant to identify each item in an
            order. When this value isn't provided, fabric will auto generate it
            (in UUID format) during order creation.
          example: '2'
          type: string
        orderId:
          description: >-
            24-character ID displayed in the response of Create Order endpoint -
            `POST /orders`
          example: 6413e370cb0dc859b6c0dcb0
          type: string
        quantity:
          default: 0
          description: Number of scratched items
          example: 1
          format: int32
          type: integer
        reasonCode:
          description: Reason code for scratch
          example: ReasonCode23454
          type: string
        sku:
          description: Stock keeping unit (SKU), unique item identifier
          example: SKU00043
          type: string
        subReasonCode:
          description: Sub-reason code
          example: SubReasonCode23242
          type: string
        uom:
          description: >-
            Unit in which a product is measured or sold. UOM can be set to
            'each' (EA) or GAL (Gallon), DZ (Dozen), etc.
          example: EA
          type: string
      required:
        - reasonCode
      type: object
    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
    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
    shipmentItem:
      description: Details of item in shipment
      properties:
        fees:
          description: Fee details
          items:
            $ref: '#/components/schemas/returnFeeDetail'
          type: array
        giftCards:
          description: Gift card details
          items:
            $ref: '#/components/schemas/shipmentGiftCardDetail'
          type: array
        itemId:
          description: Unique item identifier
          example: 100023
          format: int32
          type: integer
        lineItemId:
          description: >-
            Unique number assigned by merchant to identify each item in an
            order. When this value isn't provided, fabric will auto generate (in
            UUID format) during order creation.
          example: '1'
          type: string
        orderId:
          description: >-
            24-character order ID generated in the response of Create Order
            endpoint - `POST /orders`
          example: 6413e370cb0dc859b6c0dcb0
          type: string
        orderNumber:
          description: Merchant-defined order identifier
          example: '309020213'
          type: string
        orderedQuantity:
          default: 0
          description: Ordered quantity of given item
          example: 2
          format: int32
          type: integer
        refundAmount:
          description: Refund amount for returned items
          example: 10
          format: double
          type: number
        refundAmountInCurrencies:
          type: array
          description: >
            The refund amount for returned items represented in one or more
            currencies.  

            Each entry specifies the refunded value and its corresponding
            currency code,  

            following the structure defined in the `amountInCurrencyResource`
            schema.
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        returnQuantity:
          default: 0
          description: Returned quantity of given item
          example: 1
          format: int32
          type: integer
        segment:
          description: Item segment
          example: segment
          type: string
        shipmentLineItemId:
          description: >-
            Unique number assigned by merchant to identify item in a shipment.
            When this value isn't provided, fabric will auto generate it (UUID
            format) during shipment.
          example: 607f1f77bcf86cd799439011
          type: string
        shippedQuantity:
          default: 0
          description: Shipped quantity of given item
          example: 2
          format: int32
          type: integer
        sku:
          description: Stock keeping unit (SKU), unique item identifier
          example: SKU0023
          type: string
        uom:
          description: >-
            Unit in which a product is measured or sold. UOM can be set to
            'each' (EA) or GAL (Gallon), DZ (Dozen), etc.
          example: EA
          type: string
        vendorId:
          description: >-
            Vendor ID. Applicable in dropshipping scenarios to indicate the
            vendor responsible for the given item.
          example: vend12346667
          type: string
      type: object
    trackingResource:
      description: Shipment tracking details
      properties:
        event:
          description: >-
            Shipment-specific event. Mandatory in the request body of Update
            shipment tracking - `POST /shipments/actions/update-tracking`
            endpoint
          example: picked up
          type: string
        eventId:
          description: Event ID provided by carrier
          example: 627963716b19511e8a3a631b
          type: string
        eventRecordedAt:
          description: Time event was recorded (UTC)
          example: '2019-09-30T07:58:30.996Z'
          format: date-time
          type: string
        location:
          description: Delivery location
          example: Reno, NV
          type: string
        notes:
          additionalProperties:
            description: Attributes to save any additional info
            example: '{"description":"Shipment picked up"}'
            type: string
          description: Attributes to save any additional info
          example:
            description: Shipment picked up
          type: object
        shipmentCarrier:
          description: Shipment carrier
          example: FEDEX
          type: string
      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
    returnFeeDetail:
      description: Return fee details
      properties:
        amount:
          description: Merchant-defined return amount
          example: 34.56
          format: double
          type: number
        amountInCurrencies:
          type: array
          description: >
            The return amount represented in one or more currencies.  

            Each entry specifies the refunded value and its corresponding
            currency code,  

            following the structure defined in the `amountInCurrencyResource`
            schema.
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        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
    shipmentGiftCardDetail:
      description: Gift card details
      properties:
        amount:
          type: number
          format: double
          description: Gift card amount
          example: 50
        amountInCurrencies:
          type: array
          description: >
            The gift card amount represented in one or more currencies.  

            Each entry specifies the refunded value and its corresponding
            currency code,  

            following the structure defined in the `amountInCurrencyResource`
            schema.
          items:
            $ref: '#/components/schemas/amountInCurrencyResource'
        giftCardActivatedAt:
          description: Time gift card was activated (UTC)
          example: '2023-04-26T07:58:30.996Z'
          format: date-time
          type: string
        giftCardActivationRequestedAt:
          description: Time of placing gift card activation request (UTC)
          example: '2023-03-26T07:58:30.996Z'
          format: date-time
          type: string
        giftCardNumber:
          description: Gift card number
          example: '453456765'
          type: string
        giftCardStatus:
          description: Gift card status
          enum:
            - PENDING_ACTIVATION
            - ACTIVE
            - FAILED
          example: ACTIVE
          type: string
      type: object
    amountInCurrencyResource:
      type: object
      description: Amount in currency  details
      properties:
        currency:
          type: string
          description: Currency in ISO-4217
          example: USD
        group:
          type: string
          description: 'Customer defined function name which uses this currency. '
          example: SHOPPER
        amount:
          type: number
          format: double
          description: Amount in currency
          example: 123.45
      required:
        - currency
        - group
  headers:
    xFabricRequestIdResponseHeader:
      description: Unique request ID
      example: 263e731c-45c8-11ed-b878-0242ac120002
      required: false
      schema:
        type: string
  securitySchemes:
    authorization:
      bearerFormat: JWT
      scheme: bearer
      type: http

````