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

# Get product by external id

> Returns product by its external identifier.



## OpenAPI

````yaml openapi/product-catalog-v1.json GET /v1/Products/{externalId}
openapi: 3.0.4
info:
  title: ProductCatalog.Api 1.0
  version: '1.0'
servers:
  - url: https://{host}/product-catalog
    description: Your Lobyco environment
    variables:
      host:
        default: your-environment.lobyco.net
        description: >-
          The API host for your Lobyco environment. Replace it with the host you
          were given — this placeholder does not resolve.
security: []
paths:
  /v1/Products/{externalId}:
    get:
      tags:
        - Products
      summary: Get product by external id
      description: Returns product by its external identifier.
      parameters:
        - name: externalId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: >-
                  #/components/schemas/ProductCatalog.Contracts.Response.ProductResponse
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ProductCatalog.Contracts.Response.ProductResponse
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/ProductCatalog.Contracts.Response.ProductResponse
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: >-
                  #/components/schemas/ProductCatalog.Contracts.Results.DataImportErrorResult
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ProductCatalog.Contracts.Results.DataImportErrorResult
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/ProductCatalog.Contracts.Results.DataImportErrorResult
components:
  schemas:
    ProductCatalog.Contracts.Response.ProductResponse:
      type: object
      properties:
        name:
          type: string
          description: Name of the product.
        externalId:
          type: string
          description: Identifier of the product in external system.
        hierarchyId:
          type: string
          description: Identifier of the hierarchy node the product belongs to.
        imageLink:
          type: string
          description: URL of the image associated with the entity.
          nullable: true
        eans:
          type: array
          items:
            type: string
          description: List of EANs associated with the product.
        brand:
          $ref: '#/components/schemas/ProductCatalog.Contracts.Common.ProductBrand'
        suppliers:
          type: array
          items:
            $ref: '#/components/schemas/ProductCatalog.Contracts.Common.Supplier'
          description: List of suppliers associated with the product.
          nullable: true
        saleUnit:
          type: string
          description: The unit in which the product is sold (e.g., piece, pack, box).
          nullable: true
        weightUnit:
          type: string
          description: The unit of weight measurement for the product (e.g., kg, g, lb).
          nullable: true
        unitOfMeasure:
          type: string
          description: >-
            The measurement unit used to quantify the product (e.g., liter,
            meter, piece).
          nullable: true
        unitsPerPiece:
          type: number
          description: The number of units contained in a single piece of the product.
          format: double
          nullable: true
        isWeightable:
          type: boolean
          description: Indicates if the product is sold by weight.
          nullable: true
        restrictions:
          type: array
          items:
            $ref: >-
              #/components/schemas/ProductCatalog.Contracts.Common.ProductRestrictionType
          description: >-
            List of restrictions (e.g., Age16, Age18, etc.) associated with the
            product.
        metadata:
          type: object
          additionalProperties: {}
          description: Additional metadata associated with the product.
          nullable: true
      additionalProperties: false
      description: Represents a product with associated details.
    ProductCatalog.Contracts.Results.DataImportErrorResult:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: >-
              #/components/schemas/LoopFoundation.Commons.Contracts.WebServiceError
      additionalProperties: false
      description: Class for integration with Data import service.
    ProductCatalog.Contracts.Common.ProductBrand:
      type: object
      properties:
        id:
          type: string
          description: Identifier of the brand
        name:
          type: string
          description: Name of the brand
      additionalProperties: false
      description: Represents product's brand.
    ProductCatalog.Contracts.Common.Supplier:
      type: object
      properties:
        id:
          type: string
          description: Identifier of the supplier
        name:
          type: string
          description: Name of the supplier
      additionalProperties: false
      description: Represents product's supplier.
    ProductCatalog.Contracts.Common.ProductRestrictionType:
      enum:
        - Age16
        - Age18
        - Age20
        - AlcoholOnElections
      type: string
      description: The restriction type applied to a product.
    LoopFoundation.Commons.Contracts.WebServiceError:
      required:
        - message
        - name
      type: object
      properties:
        name:
          minLength: 1
          type: string
        message:
          minLength: 1
          type: string
        details:
          nullable: true
      additionalProperties: false

````