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

# Get product

> Returns a single product.



## OpenAPI

````yaml api-reference/openapi.json GET /api/v1/products/{productId}
openapi: 3.1.1
info:
  title: Noyax API
  description: Server-to-server API for integrations to access Noyax data.
  version: '1.0'
servers:
  - url: https://api.noyax.com
security:
  - Bearer: []
tags:
  - name: Sections
  - name: Warehouses
  - name: Product Critical Stock
  - name: Product groups
  - name: Product Parameter Definitions
  - name: Product Parameters
  - name: Product Prices
  - name: Products
  - name: Cities
  - name: Countries
  - name: Currencies
  - name: Districts
  - name: Shipment Definitions
  - name: Units
  - name: VAT rates
  - name: Customer Addresses
  - name: Customer Bank Accounts
  - name: Customer Definitions
  - name: Customer Group Members
  - name: Customer Links
  - name: Customer Parameters
  - name: Customer Representatives
  - name: Customers
  - name: Customer Statement
  - name: Customer Telephones
paths:
  /api/v1/products/{productId}:
    get:
      tags:
        - Products
      summary: Get product
      parameters:
        - name: productId
          in: path
          description: Product ID.
          required: true
          schema:
            type: string
            format: uuid
        - name: X-UserID
          in: header
          description: >-
            ID of the Noyax user the request is made on behalf of. Written to
            the audit fields of created, updated and deleted records.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-CompanyID
          in: header
          description: >-
            ID of the company. The user must be assigned to this company. All
            reads and writes are limited to this company.
          required: true
          schema:
            minimum: 1
            type: integer
            format: int32
        - name: X-PeriodID
          in: header
          description: >-
            ID of the accounting period. Optional for customer endpoints; if
            sent, it is written to created records.
          schema:
            minimum: 1
            type: integer
            format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataResultOfProductDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0201'
                Message: X-UserID header is required.
                Errors:
                  - Code: '0201'
                    Message: X-UserID header is required.
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0102'
                Message: Token has expired. Obtain a new token using the refresh token.
                Errors:
                  - Code: '0102'
                    Message: >-
                      Token has expired. Obtain a new token using the refresh
                      token.
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0110'
                Message: You do not have permission for this operation.
                Errors:
                  - Code: '0110'
                    Message: You do not have permission for this operation.
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '2000'
                Message: Product not found.
                Errors:
                  - Code: '2000'
                    Message: Product not found.
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResult'
              example:
                Success: false
                ResultCode: '0120'
                Message: Daily request limit (10000) exceeded.
                Errors:
                  - Code: '0120'
                    Message: Daily request limit (10000) exceeded.
components:
  schemas:
    DataResultOfProductDto:
      required:
        - Success
        - ResultCode
        - Data
      type: object
      properties:
        Success:
          type: boolean
          description: Whether the operation succeeded.
          example: true
        ResultCode:
          type: string
          description: >-
            "0000" on success. On failure, the code of the first error; all
            errors are listed in Errors.
          example: '0000'
        Message:
          type:
            - 'null'
            - string
          description: >-
            Error message when Success is false. Messages of all errors are
            joined into a single text.
        Data:
          $ref: '#/components/schemas/ProductDto'
    ErrorResult:
      type: object
      properties:
        Success:
          type: boolean
          description: Whether the operation succeeded.
          example: false
        ResultCode:
          type:
            - 'null'
            - string
          description: >-
            "0000" on success. On failure, the code of the first error; all
            errors are listed in Errors.
        Message:
          type:
            - 'null'
            - string
          description: >-
            Error message when Success is false. Messages of all errors are
            joined into a single text.
        Errors:
          type:
            - 'null'
            - array
          items:
            $ref: '#/components/schemas/ResultError'
          description: All errors with their codes. Only present when Success is false.
    ProductDto:
      type: object
      properties:
        Id:
          type: string
          description: Product ID.
          format: uuid
        UnitName:
          type:
            - 'null'
            - string
          description: Name of the main unit.
          example: ADET
        VatRate:
          type:
            - 'null'
            - integer
          description: VAT rate in percent, from the VAT rate definition.
          format: int32
          example: 20
        Code:
          type:
            - 'null'
            - string
          description: >-
            Required. Product code, unique within the company. Send "Next" to
            generate it from the "ÜRÜN" serial number definition (create only).
            At most 50 characters.
          example: URN-0001
        Name:
          type:
            - 'null'
            - string
          description: Required. Product name. At most 255 characters.
          example: VİDA 5X40 GALVANİZ
        UnitId:
          type:
            - 'null'
            - string
          description: Required. ID of the main unit from GET /api/v1/definitions/units.
          format: uuid
        Barcode:
          type:
            - 'null'
            - string
          description: Barcode of the main unit. At most 30 characters.
          example: '8690000000017'
        ProductType:
          type: integer
          description: >-
            Product type: 1 Raw material, 2 Semi-finished good, 3 Finished good,
            4 Commercial good, 5 Service. Defaults to 4.
          format: int32
          example: 4
        StockType:
          type: integer
          description: >-
            Stock type: 1 No stock tracking, 2 Stock tracking, 3 Lot, 4 FIFO, 5
            Serial, 6 LIFO, 7 FEFO. Defaults to 1.
          format: int32
          example: 2
        VatRateId:
          type:
            - 'null'
            - string
          description: ID of the VAT rate from GET /api/v1/definitions/vat-rates.
          format: uuid
        AdditionalTaxCode1:
          type:
            - 'null'
            - string
          description: Additional tax code 1. At most 15 characters.
        AdditionalTaxRate1:
          type: number
          description: Additional tax rate 1, in percent.
          format: double
        AdditionalTaxCode2:
          type:
            - 'null'
            - string
          description: Additional tax code 2. At most 15 characters.
        AdditionalTaxRate2:
          type: number
          description: Additional tax rate 2, in percent.
          format: double
        AdditionalTaxCode3:
          type:
            - 'null'
            - string
          description: Additional tax code 3. At most 15 characters.
        AdditionalTaxRate3:
          type: number
          description: Additional tax rate 3, in percent.
          format: double
        IsOutOfUse:
          type: boolean
          description: >-
            Whether the product is out of use. Out of use products are kept but
            are not offered in new records.
          example: false
        ManufacturerCode:
          type:
            - 'null'
            - string
          description: Manufacturer code. At most 50 characters.
        SupplierCode:
          type:
            - 'null'
            - string
          description: Supplier code. At most 50 characters.
        GroupDetailId1:
          type:
            - 'null'
            - string
          description: >-
            ID of a group 1 detail from GET /api/v1/products/groups. Group 1
            details never have a parent, so any of them can be selected.
          format: uuid
        GroupDetailId2:
          type:
            - 'null'
            - string
          description: >-
            ID of a group 2 detail. It must either have no parent or have
            GroupDetailId1 as its parent.
          format: uuid
        GroupDetailId3:
          type:
            - 'null'
            - string
          description: >-
            ID of a group 3 detail. It must either have no parent or have
            GroupDetailId2 as its parent.
          format: uuid
        GroupDetailId4:
          type:
            - 'null'
            - string
          description: >-
            ID of a group 4 detail. It must either have no parent or have
            GroupDetailId3 as its parent.
          format: uuid
        GroupDetailId5:
          type:
            - 'null'
            - string
          description: >-
            ID of a group 5 detail. It must either have no parent or have
            GroupDetailId4 as its parent.
          format: uuid
        ShelfNumber:
          type:
            - 'null'
            - string
          description: Shelf number. At most 20 characters.
          example: A-12
        Description:
          type:
            - 'null'
            - string
          description: Description. At most 255 characters.
        SerialNumberIndex:
          type: integer
          description: Serial number index used by serial tracking.
          format: int32
        ECommerceProductCode:
          type:
            - 'null'
            - string
          description: >-
            Product code used by the e-commerce integration. At most 50
            characters.
        IsFavourite:
          type: boolean
          description: Whether the product is marked as a favourite.
          example: false
        Gtip:
          type:
            - 'null'
            - string
          description: >-
            Customs tariff (GTIP) number, used on export invoices. At most 20
            characters.
          example: '7318159000'
        DeliveryTerm:
          type:
            - 'null'
            - string
          description: >-
            Delivery term code used on export invoices (Incoterms, e.g. EXW,
            FCA, CIF). At most 10 characters.
          example: EXW
        PackagingType:
          type:
            - 'null'
            - string
          description: Packaging type code used on export invoices. At most 10 characters.
          example: BX
        TransportMode:
          type: integer
          description: >-
            Transport mode used on export invoices: 0 none, 1 Maritime, 2 Rail,
            3 Road, 4 Air, 5 Post, 6 Multimodal, 7 Fixed transport installation,
            8 Inland waterway. This list is different from the TransportMode of
            shipment definitions.
          format: int32
          example: 3
        Brand:
          type:
            - 'null'
            - string
          description: Brand. At most 100 characters.
        Model:
          type:
            - 'null'
            - string
          description: Model. At most 100 characters.
        OriginCountryCode:
          type:
            - 'null'
            - string
          description: >-
            Country of origin code used on export invoices (ISO 3166-1 alpha-2).
            At most 10 characters.
          example: TR
    ResultError:
      required:
        - Code
        - Message
      type: object
      properties:
        Code:
          type: string
          description: Error code. See the result codes page for the full list.
        Message:
          type: string
          description: Error description.
  securitySchemes:
    Bearer:
      type: http
      description: Access token obtained from the Noyax auth service with your API key.
      scheme: bearer
      bearerFormat: JWT

````