---
title: "Searches Product Estimated Times of Arrival by parameters"
url: "https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c/operations/get-producteta"
---

> Full API specification: https://developer.retailexpress.com.au/apis/retail-express-api-21-v2/versions/210b509a-613e-44ac-a87b-ef6c22c23a2c.md

# Searches Product Estimated Times of Arrival by parameters

`GET` `/producteta`

Operation ID: `get-producteta`

This method allows the retrieval of the next available ETA for a specific product. Either a Product ID or SKU is required, as well as either a Sales Channel ID or a Fulfilment Outlet ID. You can only retrieve a single ETA for a single product at a time. WARNING: This is a highly complex operation and will use considerable amounts of resource to generate the request.Please use this request sparingly and limit the number of calls. The ETA is derived from the Order of Sourcing Priority in the Source Group definition, any Purchase Orders in the Status “On-Order” and any available stock in the fulfilment outlet.If a product has Available Stock, the returned ETA date will be today’s date. If a product does not have available stock and would be sourced from a Purchase Order, the returned ETA date will be the ETA stored against the Purchase Order.<br /> Read more about Source & Fulfilment Concepts <a href="https://galaxy.maropost.com/s/article/Product-Source-and-Fulfilment-for-Web-Sales">here</a>. Using the 'available_for_preorder' Boolean set to TRUE, you can limit the ETA calculation to only the Purchase Orders that have been flagged as ‘Available for Preorder’ within Retail Express PO Management.<br /> WARNING: This Option is exclusive for users with the Retail Express Shopify Connector utilising Preorder Setting Option 2 "Accept Pre-Orders for On-Order Stock".

## Query parameters

- `product_id` (integer, int32, optional) - Product Id. Supplier SKU property are skipped, if used.
- `sku` (string, optional) - SKU. Product Id property are skipped, if used.
- `quantity_ordered` (integer, int32, optional) - Quantity ordered. Required and must be other than 0
- `fulfilment_outlet_id` (integer, int32, optional) - Fulfilment Outlet Id. Must be other than 0
- `sales_channel_id` (integer, int32, optional) - Sales channel Id
- `available_for_preorder` (boolean, optional) - Available for preorder
- `page_number` (integer, int32, optional)
- `page_size` (integer, int32, optional)

## Header parameters

- `x-api-key` (string, required) - Api subscription key
- `Cache-Control` (string, optional)
- `Authorization` (string, required) - Bearer token for authorization (e.g., Bearer <token>)

## Responses

- `200` - Paging Response with Product Estimated Times of Arrival data
- `400` - Bad request
- `401` - Unauthorized
- `403` - Forbidden

## OpenAPI definition

```yaml
openapi: 3.0.1
info:
  title: Retail Express API
  version: v2.1
servers:
  - url: https://api.retailexpress.com.au/v2.1
paths:
  /producteta:
    get:
      tags:
        - producteta
      summary: Searches Product Estimated Times of Arrival by parameters
      description: "This method allows the retrieval of the next available ETA for a
        specific product. Either a Product ID or SKU is required, as well as
        either a Sales Channel ID or a Fulfilment Outlet ID. You can only
        retrieve a single ETA for a single product at a time.\r

        \r

        WARNING: This is a highly complex operation and will use considerable
        amounts of resource to generate the request.Please use this request
        sparingly and limit the number of calls.\r

        \            \r

        The ETA is derived from the Order of Sourcing Priority in the Source
        Group definition, any Purchase Orders in the Status “On-Order” and any
        available stock in the fulfilment outlet.If a product has Available
        Stock, the returned ETA date will be today’s date. If a product does not
        have available stock and would be sourced from a Purchase Order, the
        returned ETA date will be the ETA stored against the Purchase Order.<br
        />\r

        Read more about Source & Fulfilment Concepts <a
        href=\"https://galaxy.maropost.com/s/article/Product-Source-and-Fulfilm\
        ent-for-Web-Sales\">here</a>.\r

        \            \r

        Using the 'available_for_preorder' Boolean set to TRUE, you can limit
        the ETA calculation to only the Purchase Orders that have been flagged
        as ‘Available for Preorder’ within Retail Express PO Management.<br />\r

        \r

        WARNING: This Option is exclusive for users with the Retail Express
        Shopify Connector utilising Preorder Setting Option 2 \"Accept
        Pre-Orders for On-Order Stock\"."
      operationId: get-producteta
      parameters:
        - name: product_id
          in: query
          description: Product Id. Supplier SKU property are skipped, if used.
          schema:
            type: integer
            description: Product Id. Supplier SKU property are skipped, if used.
            format: int32
            nullable: true
        - name: sku
          in: query
          description: SKU. Product Id property are skipped, if used.
          schema:
            type: string
            description: SKU. Product Id property are skipped, if used.
            nullable: true
        - name: quantity_ordered
          in: query
          description: Quantity ordered. Required and must be other than 0
          schema:
            type: integer
            description: Quantity ordered. Required and must be other than 0
            format: int32
        - name: fulfilment_outlet_id
          in: query
          description: Fulfilment Outlet Id. Must be other than 0
          schema:
            type: integer
            description: Fulfilment Outlet Id. Must be other than 0
            format: int32
            nullable: true
        - name: sales_channel_id
          in: query
          description: Sales channel Id
          schema:
            type: integer
            description: Sales channel Id
            format: int32
            nullable: true
        - name: available_for_preorder
          in: query
          description: Available for preorder
          schema:
            type: boolean
            description: Available for preorder
            nullable: true
        - name: page_number
          in: query
          schema:
            maximum: 100000
            minimum: 1
            type: integer
            format: int32
        - name: page_size
          in: query
          schema:
            maximum: 2147483647
            minimum: 1
            type: integer
            format: int32
        - name: x-api-key
          in: header
          description: Api subscription key
          required: true
          schema:
            type: string
        - name: Cache-Control
          in: header
          required: false
          schema:
            type: string
            default: no-cache
        - name: Authorization
          in: header
          required: true
          description: Bearer token for authorization (e.g., Bearer <token>)
          schema:
            type: string
      responses:
        "200":
          description: Paging Response with Product Estimated Times of Arrival data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProductETA.PagingResponse"
              example:
                data:
                  - product_id: 0
                    sku: string
                    quantity_ordered: 0
                    eta: string
                page_number: 0
                page_size: 0
                total_records: 0
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "401":
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProblemDetails"
              example:
                type: string
                title: string
                status: 0
                detail: string
                instance: string
security: []
components:
  schemas:
    ProductETA.PagingResponse:
      title: ""
      type: object
      properties:
        data:
          type: array
          items:
            $ref: "#/components/schemas/ProductETA"
          nullable: true
        page_number:
          type: integer
          format: int32
        page_size:
          type: integer
          format: int32
        total_records:
          type: integer
          format: int32
      additionalProperties: false
    ProblemDetails:
      title: ""
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    ProductETA:
      title: ""
      type: object
      properties:
        product_id:
          type: integer
          description: Product Id
          format: int32
          nullable: true
        sku:
          type: string
          description: Supplier SKU
          nullable: true
        quantity_ordered:
          type: integer
          description: Quantity Ordered
          format: int32
        eta:
          type: string
          description: Estimated Time of Arrival
          format: date-time
          nullable: true
      additionalProperties: false
      description: Product ETA model
```
