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

# Get Replenishment Task

> Returns one scoped Replenishment task. Unknown and unauthorized task identities both return
`404`. Use `task_revision` and `claim_lease_version` for later mutation requests.



## OpenAPI

````yaml GET /v1/inventory/warehouses/{id}/replenishment-tasks/{task_id}
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/{task_id}:
    get:
      tags:
        - Replenishment
      summary: Get Replenishment Task
      description: >-
        Returns one scoped Replenishment task. Unknown and unauthorized task
        identities both return

        `404`. Use `task_revision` and `claim_lease_version` for later mutation
        requests.
      operationId: getReplenishmentTask
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
            format: int32
          description: Warehouse identity.
        - name: task_id
          in: path
          required: true
          schema:
            type: integer
            format: int64
            minimum: 1
          description: Replenishment task identity.
      responses:
        '200':
          description: Scoped Replenishment task.
          content:
            application/json:
              schema:
                type: object
                properties:
                  resource:
                    $ref: '#/components/schemas/Inventory_API_v1_ReplenishmentTask'
                  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:
  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_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.