Xentral Product API

Product represents the services or things given company sells in the business.

Operations 37

PATCH /api/v2/products Update multiple products V2 #
POST /api/v2/products Create product V2 #
GET /api/v2/products List products V2 #
POST /api/v1/products Create new product V1 #
GET /api/v1/products List products V1 #
PATCH /api/v1/products Update multiple products V1 #
DELETE /api/v1/products Delete multiple products #
GET /api/v1/products/{id} View product v1 #
PATCH /api/v1/products/{id} Update product v1 #
DELETE /api/v1/products/{id} Delete product #
GET /api/v1/products/{id}/media View media #
GET /api/v1/products/{id}/purchasePrices View purchase prices #
GET /api/v1/products/{id}/salesPrices View sales prices #
GET /api/v1/products/{id}/purchaseOrdersPositions View purchase orders positions #
GET /api/v1/products/{id}/salesOrdersPositions View sales orders positions #
GET /api/v1/products/{id}/productionsPositions View productions positions #
GET /api/v1/products/{id}/properties List product properties #
PATCH /api/v1/products/{id}/properties Update product properties #
GET /api/v1/products/{id}/reservations View reservations #
GET /api/v1/products/{id}/parts List parts #
POST /api/v1/products/{id}/parts Create parts v1 #
PATCH /api/v1/products/{id}/parts Update parts v1 #
DELETE /api/v1/products/{id}/parts Delete parts #
GET /api/v1/products/{id}/storageLocations View storage locations #
GET /api/v1/products/{id}/crossSelling List cross sellings #
POST /api/v1/products/{id}/crossSelling Create cross selling #
PATCH /api/v1/products/{id}/crossSelling Update cross selling #
DELETE /api/v1/products/{id}/crossSelling Delete cross selling #
GET /api/v1/products/{id}/stocks View stock details of a product #
GET /api/v1/products/{id}/texts List product texts #
GET /api/v2/products/{id} View product V2 #
PATCH /api/v2/products/{id} Update product v2 #
POST /api/v2/products/{id}/parts Create parts v2 #
PATCH /api/v2/products/{id}/parts Update parts v2 #
PATCH /api/v1/products/{id}/updateAccountMapping Update account mapping #
POST /api/v1/products/{id}/actions/createVariants Creates variants for a matrix product #
GET /api/v1/products/actions/identify Identify product #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/xentral-product-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

xentral-product-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Xentral Account Product API
  version: v0.1
  description: Xentral is an ERP platform.
  contact:
    name: Xentral
    url: https://xentral.com
    email: api@xentral.com
servers:
- url: https://{xentralId}.xentral.biz
  description: Your Xentral Instance
  variables:
    xentralId:
      default: xentral
- url: https://{domain}
  description: Xentral at a custom domain
  variables:
    domain:
      default: xentral.com
security:
- BearerAuth: []
tags:
- name: Product
  description: Product represents the services or things given company sells in the business.
paths:
  /api/v2/products:
    patch:
      tags:
      - Product
      operationId: product.updateMultipleV2
      summary: Update multiple products V2
      description: Update multiple products at once.
      requestBody:
        description: Updates multiple products at once.
        content:
          application/json:
            schema:
              type: array
              minItems: 1
              items:
                type: object
                additionalProperties: false
                properties:
                  id:
                    type: string
                    pattern: \d+
                    example: '17'
                    description: Resource identifier.
                  name:
                    type: string
                    description: Name of the product.
                    example: Shipping Discount Small
                  number:
                    type: string
                    description: Number / SKU of the product.
                    example: SKU123456
                  project:
                    description: Reference to another resource
                    type: object
                    additionalProperties: false
                    required:
                    - id
                    properties:
                      id:
                        type: string
                        pattern: \d+
                        example: '17'
                        description: Resource identifier.
                    example:
                      id: '1337'
                  description:
                    type:
                    - string
                    - 'null'
                    description: Description of the product.
                    example: This is a detailed description of the product.
                  internalComment:
                    type:
                    - string
                    - 'null'
                    description: Text only for internal information.
                    example: Handle with care; sensitive material.
                  shortDescription:
                    type:
                    - string
                    - 'null'
                    description: Short description of the product.
                    example: A compact and efficient shipping solution.
                  customsTariffNumber:
                    type:
                    - string
                    - 'null'
                    description: Customs tariff number of the product.
                    example: 1234.56.78
                  ean:
                    type:
                    - string
                    - 'null'
                    description: EAN of the product.
                    example: '1234567890123'
                  minimumOrderQuantity:
                    type: number
                    description: Numerical minimum order quantity of the product.
                    example: 10
                  minimumStorageQuantity:
                    type: number
                    description: Numerical minimum storage quantity of the product.
                    example: 5
                  allowPurchaseFromAllSuppliers:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  hasBatches:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  serialNumbersMode:
                    type: string
                    enum:
                    - disabled
                    - user
                    - product
                    - productAndWarehouse
                    description: 4 different modes available if the product has serial numbers or not and how they are handled. For more information about the different modes have a look into our handbook.
                    example: user
                  hasBestBeforeDate:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  hasBillOfMaterials:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  isAssembledJustInTime:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  isProductionProduct:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  isExternallyProduced:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  isDisabled:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  disabledReason:
                    type:
                    - string
                    - 'null'
                    description: Shows the reason why the product is locked when clicking into the product.
                    example: Product is out of stock.
                  hidePriceOnDocuments:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  ageRating:
                    type:
                    - string
                    - 'null'
                    enum:
                    - ''
                    - '16'
                    - '18'
                    description: Sets an age rating for the product. Currently only used for the shipping service provider DHL.
                    example: '18'
                  countryOfOrigin:
                    type:
                    - string
                    - 'null'
                    pattern: '[A-Z]{2}'
                    description: Two-digit ISO country code for country of origin of the product.
                    example: DE
                  unit:
                    type:
                    - string
                    - 'null'
                    description: Unit of the product.
                    example: Pack
                  measurements:
                    description: Measurements of the product.
                    type: object
                    additionalProperties: false
                    properties:
                      width:
                        x-description-missing: true
                        type: object
                        additionalProperties: false
                        required:
                        - value
                        - unit
                        properties:
                          value:
                            type: number
                            format: float
                          unit:
                            type: string
                            enum:
                            - cm
                            description: Currently only cm as unit allowed.
                        example:
                          value: 20
                          unit: cm
                      height:
                        x-description-missing: true
                        type: object
                        additionalProperties: false
                        required:
                        - value
                        - unit
                        properties:
                          value:
                            type: number
                            format: float
                          unit:
                            type: string
                            enum:
                            - cm
                            description: Currently only cm as unit allowed.
                        example:
                          value: 20
                          unit: cm
                      length:
                        x-description-missing: true
                        type: object
                        additionalProperties: false
                        required:
                        - value
                        - unit
                        properties:
                          value:
                            type: number
                            format: float
                          unit:
                            type: string
                            enum:
                            - cm
                            description: Currently only cm as unit allowed.
                        example:
                          value: 20
                          unit: cm
                      weight:
                        x-description-missing: true
                        type: object
                        additionalProperties: false
                        required:
                        - value
                        - unit
                        properties:
                          value:
                            type: number
                            format: float
                            example: 10.5
                          unit:
                            type: string
                            enum:
                            - kg
                            description: Currently only kg as unit allowed.
                            example: kg
                        example:
                          value: 20
                          unit: kg
                      netWeight:
                        x-description-missing: true
                        type: object
                        additionalProperties: false
                        required:
                        - value
                        - unit
                        properties:
                          value:
                            type: number
                            format: float
                            example: 10.5
                          unit:
                            type: string
                            enum:
                            - kg
                            description: Currently only kg as unit allowed.
                            example: kg
                        example:
                          value: 20
                          unit: kg
                    example:
                      width:
                        value: 20
                        unit: cm
                      height:
                        value: 10
                        unit: cm
                      length:
                        value: 30
                        unit: cm
                      weight:
                        value: 2
                        unit: kg
                      netWeight:
                        value: 1.5
                        unit: kg
                  manufacturer:
                    description: Information about the manufacturer of the product.
                    type: object
                    additionalProperties: false
                    properties:
                      name:
                        type:
                        - string
                        - 'null'
                        description: Name of the manufacturer.
                        example: Test Innovations
                      number:
                        type:
                        - string
                        - 'null'
                        description: Product number at the manufacturer.
                        example: TEST-987654
                      link:
                        type:
                        - string
                        - 'null'
                        description: URI of the manufacturer.
                        example: https://www.samplesite.com
                    example:
                      name: Test Innovations
                      number: AC12345
                      link: https://www.samplesite.com
                  isStockItem:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  isStockTakingDisabled:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  hideJustInTimeItemsOnDocuments:
                    description: Loose boolean type which accepts boolean, number 0 or 1 and string 'true' or 'false'
                    example: '''true'''
                    oneOf:
                    - type: boolean
                    - type: number
                      enum:
                      - 0
                      - 1
                    - type: string
                      enum:
                      - 'true'
                      - 'false'
                      - 'True'
                      - 'False'
                      - 'TRUE'
                      - 'FALSE'
                  salesTax:
                    type: string
                    enum:
                    - standard
                    - reduced
                    - free
                    description: Selection of three possible values for the sales tax of the product.
                    example: reduced
                  merchandiseGroup:
                    description: Reference to another resource
                    type: object
                    additionalProperties: false
                    required:
                    - id
                    properties:
                      id:
                        type: string
                        pattern: \d+
                        example: '17'
                        description: Resource identifier.
                    example:
                      id: '1337'
                  categories:
                    type: array
                    items:
                      type: object
                      additionalProperties: false
                      required:
                      - id
                      properties:
                        id:
                          type: string
                          pattern: \d+
                          example: '17'
                          description: Resource identifier.
                    example:
                    - id: '1'
                    - id: '2'
                  standardSupplier:
                    type:
                    - object
                    - 'null'
                    additionalProperties: false
                    required:
                    - id
                    properties:
                      id:
                        type:
                        - string
                        - 'null'
                        pattern: \d+
                        x-example-ignore: true
                        description: Nullable resource identifier
                    description: Reference to a standard supplier for this product
                    example:
                      id: '12345'
                  isShippingCostsProduct:
                    type: boolean
                    description: Determines if a product is used as a shipping costs product. For more information have a look into our handbook.
                    example: true
                  isMatrixProduct:
                    type: boolean
                    description: Determines if a product is a matrix product. For more information have a look into our handbook.
                    example: false
                  discount:
                    description: Discount settings of the product.
                    type: object
                    additionalProperties: false
                    properties:
                      isDiscountProduct:
                        type: boolean
                        description: Determines if a product is used as a discount. For more information have a look into our handbook.
                        example: true
                      discountPercentage:
                        type: number
                        format: float
                        description: Sets the discount value if the product is a discount. For more information have a look into our handbook.
                        example: 15.5
                    example:
                      isDiscountProduct: false
                      discountPercentage: 15.5
                  stockTaking:
                    type: object
                    additionalProperties: false
                    description: Contains settings for stock taking.
                    properties:
                      hasStockTakingValue:
                        type: boolean
                        description: Shows if the stock taking value should be used instead of the purchase price for stock taking.
                        example: true
                      stockTakingValue:
                        type: number
                        format: float
                        description: Shows the stock taking value for stock taking.
                        example: 100.75
                    example:
                      hasStockTakingValue: true
                      stockTakingValue: 100.75
                  calculatedPurchasePrice:
                    type: object
                    additionalProperties: false
                    description: Contains settings for the calculated purchase price.
                    properties:
                      hasCalculatedPurchasePrice:
                        type: boolean
                        description: Sets if the calculatedPurchasePrice should be used.
                        example: true
                      price:
                        description: Money object with amount and currency. If no currency is set, EUR is returned.
                        example:
                          amount: '13.37'
                          currency: EUR
                        type: object
                        additionalProperties: false
                        properties:
                          amount:
                            description: A string representing the amount
                            type: string
                            format: float
                          currency:
                            type: string
                            pattern: '[A-Z]{3}'
                            enum:
                            - EUR
                            - USD
                            - JPY
                            - BGN
                            - CZK
                            - DKK
                            - GBP
                            - HUF
                            - PLN
                            - RON
                            - SEK
                            - CHF
                            - ISK
                            - NOK
                            - HRK
                            - RUB
                            - TRY
                            - AUD
                            - BRL
                            - CAD
                            - CNY
                            - HKD
                            - IDR
                            - ILS
                            - INR
                            - KRW
                            - MXN
                            - MYR
                            - NZD
                            - PHP
                            - SGD
                            - THB
                            - ZAR
                            - ARS
                            - CLP
                            - SAR
                            - AED
                            - QAR
                            description: Currency matches one of currency values as specified in ISO-4217.
                            example: PLN
                    example:
                      hasCalculatedPurchasePrice: false
                      price:
                        amount: '100.00'
                        currency: EUR
                  calculatoryPurchasePriceSettings:
                    type: object
                    additionalProperties: false
                    description: Contains settings for the calculatory purchase price triggers.
                    properties:
                      addPurchasePriceToCalculationTriggers:
                        type:
                        - array
                        - 'null'
                        description: Define triggers that will add a purchase price to the product calculation.
                        items:
                          type: string
                          enum:
                          - onPurchaseOrderCompletion
                          - onGoodsReceipt
                        maxItems: 1
                        example:
                        - onPurchaseOrderCompletion
                      calculatoryPurchasePriceRecalculationTriggers:
                        type:
                        - array
                        - 'null'
                        description: Define triggers that will execute the calculatory purchase price recalculation.
                        items:
                          type: string
                          enum:
                          - onPurchaseOrderCompletion
                          - onGoodsReceipt
                        maxItems: 1
                        example:
                        - onPurchaseOrderCompletion
                      calculatoryPurchasePriceRecalculationMethod:
                        type:
                        - string
                        - 'null'
                        enum:
                        - allRecordedPurchasesWeightedAverage
                        - latestPurchaseOrdersWeightedAverage
                        - movingAverage
                        description: defines the calculation method or price recalculation
                        example: allRecordedPurchasesWeightedAverage
                    example:
                      addPurchasePriceToCalculationTriggers:
                      - onPurchaseOrderCompletion
                      calculatoryPurchasePriceRecalculationTriggers:
                      - onPurchaseOrderCompletion
                      calculatoryPurchasePriceRecalculationMethod: latestPurchaseOrdersWeightedAverage
                  regionOfOrigin:
                    type:
                    - string
                    - 'null'
                    enum:
                    - ''
                    - '01'
                    - '02'
                    - '03'
                    - '04'
                    - '05'
                    - '06'
                    - '07'
                    - 08
                    - 09
                    - '10'
                    - '11'
                    - '12'
                    - '13'
                    - '14'
                    - '15'
                    - '16'
                    - '99'
                    description: 01 - Schleswig-Holstein, 02 - Hamburg, 03 - Niedersachsen, 04 - Bremen, 05 - Nordhrein-Westfalen, 06 - Hessen, 07 - Rheinland-Pfalz, 08 - Baden-Württemberg, 09 - Bayern, 10 - Saarland, 11 - Berlin, 12 - Brandenburg, 13 - Mecklenburg-Vorpommern, 14 - Sachsen, 15 - Sachsen-Anhalt, 16 - Thüringen, 99 - foreign origin
                    example: '04'
                  salesChannel:
                    type: object
                    additionalProperties: false
                    description: General sales channel information that is valid for all sales channels, if not overridden by individual sales channel information.
                    properties:
                      description:
                        type: string
                        description: Description of the product for sales channels.
                        example: A high-quality product.
                      meta:
                        type: object
                        additionalProperties: false
                        description: Meta information for sales channels.
                        properties:
                          title:
                            type: string
                            description: Meta title of the product for sales channels.
                            example: Sample Product Title
                          description:
                            type: string
                            description: Meta description of the product for sales channels.
                            example: This product is designed for everyday use.
                          keywords:
                            type: string
                            description: Meta keywords of the product for sales channels.
                            example: product, products
                        example:
                          title: Sample Product Title
                          description: This product is designed for everyday use.
                          keywords: product, products
                      isStockNumberSyncActive:
                        type: boolean
                        description: Determines if the stock number synchronization to the sales channel is active.
                        example: true
                      isSoldOut:
                        type: boolean
                        description: Determines if the product is sold out.
                        example: true
                      isRemainingQuantity:
                        type: boolean
                        description: Determines if only the remaining quantity of the product is left.
                        example: true
                      isVisible:
                        type: boolean
                        description: This field was formerly called isVisibleInOnlineShops. Determines if a product is visible in all sales channels
                        example: true
                      suggestedRetailPrice:
                        type:
                        - string
                        - 'null'
                        format: float
                        description: This field was formerly called shopPriceDisplay. Sets the suggested retail price for sales channels. Only used by some online shops. For more information have a look into our handbook.
                        example: '25.99'
                      suggestedStockQuantity:
                        type: string
                        description: Sets the suggested stock quantity for all sales channels.
                        example: '100'
                      deliveryTime:
                        type: string
                        description: Sets the delivery time for all sales channels.
                        example: 1 week
                      createNewProductDuringImport:
                        type: boolean
                        description: Determines if a new product is generated during the sales order import from all sales channels.
                        example: true
                    example:
                      description: This is a product de

# --- truncated at 32 KB (1109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xentral/refs/heads/main/openapi/xentral-product-api-openapi.yml