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

# Queue Product

> A `POST` to the `/products/queue` endpoint allows your application to create a Product by adding to the process queue.

# What happens when a product is queued?

The main difference between this endpoint and [Add Product](ref:storeproduct)
is queuing a product adds the product request to a batch processing queue.
The response time for this request is much faster than an Add Product, as the job is submitted instantly.
The payload required for this endpoint is identical to the [Add Product](ref:storeproduct) endpoint.

In addition to the above, this endpoint includes the same functionality as [Create or Update a Product](/api-reference/product/update-or-create-product), where an existing product is searched by `external_id` which will update the product if found. If no existing product is found, the product is created instead. Product variants follow the same logic, but with their `sku` instead

<Warning>
  **Queued products may not be created instantly**

  The processing time of products submitted to the queue is subject to the other jobs within the queue. The response will contain no data relating to the product. A `product.created` or `product.updated` event will be triggered as each product is processed. Developers can use this to retrieve data relating to the submitted product.
</Warning>

# When to use Queue Product

Queueing is primarily used for batch importing products.
The Queue endpoint allows developers to submit high volumes of products for processing on a batch queue. This is usually done by the developer by looping through products on the external system, and sending them to the Queue Product endpoint.

# When not to use Queue Product

If response data is required after submitting the request to this endpoint. Queue Product will return a 200 response 'OK' with every successful submission. This will not contain any information about the submitted product. If response data is required for population on a website or internal system, use the [Add Product](ref:storeproduct) endpoint instead

If products need to be created immediately, this endpoint is not suitable. All products submitted via this endpoint are subject to the other jobs on the queue. Because of this, Omneo cannot guarantee the time of creation.


## OpenAPI

````yaml post /v3/products/queue
openapi: 3.1.0
info:
  title: Omneo
  version: 0.0.1
servers:
  - url: https://api.{tenant}.getomneo.com/api
    variables:
      tenant:
        default: example
security: []
paths:
  /v3/products/queue:
    post:
      tags:
        - Product
      summary: Queue Product
      description: >-
        A `POST` to the `/products/queue` endpoint allows your application to
        create a Product by adding to the process queue.
      operationId: product.queue
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StoreOrUpdateProductQueue'
      responses:
        '202':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: string
                    const: OK
                required:
                  - data
        '401':
          $ref: '#/components/responses/AuthenticationException'
        '403':
          $ref: '#/components/responses/AuthorizationException'
        '422':
          $ref: '#/components/responses/ValidationException'
components:
  schemas:
    StoreOrUpdateProductQueue:
      type: object
      properties:
        title:
          type: string
        handle:
          type: string
        external_id:
          type: string
        type:
          type:
            - string
            - 'null'
          enum:
            - appointment
            - simple
            - configurable
            - downloadable
            - gift
            - bundle
            - voucher
            - service
            - subscription
        status:
          type: string
          enum:
            - new
            - active
            - rundown
            - discontinued
            - ranged
            - deleted
            - archived
            - draft
        brand:
          type: string
        description:
          type:
            - string
            - 'null'
        web_url:
          type:
            - string
            - 'null'
        currency:
          type:
            - string
            - 'null'
        position:
          type: integer
        department:
          type:
            - string
            - 'null'
        meta:
          type:
            - array
            - 'null'
          items:
            type: string
        archive_existing_variants:
          type:
            - boolean
            - 'null'
        systems:
          type: array
          items:
            type: string
          minItems: 1
        channels:
          type: array
          items:
            type: string
          minItems: 1
        tags:
          type: array
          items:
            type: string
        images:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
              sort_order:
                type: integer
            required:
              - url
              - sort_order
        variants:
          type: array
          items:
            type: object
            properties:
              title:
                type:
                  - string
                  - 'null'
              external_id:
                type:
                  - string
                  - 'null'
              sku:
                type: string
              barcode:
                type:
                  - string
                  - 'null'
              description:
                type:
                  - string
                  - 'null'
              available_quantity:
                type:
                  - integer
                  - 'null'
              price:
                type: number
              price_discounted:
                type:
                  - number
                  - 'null'
              price_comparison:
                type:
                  - number
                  - 'null'
              price_cost:
                type:
                  - number
                  - 'null'
              position:
                type:
                  - integer
                  - 'null'
              tags:
                type: array
                items:
                  type: string
                minItems: 1
              images:
                type: array
                items:
                  type: object
                  properties:
                    url:
                      type: string
                    sort_order:
                      type:
                        - integer
                        - 'null'
                  required:
                    - url
              options:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type:
                        - string
                        - 'null'
                    value:
                      type: string
                    sort_order:
                      type:
                        - integer
                        - 'null'
                  required:
                    - value
                minItems: 1
            required:
              - sku
          minItems: 1
        custom_fields:
          type: array
          items:
            type: object
            properties:
              namespace:
                type: string
              handle:
                type: string
              type:
                type: string
                enum:
                  - string
                  - integer
                  - float
                  - boolean
                  - json
                  - array
              value:
                type:
                  - string
                  - 'null'
            required:
              - namespace
              - handle
              - type
      required:
        - external_id
      title: StoreOrUpdateProductQueue
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    AuthorizationException:
      description: Authorization error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
    ValidationException:
      description: Validation error
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Errors overview.
              errors:
                type: object
                description: A detailed description of each field that failed validation.
                additionalProperties:
                  type: array
                  items:
                    type: string
            required:
              - message
              - errors

````