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

# Get product by ID

> Retrieve a single product by ID



## OpenAPI

````yaml /api-reference/v2/openapi.json get /products/{id}
openapi: 3.1.0
info:
  title: Clopos Open API v2
  description: >-
    The **Clopos Open API v2** provides secure and unified access to the Clopos
    ecosystem, enabling seamless integration of POS, ordering, payments, and
    restaurant management services.
  contact:
    email: dev@clopos.com
  version: 2.0.0
  license:
    name: ''
servers:
  - url: https://integrations.clopos.com/open-api/v2
    description: '**Base Url**'
security:
  - xToken: []
tags:
  - name: Authentication
  - name: Venues
  - name: Users
  - name: Customers
  - name: Menu
  - name: Stations
  - name: Products
  - name: Price Lists
  - name: Sales
  - name: Orders
  - name: Receipts
paths:
  /products/{id}:
    get:
      tags:
        - Products
      summary: Get product by ID
      description: Retrieve a single product by ID
      operationId: getProductV2
      parameters:
        - name: id
          in: path
          description: Product ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Product retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
        '404':
          description: Product not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Product:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
          enum:
            - GOODS
            - DISH
            - TIMER
            - PREPARATION
            - INGREDIENT
            - MODIFICATION
        name:
          type: string
        full_name:
          type: string
        status:
          type: integer
        price:
          type: number
        cost_price:
          type: number
        has_modifications:
          type: boolean
        modifications:
          type: array
          items:
            $ref: '#/components/schemas/Modification'
        modificator_groups:
          type: array
          items:
            $ref: '#/components/schemas/ModificatorGroup'
        recipe:
          type: array
          items:
            $ref: '#/components/schemas/RecipeItem'
        packages:
          type: array
          items:
            $ref: '#/components/schemas/Package'
        setting:
          $ref: '#/components/schemas/TimerSetting'
          nullable: true
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/Tax'
        tags:
          type: array
          items:
            type: object
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
        message:
          type: string
        details:
          type: object
    Modification:
      type: object
      properties:
        id:
          type: integer
        parent_id:
          type: integer
        type:
          type: string
          enum:
            - MODIFICATION
        name:
          type: string
        price:
          type: number
        cost_price:
          type: number
        barcode:
          type: string
          nullable: true
        full_name:
          type: string
        status:
          type: integer
    ModificatorGroup:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        type:
          type: integer
        min_select:
          type: integer
        max_select:
          type: integer
        modificators:
          type: array
          items:
            $ref: '#/components/schemas/Modificator'
    RecipeItem:
      type: object
      properties:
        id:
          type: integer
        type:
          type: string
          enum:
            - PREPARATION
            - INGREDIENT
            - DISH
        name:
          type: string
        cost_price:
          type: number
        pivot:
          type: object
          properties:
            gross:
              type: string
    Package:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        equal:
          type: integer
    TimerSetting:
      type: object
      properties:
        interval:
          type: integer
        prices:
          type: array
          items:
            type: object
            properties:
              price:
                type: number
              from:
                type: integer
    Tax:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        rate:
          type: number
    Modificator:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        price:
          type: number
        cost_price:
          type: number
        max_count:
          type: integer
        status:
          type: boolean
        ingredient:
          $ref: '#/components/schemas/Product'
          nullable: true
  securitySchemes:
    xToken:
      type: apiKey
      in: header
      name: x-token
      description: JWT access token obtained from /v2/auth endpoint

````