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

# List Replenishment Tasks

> Returns durable Replenishment tasks for one Warehouse. Client Bearer tokens see only Products
in their Merchant Website and allowed Warehouses. Results use bounded keyset pagination; the
maximum `limit` is 500. Quantity fields are read-only snapshots in replenished Product units.



## OpenAPI

````yaml GET /v1/inventory/warehouses/{id}/replenishment-tasks
openapi: 3.0.3
info:
  title: ShipStream
  version: '1.0'
  license:
    name: Commercial (Copyright 2025 - All Rights Reserved)
    url: https://shipstream.io
  contact:
    name: ShipStream Support
    email: help@shipstream.io
  termsOfService: https://shipstream.io/legal/api-terms/
servers:
  - url: https://{base_url_domain}/api/global
    description: Direct API Url
    variables:
      base_url_domain:
        default: example.shipstream.app
        description: >-
          The fully qualified domain name for your ShipStream WMS instance. This
          is either a custom domain, or a subdomain of shipstream.app,

          and will be the same as the domain name for the page which you use to
          login to ShipStream WMS.
security:
  - ShipStream_bearerAuth: []
tags:
  - name: Warehouses
    x-displayName: Warehouses
  - name: Products
    x-displayName: Products
  - name: ProductProfiles
    x-displayName: ProductProfiles
  - name: HandlingClasses
    x-displayName: HandlingClasses
  - name: Locations
    x-displayName: Locations
  - name: LocationOccupancies
    x-displayName: LocationOccupancies
  - name: LocationTags
    x-displayName: LocationTags
  - name: SlotTypes
    x-displayName: SlotTypes
  - name: Levels
    x-displayName: Levels
  - name: HoldReasons
    x-displayName: HoldReasons
  - name: Holds
    x-displayName: Holds
  - name: Replenishment
    x-displayName: Replenishment
  - name: LocationProfiles
    x-displayName: LocationProfiles
  - name: SlottingRules
    x-displayName: SlottingRules
  - name: PickingBatches
    x-displayName: PickingBatches
  - name: Deliveries
    description: Every thing about a Delivery Receiving
    x-displayName: Deliveries
  - name: Shipments
    x-displayName: Shipments
  - name: Orders
    x-displayName: Orders
  - name: Retailers
    x-displayName: Retailers
  - name: Users
    x-displayName: Users
  - name: User Roles
    x-displayName: User Roles
  - name: Merchants
    x-displayName: Merchants
  - name: Healthcheck
    x-displayName: Healthcheck
paths:
  /v1/inventory/warehouses/{id}/replenishment-tasks:
    get:
      tags:
        - Replenishment
      summary: List Replenishment Tasks
      description: >-
        Returns durable Replenishment tasks for one Warehouse. Client Bearer
        tokens see only Products

        in their Merchant Website and allowed Warehouses. Results use bounded
        keyset pagination; the

        maximum `limit` is 500. Quantity fields are read-only snapshots in
        replenished Product units.
      operationId: getReplenishmentTasks
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
            format: int32
          description: Warehouse identity.
        - name: filter
          in: query
          required: false
          schema:
            type: array
            items:
              type: string
          description: >-
            Filter by `id`, `product_id`, `sku`, `lane_id`, `trigger_code`,
            `task_kind`, `status`, `integrity_status`, `created_at`, or
            `updated_at`; at most ten filters are accepted.
        - name: sort
          in: query
          required: false
          schema:
            type: string
            enum:
              - id
              - '-id'
              - created_at
              - '-created_at'
              - updated_at
              - '-updated_at'
          description: >-
            Sort results by one field (prefix with `-` for descending); the task
            identity breaks ties:
              - `id`
              - `created_at`
              - `updated_at`
        - $ref: '#/components/parameters/Inventory_API_v1_count'
        - $ref: '#/components/parameters/Inventory_API_v1_cursor_end'
        - $ref: '#/components/parameters/Inventory_API_v1_cursor_start'
        - name: limit
          in: query
          description: Maximum number of tasks to return.
          style: form
          schema:
            type: integer
            example: 100
            default: 100
            minimum: 1
            maximum: 500
      responses:
        '200':
          description: Bounded collection of scoped Replenishment tasks.
          content:
            application/json:
              schema:
                type: object
                properties:
                  collection:
                    type: array
                    description: Replenishment tasks matching the request.
                    items:
                      $ref: '#/components/schemas/Inventory_API_v1_ReplenishmentTask'
                  has_more:
                    $ref: '#/components/schemas/Inventory_API_v1_has_more'
                  next:
                    $ref: '#/components/schemas/Inventory_API_v1_next'
                  previous:
                    $ref: '#/components/schemas/Inventory_API_v1_previous'
                  included:
                    type: object
                    description: Empty relationship expansion dictionary.
                  meta:
                    $ref: '#/components/schemas/Inventory_API_v1_meta'
        '400':
          $ref: '#/components/responses/Inventory_API_v1_400-bad-request'
        '404':
          $ref: '#/components/responses/Inventory_API_v1_404-not-found'
        '500':
          $ref: '#/components/responses/Inventory_API_v1_500-internal-server-error'
components:
  parameters:
    Inventory_API_v1_count:
      name: count
      in: query
      description: >-
        If specified as `1`, the `meta.count` property of the response will be
        present and populated with the total count of items

        matching the query before any paging is applied. This is not included by
        default to improve performance in some edge

        cases and is not required to perform paging using the `next` property of
        the response.

        See [paging parameters](/global-api/paging-parameters) for more
        information.
      style: form
      schema:
        type: integer
        minimum: 0
        maximum: 1
    Inventory_API_v1_cursor_end:
      name: cursor_end
      in: query
      description: >-
        A cursor for use in pagination which defines the end of the next page of
        results, non-inclusive.

        For collections sorted by `id` this is the last `id`. For other sort
        orders use the

        opaque cursor provided by the `previous` link and `meta.cursor_end` of
        the previous page;

        a plain record `id` is also accepted and resolves to that record's
        position in the sort order.

        See [paging parameters](/global-api/paging-parameters) for more
        information on paging.
      schema:
        oneOf:
          - type: integer
          - type: string
      style: form
    Inventory_API_v1_cursor_start:
      name: cursor_start
      in: query
      description: >-
        A cursor for use in pagination which defines the start of the next page
        of results.

        For collections sorted by `id` this is the starting `id`. For other sort
        orders use the

        opaque cursor provided by the `next` link and `meta.cursor_start` of the
        previous page;

        a plain record `id` is also accepted and resolves to that record's
        position in the sort order.

        See [paging parameters](/global-api/paging-parameters) for more
        information on paging.
      schema:
        oneOf:
          - type: integer
          - type: string
      style: form
  schemas:
    Inventory_API_v1_ReplenishmentTask:
      title: ReplenishmentTask
      type: object
      description: >-
        Durable, read-only snapshot of Replenishment work. Quantity fields are
        expressed in the

        replenished Product's units. In Product quanta at the applicable LCM,
        `qty_planned_total`

        equals the sum of unpicked, custody, placed, canceled, short/exception,
        and externally

        satisfied quantities. Independently rounded decimal fields may not sum
        exactly. Mutations use the

        `task_revision` and `claim_lease_version` compare-and-swap values.
      properties:
        type:
          type: string
          enum:
            - ReplenishmentTask
          readOnly: true
          description: Resource type.
        id:
          type: integer
          format: int64
          readOnly: true
          description: Stable task identity.
        warehouse_id:
          type: integer
          format: int32
          readOnly: true
          description: Owning Warehouse identity.
        product_id:
          type: integer
          format: int32
          readOnly: true
          description: Replenished Product identity.
        sku:
          type: string
          readOnly: true
          description: Current Product SKU.
        lane_id:
          type: integer
          format: int32
          readOnly: true
          description: Replenishment Lane identity captured by the task.
        lane_code:
          type: string
          readOnly: true
          description: Current Lane code.
        lane_name:
          type: string
          readOnly: true
          description: Current Lane name.
        policy_id:
          type: integer
          format: int32
          nullable: true
          readOnly: true
          description: Policy identity, or `null` for policy-independent work.
        trigger_code:
          type: string
          enum:
            - emergency
            - min
            - top_off
            - manual
            - reslot
          readOnly: true
          description: >-
            Current task urgency. A manual request may become Emergency without
            changing its original request.
        is_manual:
          type: boolean
          readOnly: true
          description: >-
            Whether the task originates from a manual request, including after
            an Emergency promotion. The original requested quantity remains in
            `qty_required_at_creation`.
        task_kind:
          type: string
          enum:
            - replenishment
            - reslot
          readOnly: true
          description: Task coordination kind.
        status:
          type: string
          enum:
            - pending
            - deferred
            - released
            - picking
            - placing
            - exception
            - completed
            - canceled
          readOnly: true
          description: Authoritative lifecycle status.
        task_revision:
          type: integer
          minimum: 1
          readOnly: true
          description: Monotonic task compare-and-swap revision.
        integrity_status:
          type: string
          enum:
            - healthy
            - blocked
          readOnly: true
          description: >-
            Reconciliation gate; blocked tasks reject mutations except
            supervisor cancellation of unclaimed, physically empty work.
        qty_required_at_creation:
          type: number
          minimum: 0
          readOnly: true
          description: Immutable quantity required when the task was created.
        qty_planned_total:
          type: number
          minimum: 0
          readOnly: true
          description: Conserved quantity assigned to task outcomes.
        qty_unpicked_open:
          type: number
          minimum: 0
          readOnly: true
          description: Planned quantity not yet moved into custody.
        qty_in_custody:
          type: number
          minimum: 0
          readOnly: true
          description: Quantity represented by the linked Relocation custody.
        qty_placed:
          type: number
          minimum: 0
          readOnly: true
          description: Quantity placed at a planned destination.
        qty_canceled_unpicked:
          type: number
          minimum: 0
          readOnly: true
          description: Unpicked quantity removed by cancellation.
        qty_short_or_exception:
          type: number
          minimum: 0
          readOnly: true
          description: Quantity completed short or routed to exception.
        qty_satisfied_externally:
          type: number
          minimum: 0
          readOnly: true
          description: >-
            Quantity satisfied by a typed external placement such as direct
            receipt.
        move_multiple_qty_snapshot:
          type: number
          exclusiveMinimum: true
          minimum: 0
          readOnly: true
          description: Immutable executable UOM multiple in replenished Product units.
        lcm_snapshot:
          type: integer
          minimum: 1
          readOnly: true
          description: >-
            Product quantity precision denominator when the task was created.
            Task quantities follow the Product's current precision while the
            task is open.
        uom_source_snapshot:
          type: string
          enum:
            - quantity_bom
            - explicit_multiple
            - whole_unit
            - unit_level
          readOnly: true
          description: >-
            Immutable source of the task's move unit: `quantity_bom` for a
            confirmed quantity-BOM UOM Product, `explicit_multiple` for a Move
            Multiple on the Product's replenishment override, `unit_level` for
            the one Product of the replenished Product's quantity family
            declared at the Policy's Move In level (converted to the replenished
            Product's units), or `whole_unit` for one whole unit of the
            replenished Product when neither applies, with or without a
            replenishment override.
        uom_product_id_snapshot:
          type: integer
          format: int32
          nullable: true
          readOnly: true
          description: >-
            The UOM Product of a `quantity_bom` or `unit_level` move unit, or
            `null` for the other sources.
        resolver_version:
          type: integer
          minimum: 1
          readOnly: true
          description: Immutable resolver-semantics version.
        confirmed_revision:
          type: integer
          minimum: 1
          nullable: true
          readOnly: true
          description: Immutable operator-confirmed configuration revision when applicable.
        relocation_id:
          type: integer
          format: int64
          nullable: true
          readOnly: true
          description: Linked Relocation custody identity after claim.
        claim_owner_requester_id:
          type: integer
          format: int32
          nullable: true
          readOnly: true
          description: Current claim owner requester identity.
        claim_lease_version:
          type: integer
          minimum: 0
          readOnly: true
          description: Monotonic claim lease compare-and-swap version.
        created_at:
          type: string
          format: date-time
          readOnly: true
          description: UTC task creation time.
        released_at:
          type: string
          format: date-time
          nullable: true
          readOnly: true
          description: UTC first-release time, or `null` before release.
        started_at:
          type: string
          format: date-time
          nullable: true
          readOnly: true
          description: UTC first-execution time, or `null` before execution.
        completed_at:
          type: string
          format: date-time
          nullable: true
          readOnly: true
          description: UTC completion time, or `null` before completion.
        canceled_at:
          type: string
          format: date-time
          nullable: true
          readOnly: true
          description: UTC cancellation time, or `null` when not canceled.
        updated_at:
          type: string
          format: date-time
          readOnly: true
          description: UTC latest task mutation time.
        exception_at:
          type: string
          format: date-time
          nullable: true
          readOnly: true
          description: >-
            First custody exception transition time; heartbeat does not change
            it.
        exception_overdue:
          type: boolean
          readOnly: true
          description: >-
            True while in exception for at least four hours. Physical custody
            remains open.
        allowed_actions:
          type: array
          readOnly: true
          items:
            type: string
            enum:
              - cancel
          description: >-
            Actions currently allowed by task status and integrity state;
            authorization is still required.
      required:
        - type
        - id
        - warehouse_id
        - product_id
        - sku
        - lane_id
        - lane_code
        - lane_name
        - trigger_code
        - task_kind
        - status
        - task_revision
        - integrity_status
        - qty_required_at_creation
        - qty_planned_total
        - qty_unpicked_open
        - qty_in_custody
        - qty_placed
        - qty_canceled_unpicked
        - qty_short_or_exception
        - qty_satisfied_externally
        - move_multiple_qty_snapshot
        - lcm_snapshot
        - uom_source_snapshot
        - resolver_version
        - claim_lease_version
        - created_at
        - updated_at
        - allowed_actions
      additionalProperties: false
    Inventory_API_v1_has_more:
      type: boolean
      description: |-
        True if the collection has more items on the next page.
        Use the "next" link to retrieve the next page of results.
    Inventory_API_v1_next:
      type: string
      nullable: true
      description: The resource path for the next page of results if any are expected.
    Inventory_API_v1_previous:
      type: string
      nullable: true
      description: The resource path for the previous page of results if any are expected.
    Inventory_API_v1_meta:
      type: object
      properties:
        processing_time:
          type: number
          description: Total time in which request is processed and response is sent back.
          example: 0.2525252525
        cursor_start:
          description: >-
            A `cursor_start` value which resumes the results on the next page:
            the starting `id`

            for collections sorted by `id`, otherwise an opaque cursor bound to
            the requested sort.

            See [paging parameters](/global-api/paging-parameters) for more
            information on paging.
          oneOf:
            - type: integer
              nullable: true
            - type: string
        cursor_end:
          description: >-
            A `cursor_end` value which resumes the results on the previous page,
            non-inclusive: the

            last `id` for collections sorted by `id`, otherwise an opaque cursor
            bound to the requested sort.

            See [paging parameters](/global-api/paging-parameters) for more
            information on paging.
          oneOf:
            - type: integer
              nullable: true
            - type: string
        count:
          type: integer
          description: >-
            The total number of items matching the query before applying paging
            parameters.

            This field is only present if the query parameter `count=1` is
            present in the request.
      description: Additional metadata pertaining to the response.
  responses:
    Inventory_API_v1_400-bad-request:
      description: >-
        The request was invalid. The client must change the request. See the
        response body for more details.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      description: The error type code.
                      enum:
                        - parser
                        - parameters
                        - openapi
                    message:
                      type: string
                      description: An English sentence describing the error type.
                    details:
                      type: array
                      description: >-
                        An array of objects describing which keys are
                        responsible for the error and detailed messages
                        describing why they are not valid.
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            description: The path to the key which relates to the error.
                          message:
                            type: string
                            description: >-
                              An English sentence describing the details of the
                              error.
                        additionalProperties: false
                  additionalProperties: false
                minItems: 1
            additionalProperties: false
          example:
            errors:
              - type: parameters
                message: The supplied parameters are invalid.
    Inventory_API_v1_404-not-found:
      description: >-
        The requested resource was not found. It may have been deleted, it may
        have never existed, or you may not have permission to view it.
      content:
        application/json:
          schema:
            type: object
            properties:
              errors:
                type: array
                items:
                  type: object
                  properties:
                    type:
                      type: string
                      description: The error type code.
                      enum:
                        - not_found
                    message:
                      type: string
                      description: An English sentence describing the error type.
                    details:
                      type: array
                      description: >-
                        An array of objects describing which keys are
                        responsible for the error and detailed messages
                        describing why they are not valid.
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                            description: The path to the key which relates to the error.
                          message:
                            type: string
                            description: >-
                              An English sentence describing the details of the
                              error.
                        additionalProperties: false
                  additionalProperties: false
                minItems: 1
            additionalProperties: false
          example:
            errors:
              - type: not_found
                message: The server could not find the requested resource.
    Inventory_API_v1_500-internal-server-error:
      description: >-
        Internal Server Error - Something wrong happened at server side. Contact
        server administrator for more details.
  securitySchemes:
    ShipStream_bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Generate a JWT access token through a Custom Global Integration and
        provide it with each request in the `Authorization` header prefixed with
        "Bearer" and then a single space.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.