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

# Filter shipments

> Gets shipment details based on filter criteria



## OpenAPI

````yaml oms_v2_combined post /shipment/query
openapi: 3.0.1
info:
  title: Orders v2 (OMS v2)
  description: >-
    fabric's OMS v2 APIs are high performance endpoints are built on highly
    scalable architecture, and include a configurable data model to orchestrate
    the order fulfillment process. These APIs let merchants create order
    records, initiate post-order process workflows and manage order related data
    such as, invoicing, tracking, returns, exchange, cancellation, appeasements,
    backorders, shipment and other use cases.
  termsOfService: https://fabric.inc/terms-of-use
  contact:
    email: support@fabric.inc
  license:
    name: fabric API license
    url: https://fabric.inc/api-license
  version: 2.0.0
servers:
  - url: https://prod01.oms.fabric.inc/api/v2
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Allocation
    description: Endpoints to perform allocation operations
  - name: Appeasement
    description: >-
      Appeasement refers to a goodwill credit applied to a fulfilled order when
      customer faces difficulties for an order, for example late delivery,
      received damaged product, and like wise.  This endpoint help in creating
      appeasement for customer orders.
  - name: Package Tracking
    description: Package Tracking endpoint helps in performing package tracking operations
  - name: Payment Status
    description: This endpoint helps in retrieving payment status for an order
  - name: Order Cancellation
    description: These endpoints help in performing order cancellation operations
  - name: Order
    description: >-
      An order is a customer's request to purchase one or more products from a
      shop or from a website. Order endponts let merchants get order details,
      create, update, and delete orders.
  - name: Order Attribute
    description: These endpoints help in performing attribute operations for an order
  - name: Order Return
    description: These endpoints help in performing order Return operations
  - name: Cross Border
    description: >-
      Cross Border service provides capabilities related to orders that have
      international shipping. These endpoints help in performing cross border
      operations.
  - name: BackOrder PreOrder Reservation
    description: >-
      These Endpoints help in performing BackOrder PreOrder Reservation
      operations
  - name: Configuration
    description: >-
      These endpoints help in performing CRUD operations on tenant
      configurations
  - name: Target Configuration
    description: >-
      These endpoints help in performing CRUD operations on Target
      configurations
  - name: Fraud Configuration
    description: These endpoints help in performing CRUD operations on Fraud configurations
  - name: Fraud
    description: These endpoints help in managing fraud release and cancel operation
  - name: Export
    description: These endpoints help in performing export operations
  - name: Inventory Network
    description: >-
      Network refers to a group of locations having a group of SKUs in each
      location. Network endpoints let you read, create, and manage an
      inventory-network by location, brand, or any other custom attributes.
  - name: Inventory
    description: >-
      These endpoints let you read, create and bulk update inventory across all
      locations.
  - name: Inventory Upload Log
    description: These endpoints let you view the record of the inventory uploads.
  - name: Inventory Bulk Operation
    description: >-
      Bulk Operation endpoints let you upload and download inventory details, in
      bulk, using a  CSV file to and from AWS (Amazon Web Service) server
      presigned S3 URL that is generated from the Order service.
  - name: Inventory Attribute
    description: >-
      Attribute refers to a set of characteristics that define inventory.
      Attribute endpoints let you create, read, update, and delete inventory
      attributes at any hierarchy level (location, SKU, item, channel) or at
      counter level.
  - name: Inventory Counter
    description: >-
      Counter refers to inventory positions such as, available, in-transit,
      on-hand, or other custom positions. These endpoints let you read, update,
      and create custom counters that suit your business use case.
  - name: Invoice
    description: These endpoints help in generating the invoices
  - name: List
    description: To create and manage lists
  - name: Location
    description: Location endpoints let you create, read, update, and delete location.
  - name: Location Attribute
    description: >-
      Location attribute endpoints let you create, read, update, and delete
      location attributes. These location attributes are used while creating or
      updating locations. When the attribute is configured  as required, it is
      mandatory to add the attribute while creating location.
  - name: Shipment
    description: To provides real time update of shipments
  - name: Shipping Method
    description: Endpoints to perform operations related to shipping methods
  - name: Webhook
    description: >-
      These endpoints help in performing CRUD operations on webhook
      subscriptions
paths:
  /shipment/query:
    post:
      tags:
        - Shipment
      summary: Filter shipments
      description: Gets shipment details based on filter criteria
      operationId: getShipmentByQuery
      parameters:
        - $ref: '#/components/parameters/xSiteContent'
      requestBody:
        content:
          application/json:
            schema:
              required:
                - filters
              type: object
              properties:
                limit:
                  type: integer
                  description: >-
                    Ending record number (from the offset number) in the
                    response. When no value is provided, the default value is
                    100.
                  format: int32
                  example: 10
                  default: 10
                offset:
                  type: integer
                  description: >-
                    Starting number of the record (within the total number of
                    records) in the response. Offset is zero-based. That is, the
                    10th record is at offset 9 starting from the 0th record.
                    When no value is provided, the default value is 0
                  format: int64
                  example: 0
                  default: 0
                sortBy:
                  type: string
                  description: Sorting criteria based on item attributes
                  example: updatedAt
                  default: updatedAt
                sortDirection:
                  type: string
                  description: Sorting direction such as ascending or descending
                  example: desc
                  default: desc
                  enum:
                    - asc
                    - desc
                filters:
                  type: object
                  additionalProperties:
                    type: object
                    description: >-
                      JSON to do filter records. <br /> **Note** To filter
                      records json structure should be similar to target entity
                      structure i.e order, shipment etc.
                    example:
                      retail:
                        locationNum: 12
                      orderSubTotal:
                        gte: 1300
                        lt: 1400
                      orderNumber: order-*Z
                      statusCode:
                        - ORDER_CREATED
                      createdAt:
                        lt: '2022-09-11T23:12:00.123Z'
                      shipInfo:
                        shipToId:
                          - '23434'
                          - '23436'
                    default: {}
                  description: >-
                    JSON to do filtration of records. <br /> **Note** To filter
                    records json structure should be similar to target entity
                    structure i.e order, shipment etc.
                  example:
                    retail:
                      locationNum: 12
                    orderSubTotal:
                      gte: 1300
                      lt: 1400
                    orderNumber: order-*Z
                    statusCode:
                      - ORDER_CREATED
                    createdAt:
                      lt: '2022-09-11T23:12:00.123Z'
                    shipInfo:
                      shipToId:
                        - '23434'
                        - '23436'
                  default: {}
              description: Filter criteria
        required: true
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: integer
                    format: int64
                    example: 100
                  limit:
                    type: integer
                    format: int32
                    example: 10
                    description: >-
                      Ending record number (from the offset number) in the
                      response. When no value is provided, the default value is
                      100.
                  offset:
                    type: integer
                    format: int64
                    example: 1
                    description: >-
                      Starting number of the record (within the total number of
                      records) in the response. Offset is zero-based. That is,
                      the 10th record is at offset 9 starting from the 0th
                      record. When no value is provided, the default value is 0
                description: Pagination details
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                description: Error details
              example:
                message: Bad Request
        '404':
          description: Object Not Found!
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                description: Error details
              example:
                message: Object Not Found
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                description: Error details
              example:
                message: Internal Server Error
components:
  parameters:
    xSiteContent:
      name: x-site-context
      in: header
      description: >-
        The `x-site-context` header is a JSON object that contains information
        about the source you wish to pull from. The mandatory `account` is the
        24 character identifier found in Copilot. The `channel` (Sales channel
        ID), `stage` (environment name), and `date` attributes can be used to
        further narrow the scope of your data source.
      required: true
      schema:
        type: string
        example: >-
          {"date": "2023-01-01T00:00:00.000Z", "channel": 12, "account":
          "1234abcd5678efgh9ijklmno","stage":"production"}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````